亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網管 > 互助交流 > 正文

NAT的四種類型及類型檢測

2020-10-21 19:23:46
字體:
來源:轉載
供稿:網友
考慮到UDP的無狀態特性,目前針對其的NAT實現大致可分為Full Cone、Restricted Cone、Port Restricted Cone和Symmetric NAT四種。值得指出的是,對于TCP協議而言,一般來說,目前NAT中針對TCP的實現基本上是一致的,其間并不存在太大差異,這是因為TCP協議本身 便是面向連接的,因此無需考慮網絡連接無狀態所帶來復雜性。

NAT(Network Address Translation,網絡地址轉換)是1994年提出的。當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和因特網上的主機通信(并不需要加密)時,可使用NAT方法。

這種方法需要在專用網連接到因特網的路由器上安裝NAT軟件。裝有NAT軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球IP地址。這樣,所有使用本地地址的主機在和外界通信時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網連接。

另外,這種通過使用少量的公有IP 地址代表較多的私有IP 地址的方式,將有助于減緩可用的IP地址空間的枯竭。在RFC 1632中有對NAT的說明。

用語定義

1.內部Tuple
:指內部主機的私有地址和端口號所構成的二元組,即內部主機所發送報文的源地址、端口所構成的二元組
2.外部Tuple:指內部Tuple經過NAT的源地址/端口轉換之后,所獲得的外部地址、端口所構成的二元組,即外部主機收到經NAT轉換之后的報文時,它所看到的該報文的源地址(通常是NAT設備的地址)和源端口
3.目標Tuple:指外部主機的地址、端口所構成的二元組,即內部主機所發送報文的目標地址、端口所構成的二元組

詳細釋義

1. Full Cone NAT
:所有來自同一 個內部Tuple X的請求均被NAT轉換至同一個外部Tuple Y,而不管這些請求是不是屬于同一個應用或者是多個應用的。除此之外,當X-Y的轉換關系建立之后,任意外部主機均可隨時將Y中的地址和端口作為目標地址 和目標端口,向內部主機發送UDP報文,由于對外部請求的來源無任何限制,因此這種方式雖然足夠簡單,但卻不那么安全

2. Restricted Cone NAT
: 它是Full Cone的受限版本:所有來自同一個內部Tuple X的請求均被NAT轉換至同一個外部Tuple Y,這與Full Cone相同,但不同的是,只有當內部主機曾經發送過報文給外部主機(假設其IP地址為Z)后,外部主機才能以Y中的信息作為目標地址和目標端口,向內部 主機發送UDP請求報文,這意味著,NAT設備只向內轉發(目標地址/端口轉換)那些來自于當前已知的外部主機的UDP報文,從而保障了外部請求來源的安 全性

3. Port Restricted Cone NAT
:它是Restricted Cone NAT的進一步受限版。只有當內部主機曾經發送過報文給外部主機(假設其IP地址為Z且端口為P)之后,外部主機才能以Y中的信息作為目標地址和目標端 口,向內部主機發送UDP報文,同時,其請求報文的源端口必須為P,這一要求進一步強化了對外部報文請求來源的限制,從而較Restrictd Cone更具安全性

4. Symmetric NAT
:這是一種比所有Cone NAT都要更為靈活的轉換方式:在Cone NAT中,內部主機的內部Tuple與外部Tuple的轉換映射關系是獨立于內部主機所發出的UDP報文中的目標地址及端口的,即與目標Tuple無關; 在Symmetric NAT中,目標Tuple則成為了NAT設備建立轉換關系的一個重要考量:只有來自于同一個內部Tuple 、且針對同一目標Tuple的請求才被NAT轉換至同一個外部Tuple,否則的話,NAT將為之分配一個新的外部Tuple;打個比方,當內部主機以相 同的內部Tuple對2個不同的目標Tuple發送UDP報文時,此時NAT將會為內部主機分配兩個不同的外部Tuple,并且建立起兩個不同的內、外部 Tuple轉換關系。與此同時,只有接收到了內部主機所發送的數據包的外部主機才能向內部主機返回UDP報文,這里對外部返回報文來源的限制是與Port Restricted Cone一致的。不難看出,如果說Full Cone是要求最寬松NAT UDP轉換方式,那么,Symmetric NAT則是要求最嚴格的NAT方式,其不僅體現在轉換關系的建立上,而且還體現在對外部報文來源的限制方面。

