iT邦幫忙

0

IOT裝置發的Request偶發性不見

今天看到seadog007大大發的文章,提到

DNS使用UDP作為底層

Day 2 你打開 Google 中間所發生的事

想起一個陳年舊案::
我們的IOT硬體/韌體常抱怨Request發了,Server沒回覆,而我們從Server端的Log查不到任何紀錄IOT裝置發送Request的訊息,按照道理說TCP不僅三向交握還會掉包重送,硬體部門也有幾位高手他們說有實現沒收到回覆則反覆發送機制,IOT也校時過的,所以說原因其實出在DNS/FQDN這裡嗎? 硬體/韌體不肯給我們Log我們也只能用猜的(事實上我的義務已經結束了他們想給我還不想收),各位大大有甚麼看法?

harrytsai iT邦新手 3 級 ‧ 2020-09-24 14:01:06 檢舉
之前公司的做法是另外做一個後台來確定機器有送出bit,總不能只是在server上丟bit給自己的測試機確認沒問題
ted00132 iT邦新手 5 級 ‧ 2020-09-24 17:04:26 檢舉
有道理,但我們與硬體部門是分開運作(不在台灣),我們只有幾台測試機,且公司營收主要來自硬體單獨銷售...他們說話比較大聲

2 個回答

1
cmwang
iT邦大師 1 級 ‧ 2020-09-23 10:36:59
最佳解答

DNS一般是走UDP,所以client端要負責error handle,一般client端的DNS resolver看起來是10秒後retry,retry 3次後回error給上層的AP,IOT因為先天上受比較多限制,DNS resolver/AP是否有作好error handle啊??

ted00132 iT邦新手 5 級 ‧ 2020-09-23 18:38:36 檢舉

前東家IOT裝置全球佈署,網路環境確實異常複雜,偏偏網路又非電機學生核心科目非常可能是大大所說的狀況,當然我沒看過HW/FW的Code也不敢武斷說是

2
japhenchen
iT邦大師 1 級 ‧ 2020-09-23 11:12:21

那盡量用可被信賴的TCP甚至是HTTP request,取代射後不理的UDP或MAIL或MESSAGE

看更多先前的回應...收起先前的回應...

http甚至還能有LOG存在Server上,我用的IoT(樹莓派)就是走這條路徑在送回傳感器的數據,沒發生有傳沒到或有到沒傳的事

cmwang iT邦大師 1 級 ‧ 2020-09-23 12:15:20 檢舉

client端如果只知道server的FQDN,就要先透過DNS resolver作FQDN->IP解析才能建connection,再作資料傳輸,如果DNS resolver解不出IP的話,那在server端自然是啥都找不到了,所以說重點在client端的error handle啊....

DNS的事,可以直接改hosts檔,對IP連接,把你無法控制的事先排除掉,避免無法預期的事情發生

如果說到無法預期,要是發生在Device端的網路不通,那該問誰去?備援一條線要緊

ted00132 iT邦新手 5 級 ‧ 2020-09-23 18:43:48 檢舉

大大提出的確實是好解決方案,如果我有機會玩樹莓派就知道怎繞開這地雷了!

我要發表回答

立即登入回答