TCP實現P2P通信、TCP穿越NAT的方法、TCP打洞(轉載)
摘要: 這個標題用了兩個頓號三個名稱,其實說得是同一個東西,只是網上有不同的說法罷了,另外好像還有人叫TCP打孔(我的朋友小妞聽說后問“要打孔啊,要不要我幫你去借個電鉆過來啊?”“~!·¥%……·!”)。
閑話少說,我們先看一下技術背景:
Internet的迅速發展以及IPv4 地址數量的限制使得網絡地址翻譯(NAT,Network Address Trans2lation)設備得到廣泛應用。NAT設備允許處于同一NAT后的多臺主機共享一個公網(本文將處于同一NAT后的網絡稱為私網,處于NAT前的網絡稱為公網) IP 地址。一個私網IP 地址通過NAT設備與公網的其他
閱讀全文
什么叫打洞
摘要: 確切地說是穿透NAT,一般使用UDP協議,TCP協議也可以穿透,只是好像沒有UDP成功率高。
閱讀全文
STUN, STUNT, XSTUNT 介紹
摘要: STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP簡單穿越)是一種網絡協議,它允許位于NAT(或多重NAT)后的客戶端找出自己的公網地址,查出自己位于哪種類型的NAT之后以及NAT為某一個本地端口所綁定的Internet端端口。這些信息被用來在兩個同時處于NAT 路由器之后的主機之間建立UDP通信。該協議由RFC 3489定義
一旦客戶端得知了Internet端的UDP端口,通信就可以開始了。如果NAT是完全圓錐型的,那么雙方中的任何一方都可以發起通信。如果NAT是受限圓錐型或端口受限圓錐型,雙方必須一起開始傳輸。
閱讀全文