P2P的NAT研究
第一部分:NAT介紹
第二部分:NAT類型檢測

第一部分: NAT介紹
各種不同類型的NAT(according to RFC)
Full Cone NAT:
   內網主機建立一個UDP socket(LocalIP:LocalPort) 第一次使用這個socket給外部主機發送數據時NAT會給其分配一個公網(PublicIP:PublicPort),以后用這個socket向外面任何主機發送數據都將使用這對(PublicIP:PublicPort)。此外,任何外部主機只要知道這個(PublicIP:PublicPort)就可以發送數據給(PublicIP:PublicPort),內網的主機就能收到這個數據包
Restricted Cone NAT:
   內網主機建立一個UDP socket(LocalIP:LocalPort) 第一次使用這個socket給外部主機發送數據時NAT會給其分配一個公網(PublicIP:PublicPort),以后用這個socket向外面任何主機發送數據都將使用這對(PublicIP:PublicPort)。此外,如果任何外部主機想要發送數據給這個內網主機,只要知道這個(PublicIP:PublicPort)并且內網主機之前用這個socket曾向這個外部主機IP發送過數據。只要滿足這兩個條件,這個外部主機就可以用自己的(IP,任何端口)發送數據給(PublicIP:PublicPort),內網的主機就能收到這個數據包
Port Restricted Cone NAT:
    內網主機建立一個UDP socket(LocalIP:LocalPort) 第一次使用這個socket給外部主機發送數據時NAT會給其分配一個公網(PublicIP:PublicPort),以后用這個socket向外面任何主機發送數據都將使用這對(PublicIP:PublicPort)。此外,如果任何外部主機想要發送數據給這個內網主機,只要知道這個(PublicIP:PublicPort)并且內網主機之前用這個socket曾向這個外部主機(IP,Port)發送過數據。只要滿足這兩個條件,這個外部主機就可以用自己的(IP,Port)發送數據給(PublicIP:PublicPort),內網的主機就能收到這個數據包
Symmetric NAT:
    內網主機建立一個UDP socket(LocalIP,LocalPort),當用這個socket第一次發數據給外部主機1時,NAT為其映射一個(PublicIP-1,Port-1),以后內網主機發送給外部主機1的所有數據都是用這個(PublicIP-1,Port-1),如果內網主機同時用這個socket給外部主機2發送數據,第一次發送時,NAT會為其分配一個(PublicIP-2,Port-2), 以后內網主機發送給外部主機2的所有數據都是用這個(PublicIP-2,Port-2).如果NAT有多于一個公網IP,則PublicIP-1和PublicIP-2可能不同,如果NAT只有一個公網IP,則Port-1和Port-2肯定不同,也就是說一定不能是PublicIP-1等于 PublicIP-2且Port-1等于Port-2。此外,如果任何外部主機想要發送數據給這個內網主機,那么它首先應該收到內網主機發給他的數據,然后才能往回發送,否則即使他知道內網主機的一個(PublicIP,Port)也不能發送數據給內網主機,這種NAT無法實現UDP-P2P通信。

第二部:NAT類型檢測

前提條件:有一個公網的Server并且綁定了兩個公網IP(IP-1,IP-2)。這個Server做UDP監聽(IP-1,Port-1),(IP-2,Port-2)并根據客戶端的要求進行應答。

第一步:檢測客戶端是否有能力進行UDP通信以及客戶端是否位于NAT后?

客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器返回客戶端的IP和Port, 客戶端發送請求后立即開始接受數據包,要設定socket Timeout(300ms),防止無限堵塞. 重復這個過程若干次。如果每次都超時,無法接受到服務器的回應,則說明客戶端無法進行UDP通信,可能是防火墻或NAT阻止UDP通信,這樣的客戶端也就 不能P2P了(檢測停止)。
當客戶端能夠接收到服務器的回應時,需要把服務器返回的客戶端(IP,Port)和這個客戶端socket的 (LocalIP,LocalPort)比較。如果完全相同則客戶端不在NAT后,這樣的客戶端具有公網IP可以直接監聽UDP端口接收數據進行通信(檢 測停止)。否則客戶端在NAT后要做進一步的NAT類型檢測(繼續)。

