過程和網上方法的差不多了,tcp打洞。
s-伺服器
a和b分別是在路由後面的機器,a想和b連線,a和b分別和伺服器建立乙個主連線用於通訊.....
a和伺服器的協助打洞套接字建立連線,讓伺服器知道nat-a轉換後的公網ip位址和埠等資訊。。。。。
b也和伺服器建立連線,讓伺服器知道nat-b轉換後的公網ip位址和埠等資訊,獲取後就關閉協助打洞連線
打洞是成功了,但是有一些小問題
1-a或者b同伺服器s的協助打洞套接字連線後,有乙個轉換後的埠,這個埠好像有週期性? 一段時間後就不能用了,就需要重新去同伺服器協助打洞連線來獲取新埠才能用,這個埠一般週期性是多久?
2-a和b第一次打洞完成後,比如協商的是埠3000,建立連線後,b再建立乙個監聽套接字,埠為5000,這個時候如果a用b的5000對應的網路埠去連線b,就不需要再通過打洞的步驟就可以建立連線,目前我測試的幾個路由器都可以,是不是絕大多數的路由器都可以這樣?
3-對於多重路由下的機器,好像網上的方法就不管用了,可以從多重路由下連線出去(當然還是要通過打洞方式),但是要連線進來就不可以,是路由器本身有限制還是多重路由需要其它的方式?
TCP打洞和UDP打洞
1,tcp協議通訊 現在有兩台電腦a和b。在 假設a的位址為 192.168.0.100 假設b的位址為 192.168.0.102 a想給b傳送乙個字串hello,如果a,b之間採用tcp協議,那麼b收到hello的過程是怎樣的呢?首先建立連線 3次握手成功之後,a和b的鏈結才算成功 然後a在給b...
TCP打洞技術
轉 建立穿越nat裝置的p2p的tcp連線只比udp複雜一點點,tcp協議的 打洞 從協議層來看是與udp 的 打洞 過程非常相似的。儘管如此,基於tcp協議的打洞至今為止還沒有被很好的理解,這也 造成了對其提供支援的nat裝置不是很多。在nat裝置支援的前提下,基於tcp的 打洞 技術實際上 與基...
TCP打洞技術
建立穿越nat裝置的p2p的tcp連線只比udp複雜一點點,tcp協議的 打洞 從協議層來看是與udp 的 打洞 過程非常相似的。儘管如此,基於tcp協議的打洞至今為止還沒有被很好的理解,這也 造成了對其提供支援的nat裝置不是很多。在nat裝置支援的前提下,基於tcp的 打洞 技術實際上 與基於u...