默認
打賞 發表評論 1
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
一款用于P2P開發的NAT類型檢測工具 [附件下載]
閱讀(21667) | 評論(1 收藏4 淘帖1 2

前言


P2P技術的應用已經很廣泛了,比如IM應用中實時音視頻數據的網絡傳輸就是P2P技術,還有現在越來越熱的視頻直播技術,也同樣或多或少涉及到P2P技術。

作為網絡編程領域里的一項實用的應用技術,P2P的相關知識已經很普及(如果您對此尚有不解,請查閱本論壇的P2P技術系列文章:《P2P技術詳解(一):NAT詳解——詳細原理、P2P簡介》、《P2P技術詳解(二):P2P中的NAT穿越(打洞)方案詳解》、《P2P技術詳解(三):P2P技術之STUN、TURN、ICE詳解》)。P2P技術的實現基礎就是要首先突破NAT的限制(至于NAT的原理和對于P2P通信的限制,請詳見《P2P技術詳解(一):NAT詳解——詳細原理、P2P簡介》),而各路由設備廠商因為自家設備設備所采用的方案不同,導致NAT的類型并非一種:按照STUN協議(關于STUN協議請見《P2P技術詳解(三):P2P技術之STUN、TURN、ICE詳解》)中分類目前主要有4類,即:“Full cone NAT”、“Address-Restricted cone NAT”、“Port-Restricted cone NAT”、“Symmetric NAT(對稱NAT)”,具體各類型的區別將在下一節進行簡要介紹。

P2P技術的NAT穿越方案,需要針對上述的4種NAT類型使用不同的方案,才有可能打洞(穿墻)成功,而最在要緊的是,我該怎么知道目前某臺客戶端所處的路由屬于哪種NAT類型呢?于是,從牛們又總結出了像STUN、TURN、ICE這些NAT穿越成套解決方案(詳見《P2P技術詳解(三):P2P技術之STUN、TURN、ICE詳解》)。

而本文要介紹的工具,就是用于開發者在開發P2P技術時檢測某臺客戶機所屬的NAT類型的,從而輔助您進行P2P代碼的編寫。

NAT類型簡介


➀ Full cone NAT:
即著名的一對一(one-to-one)NAT。一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自iAddr:port1的包都經由eAddr:port2向外發送。任意外部主機都能通過給eAddr:port2發包到達iAddr:port1。

➁ Address-Restricted cone NAT:
限制地址,即只接收曾經發送到對端的IP地址來的數據包。一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自iAddr:port1的包都經由eAddr:port2向外發送。任意外部主機(hostAddr:any)都能通過給eAddr:port2發包到達iAddr:port1的前提是:iAddr:port1之前發送過包到hostAddr:any. "any"也就是說端口不受限制。

➂ Port-Restricted cone NAT:
類似受限制錐形NAT(Restricted cone NAT),但是還有端口限制。一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自iAddr:port1的包都經由eAddr:port2向外發送。一個外部主機(hostAddr:port3)能夠發包到達iAddr:port1的前提是:iAddr:port1之前發送過包到hostAddr:port3。

➃ Symmetric NAT(對稱NAT):
每一個來自相同內部IP與port的請求到一個特定目的地的IP地址和端口,映射到一個獨特的外部來源的IP地址和端口。同一個內部主機發出一個信息包到不同的目的端,不同的映射使用
外部主機收到了一封包從一個內部主機可以送一封包回來。

工具截圖


一款用于P2P開發的NAT類型檢測工具 [附件下載]_a.png

填入您的STUN服務器地址或域名,或者找到免費的STUN服務器(本論壇收集了目前最新的免費STUN服務器列表:《最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]》)。

附件下載


NAT路由檢測工具(52im.net).exe (567.43 KB , 下載次數: 246 , 售價: 2 金幣)

相關資源


[1] 截止2016/11/27日可用的免費STUN服務器列表:
最新收集NAT穿越(p2p打洞)免費STUN服務器列表

[2] 有關P2P技術的精選文章:
P2P技術詳解(一):NAT詳解——詳細原理、P2P簡介
P2P技術詳解(二):P2P中的NAT穿越(打洞)方案詳解
P2P技術詳解(三):P2P技術之STUN、TURN、ICE詳解

[3] 參考資料:
https://tools.ietf.org/html/rfc3489
https://tools.ietf.org/html/rfc5389
https://tools.ietf.org/html/rfc5766
https://tools.ietf.org/html/rfc7350

即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

標簽:P2P NAT
上一篇:最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]下一篇:兩款增強型Ping工具:持續統計、圖形化展式網絡狀況 [附件下載]

本帖已收錄至以下技術專輯

推薦方案
評論 1
哥搞p2p的時候要是能找到這個工具,就不用苦苦查資料了。。。。
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特