第二步:檢測客戶端NAT是否是Full Cone NAT?

客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器用另一對(IP-2,Port-2)響應客戶端的請求往回 發一個數據包,客戶端發送請求后立即開始接受數據包,要設定socket Timeout(300ms),防止無限堵塞. 重復這個過程若干次。如果每次都超時,無法接受到服務器的回應,則說明客戶端的NAT不是一個Full Cone NAT,具體類型有待下一步檢測(繼續)。如果能夠接受到服務器從(IP-2,Port-2)返回的應答UDP包,則說明客戶端是一個Full Cone NAT,這樣的客戶端能夠進行UDP-P2P通信(檢測停止)。

第三步:檢測客戶端NAT是否是Symmetric NAT?

客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器返回客戶端的IP和Port, 客戶端發送請求后立即開始接受數據包,要設定socket Timeout(300ms),防止無限堵塞. 重復這個過程直到收到回應(一定能夠收到,因為第一步保證了這個客戶端可以進行UDP通信)。
用同樣的方法用一個socket向服務器的(IP-2,Port-2)發送數據包要求服務器返回客戶端的IP和Port。
比 較上面兩個過程從服務器返回的客戶端(IP,Port),如果兩個過程返回的(IP,Port)有一對不同則說明客戶端為Symmetric NAT,這樣的客戶端無法進行UDP-P2P通信(檢測停止)。否則是Restricted Cone NAT,是否為Port Restricted Cone NAT有待檢測(繼續)。

第四步:檢測客戶端NAT是否是Restricted Cone NAT還是Port Restricted Cone NAT?

客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器用IP-1和一個不同于Port-1的端口發送一個UDP 數據包響應客戶端, 客戶端發送請求后立即開始接受數據包,要設定socket Timeout(300ms),防止無限堵塞. 重復這個過程若干次。如果每次都超時,無法接受到服務器的回應,則說明客戶端是一個Port Restricted Cone NAT,如果能夠收到服務器的響應則說明客戶端是一個Restricted Cone NAT。以上兩種NAT都可以進行UDP-P2P通信。

