[問答] 行動網路的三向交握

作者: TEMU2000   2014-12-28 23:04:24
最近在開發APP應用,使用TCP Socket做Server與Client通訊
遇到了一些狀況,使用netcat搭配Wireshark來做測試
在Server沒有打開某個port的情況下
理論上發送SYN封包過去因該會被主機以RST,ACK回絕的
可是在中華3G/4G網路的情況下,居然可以正常建立Socket連線(SYN,ACK)
但無法進行任何互動
上網找資料找了很久,有看到一篇外國討論區文章提到電信公司可能會針對行動網路
自動對SYN封包回覆SYN,ACK,以節省網路負載量或防止port scan
請問有人遇到這種狀況嗎?
被這問題弄得蠻煩惱的...(Server根本沒開還可以成立連線)
PS:測試方式,在一般固網的環境使用nc連結某台主機某個未使用port應該會立即斷線
如果切到3G網路後nc卻不會直接斷線,就是這個狀況
作者: danny8376 (釣到一隻猴子@_@)   2014-12-29 00:43:00
也不一定會RST啊 防火牆也可能直接DROP到好奇你到底是要做甚麼 一定要收到RST
作者: TEMU2000   2014-12-29 13:29:00
我自己的Server目前是把防火牆關閉的,目前設計的程式如果連線失敗會嘗試別的伺服器,但如果遇到這種狀況就會卡在那邊了,設定timeout的話又會產生其他問題
作者: asdfghjklasd (好累的大一生活)   2014-12-29 16:09:00
簡單啊.不要看這個啊..只要沒看到data就換台
作者: TEMU2000   2014-12-29 18:37:00
這樣要設定timeout的是timeout太短在網路繁忙時會有問題timeout太長又會導致使用者等太久orz
作者: deadwood (T_T)   2014-12-29 20:28:00
判斷有沒有收到特定封包(能確認是server發的)應該可以吧
作者: asdfghjklasd (好累的大一生活)   2014-12-29 20:36:00
設2-3秒最多5秒

Links booklink

Contact Us: admin [ a t ] ucptt.com