注:以上檢測過程中只說明了可否進行UDP-P2P的打洞通信,具體怎么通信一般要借助于Rendezvous Server。另外對于Symmetric NAT不是說完全不能進行UDP-P2P達洞通信,可以進行端口預測打洞,不過不能保證成功。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产99国产精品澳门| 久久久国产精品免费| 日韩成人性视频| 日韩精品视频免费在线观看| 久久伊人精品视频| 黑人精品xxx一区一二区| 日韩欧美a级成人黄色| 亚洲电影免费观看高清完整版在线观看| 日韩av免费在线| 岛国av一区二区在线在线观看| 国产精品视频久久| 在线看片第一页欧美| 日韩大陆毛片av| 亚洲国产美女精品久久久久∴| 久久久免费观看视频| 日韩精品视频免费专区在线播放| 久久久99免费视频| 色综合久久久888| 欧美肥臀大乳一区二区免费视频| 久久综合五月天| 亚洲在线视频福利| 中文字幕日韩欧美精品在线观看| 疯狂做受xxxx欧美肥白少妇| 久久亚洲国产成人| 国产精品久久久久久久久男| 国产精品久久久久久久久久久久| 日韩中文字幕在线视频播放| 欧洲美女7788成人免费视频| 欧美激情中文字幕乱码免费| 欧美日韩xxx| 国产成+人+综合+亚洲欧洲| 在线精品国产成人综合| 欧美精品久久久久久久久| 日韩成人在线免费观看| 日韩中文字幕视频在线观看| 国产欧美在线视频| 91成人免费观看网站| 国产精品www色诱视频| 亚洲欧美一区二区三区情侣bbw| 久久久久久久久久久免费精品| 69**夜色精品国产69乱| 欧美特级www| 91视频九色网站| 伊人久久免费视频| 欧美做爰性生交视频| 欧洲精品久久久| 91av视频在线播放| 亚洲第一区在线观看| 国产日韩av高清| 91av在线免费观看| 欧美亚洲国产精品| 国产精品嫩草影院一区二区| 中文字幕亚洲一区二区三区五十路| 91精品视频在线| 欧美性生交xxxxx久久久| 国产精品亚洲第一区| 中文字幕久久久| 一区二区中文字幕| 国产精品久久久久影院日本| 久久婷婷国产麻豆91天堂| 成人免费在线网址| 精品国产欧美一区二区三区成人| 久久视频精品在线| 成人免费在线网址| 国产精品嫩草影院久久久| 欧美性色视频在线| 亚洲曰本av电影| 国产精品久久久久一区二区| 91在线直播亚洲| 91久久国产综合久久91精品网站| 亚洲激情小视频| 国产91在线播放九色快色| 欧美华人在线视频| 91情侣偷在线精品国产| 欧美午夜视频在线观看| 777午夜精品福利在线观看| 最近免费中文字幕视频2019| 成人两性免费视频| 91久久久久久久久久| 久久久精品电影| 国产成人精品免费视频| 欧美日韩一区二区在线播放| 亚洲免费成人av电影| 国产成人一区二区三区电影| 国内精品视频一区| 色婷婷av一区二区三区在线观看| 亲爱的老师9免费观看全集电视剧| 最近中文字幕2019免费| 国内揄拍国内精品少妇国语| y97精品国产97久久久久久| 日韩免费在线电影| 欧美一级淫片丝袜脚交| xvideos成人免费中文版| 久久精品国产99国产精品澳门| 91精品久久久久久久久青青| 久久久av亚洲男天堂| 国产精品自产拍在线观| 亚洲国产精品人人爽夜夜爽| 亚洲护士老师的毛茸茸最新章节| 亚洲综合社区网| 亚洲精品国偷自产在线99热| 国产欧美精品va在线观看| 亚洲欧美综合图区| 欧美一区三区三区高中清蜜桃| 成人精品久久一区二区三区| 国产一区玩具在线观看| 国产精品wwww| 欧美大片在线看| 成人福利视频网| 欧美色视频日本高清在线观看| 羞羞色国产精品| 久久99国产精品自在自在app| 欧美日韩国产精品一区二区三区四区| 亚洲自拍欧美色图| 欧洲日韩成人av| 久久伊人精品视频| 亚洲第一综合天堂另类专| 在线国产精品播放| 裸体女人亚洲精品一区| 日韩成人在线免费观看| 欧美日韩精品中文字幕| 懂色av一区二区三区| 国产精品美女在线观看| 久久久免费观看视频| 欧美成人精品一区二区三区| 欧美在线观看日本一区| 日韩精品在线观看网站| 97视频在线观看视频免费视频| 日韩免费av一区二区| 91精品久久久久久久| 欧美韩国理论所午夜片917电影| 精品久久久久久国产91| 欧美日韩第一视频| 久久69精品久久久久久久电影好| 国产精品久久久久久久久影视| 成人伊人精品色xxxx视频| 国产一区二区免费| 国产精品美女免费视频| 国产精品1区2区在线观看| 97视频免费观看| 国产日本欧美一区二区三区| 中文字幕在线看视频国产欧美在线看完整| 国产精品av免费在线观看| 日韩精品高清在线观看| 亚洲天堂免费观看| 日韩av影视综合网| 久久久久久国产精品三级玉女聊斋| 色噜噜狠狠狠综合曰曰曰88av| 国产精品白丝jk喷水视频一区| 粉嫩老牛aⅴ一区二区三区| 欧美黄色片在线观看| 国内免费久久久久久久久久久| 日韩高清不卡av| 欧美性xxxxx极品| 欧美日韩中文字幕在线| 欧美寡妇偷汉性猛交| 欧美性xxxx极品hd欧美风情| 91精品国产色综合| 欧美极品美女视频网站在线观看免费| 亚洲激情成人网| 日韩激情av在线播放| 欧美成年人在线观看| 国产日韩欧美综合| 精品色蜜蜜精品视频在线观看|