日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NAT STURN,ICE

發布時間:2024/4/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NAT STURN,ICE 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NAT原理與NAT穿越

最近在看東西的時候發現很多網絡程序中都需要NAT穿越,特意在此總結一下。

先做一個約定:

內網A中有:A1(192.168.0.8A2(192.168.0.9兩用戶

?????????????? 網關X1(一個NAT設備)有公網IP?1.2.3.4

內網B中有:B1(192.168.1.8、B2(192.168.1.9兩用戶,

?????????????? 網關Y1(一個NAT設備)有公網IP?1.2.3.5

公網服務器:C (6.7.8.9) D (6.7.8.10)

  • NAT原理

???? 網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術。下面介紹兩類不同方式實現的NAT:

  • NAT(Network Address Translators):稱為基本的NAT
  • 在客戶機時????? 192.168.0.8:4000——6.7.8.9:8000

    在網關時???????? 1.2.3.4:4000——6.7.8.9:8000

    服務器C????????? 6.7.8.9:8000

    其核心是替換IP地址而不是端口,這會導致192.168.0.8使用4000端口后,192.168.0.9如何處理?具體參考RFC 1631

    基本上這種類型的NAT設備已經很少了。或許根本我們就沒機會見到。

    ???? 2.?? NAPT(Network Address/Port Translators):其實這種才是我們常說的 NAT

    NAPT的特點是在網關時,會使用網關的 IP,但端口會選擇一個和臨時會話對應的臨時端口。如下圖:

    在客戶機時?????????? 192.168.0.8:4000——6.7.8.9:8000

    在網關時????????????? 1.2.3.4:62000——6.7.8.9:8000

    服務器C?????????????? 6.7.8.9:8000

    網關上建立保持了一個1.2.3.4:62000的會話,用于192.168.0.8:4000與6.7.8.9:8000之間的通訊。

    對于NAPT,又分了兩個大的類型,差別在于,當兩個內網用戶同時與8000端口通信的處理方式不同:

    ???????? 2.1、Symmetric NAT型 (對稱型)

    在客戶機時????????????? 192.168.0.8:4000——6.7.8.9:8000 192.168.0.8:4000——6.7.8.10:8000

    在網關時,兩個不同session但端口號不同??????1.2.3.4:62000——6.7.8.9:8000 1.2.3.4:62001——6.7.8.10:8000

    服務器C????? 6.7.8.9:8000

    服務器 D???? 6.7.8.10:8000

    這種形式會讓很多p2p軟件失靈。

    ??????? 2.2、Cone NAT型(圓錐型)

    在客戶機時????????????? 192.168.0.8:4000——6.7.8.9:8000 192.168.0.8:4000——6.7.8.10:8000

    在網關時,兩個不同session但端口號相同??????1.2.3.4:62000——6.7.8.9:8000 1.2.3.4:62000——6.7.8.10:8000

    服務器C?????????? 6.7.8.9:8000

    服務器D?????????? 6.7.8.10:8000

    目前絕大多數屬于這種。Cone NAT又分了3種類型:

    • a)Full Cone NAT(完全圓錐型):從同一私網地址端口192.168.0.8:4000發至公網的所有請求都映射成同一個公網地址端口1.2.3.4:62000 ,192.168.0.8可以收到任意外部主機發到1.2.3.4:62000的數據報。
    • b)Address Restricted Cone NAT?(地址限制圓錐型):從同一私網地址端口192.168.0.8:4000發至公網的所有請求都映射成同一個公網地址端口1.2.3.4:62000,只有當內部主機192.168.0.8先給服務器C 6.7.8.9發送一個數據報后,192.168.0.8才能收到6.7.8.9發送到1.2.3.4:62000的數據報。
    • c)Port Restricted Cone NAT(端口限制圓錐型):從同一私網地址端口192.168.0.8:4000發至公網的所有請求都映射成同一個公網地址端口1.2.3.4:62000,只有當內部主機192.168.0.8先向外部主機地址端口6.7.8.9:8000發送一個數據報后,192.168.0.8才能收到6.7.8.9:8000發送到1.2.3.4:62000的數據報。???
    • 穿越NAT的實現

    A1在客戶機時??????????????? 192.168.0.8:4000——6.7.8.9:8000

    X1在網關時?????????????????? 1.2.3.4:62000——6.7.8.9:8000

    服務器C?????????????????????? 6.7.8.9:8000

    B1在客戶機時??????????????? 192.168.1.8:4000——6.7.8.9:8000

    Y1在網關時?????????????????? 1.2.3.5:31000——6.7.8.9:8000

    兩內網用戶要實現通過各自網關的直接呼叫,需要以下過程:

    1、 客戶機A1、B1順利通過格子網關訪問服務器C ,均沒有問題(類似于登錄)

    2、 服務器C保存了 A1、B1各自在其網關的信息(1.2.3.4:62000、1.2.3.5:31000)沒有問題。并可將該信息告知A1、B2。

    3、 此時A1發送給B1網關的1.2.3.5:31000是否會被B1收到?答案是基本上不行(除非Y1設置為完全圓錐型,但這種設置非常少),因為Y1上檢測到其存活的會話中沒有一個的目的IP或端口于1.2.3.4:62000有關而將數據包全部丟棄!

    4、 此時要實現A1、B1通過X1、Y1來互訪,需要服務器C告訴它們各自在自己的網關上建立“UDP隧道”,即命令A1發送一個 192.168.0.8:4000——1.2.3.5:31000的數據報,B1發送一個192.168.1.8:4000——1.2.3.4:62000的數據報,UDP形式,這樣X1、Y1上均存在了IP端口相同的兩個不同會話(很顯然,這要求網關為Cone NAT,否則,對稱型Symmetric NAT設置網關將導致對不同會話開啟了不同端口,而該端口無法為服務器和對方所知,也就沒有意義)。

    5、 此時A1發給Y1,或者B1發給X1的數據報將不會被丟棄且正確的被對方收到.

    綜合P2P可實現的條件需要:

    1、 中間服務器保存信息、并能發出建立UDP隧道的命令

    2、 網關均要求為Cone NAT類型。Symmetric NAT不適合。

    3、 完全圓錐型網關可以無需建立udp隧道,但這種情況非常少,要求雙方均為這種類型網關的更少。

    4、 假如X1網關為Symmetric NAT, Y1為Address Restricted Cone NAT 或Full Cone NAT型網關,各自建立隧道后,A1可通過X1發送數據報給Y1到B1(因為Y1最多只進行IP級別的甄別),但B2發送給X1的將會被丟棄(因為發送來的數據報中端口與X1上存在會話的端口不一致,雖然IP地址一致),所以同樣沒有什么意義。

    5、 假如雙方均為Symmetric NAT的情形,新開了端口,對方可以在不知道的情況下嘗試猜解,也可以達到目的,但這種情形成功率很低,且帶來額外的系統開支,不是個好的解決辦法。

    6、 不同網關型設置的差異在于,對內會采用替換IP的方式、使用不同端口不同會話的方式,使用相同端口不同會話的方式;對外會采用什么都不限制、限制IP地址、限制IP地址及端口。

    7、 這里還沒有考慮同一內網不同用戶同時訪問同一服務器的情形,如果此時網關采用AddressRestricted Cone NAT 或Full Cone NAT型,有可能導致不同用戶客戶端可收到別人的數據包,這顯然是不合適的。

    ?

    一些現在常用的技術:

    ALG(應用層網關):它可以是一個設備或插件,用于支持SIP協議,主要類似與在網關上專門開辟一個通道,用于建立內網與外網的連接,也就是說,這是一種定制的網關。更多只適用于使用他們的應用群體內部之間。

    UpnP:它是讓網關設備在進行工作時尋找一個全球共享的可路由IP來作為通道,這樣避免端口造成的影響。要求設備支持且開啟upnp功能,但大部分時候,這些功能處于安全考慮,是被關閉的。即時開啟,實際應用效果還沒經過測試。

    STUN(Simple Traversalof UDP Through Network):這種方式即是類似于我們上面舉例中服務器C的處理方式。也是目前普遍采用的方式。但具體實現要比我們描述的復雜許多,光是做網關Nat類型判斷就由許多工作,RFC3489中詳細描述了。

    TURN(Traveral Using Relay NAT)該方式是將所有的數據交換都經由服務器來完成,這樣NAT將沒有障礙,但服務器的負載、丟包、延遲性就是很大的問題。目前很多游戲均采用該方式避開NAT的問題。這種方式不叫p2p。

    ICE(Interactive Connectivity Establishment)是對上述各種技術的綜合,但明顯帶來了復雜性。

    轉載于:https://www.cnblogs.com/SZLLQ2000/p/6762063.html

    超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

    總結

    以上是生活随笔為你收集整理的NAT STURN,ICE的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国精产品一区二区三区 | 福利视频h| 成人夜色| av一片 | 玖玖色在线 | 都市激情亚洲一区 | 国产在线观看免费播放 | 免费在线观看的黄色网址 | 亚洲 欧美 国产 另类 | 色奇米| 欧美三级一区二区三区 | 欧美日韩国 | 特黄色大片 | 欧美一级啪啪 | 日韩成人免费在线 | 韩国伦理电影免费在线 | 日韩中文字幕在线 | 人人涩| 懂色中文一区二区在线播放 | 天天天天天天天干 | 人妻无码一区二区三区四区 | 日韩女优在线播放 | 日干夜操 | 成人免费自拍视频 | 成人精品亚洲 | 国产91精品一区二区绿帽 | 一个色综合网站 | 麻豆做爰免费观看 | 农村脱精光一级 | 日韩三级一区二区三区 | 黄色片在线看 | 亚洲男人天堂影院 | 婷婷五月色综合 | 木木影院| 国产毛片在线视频 | 特级特黄aaaa免费看 | 欧美性生活在线视频 | 婷婷综合网 | 久久人体视频 | 蜜臀av一区二区 | 日韩精品一区二区三区色欲av | 日韩精品一区二区三区视频 | 韩日一区二区三区 | 国产一区一一区高清不卡 | 爱爱视频日本 | 亚洲女人在线 | 打屁股调教视频 | 国产av 一区二区三区 | 一区二区国产在线观看 | 无码精品国产一区二区三区免费 | 蜜桃视频在线观看一区二区 | 一级黄色欧美 | 88国产精品视频一区二区三区 | 91亚洲国产成人精品一区二三 | 污片视频在线观看 | 国产成人在线免费视频 | 亚洲成人免费网站 | 夜夜夜网 | 少妇做爰xxxⅹ性视频 | 精品国产AV色欲天媒传媒 | 国产中文字幕二区 | 日韩性大片 | 美女视频黄的免费 | 爱情岛亚洲论坛入口福利 | 亚洲午夜剧场 | 欧美一二级 | 99热这里只有精品99 | 17c国产精品 | 麻豆网站免费观看 | 亚州一级 | 日韩大片一区 | 国产精品免费观看视频 | 久久亚洲国产成人精品性色 | 蜜桃传媒 | 求av网站 | 成人午夜视频免费在线观看 | 国产精品久久久久久久免费 | 午夜国产视频 | 久久精品123 | 欧美人与性动交a欧美精品 日韩免费高清视频 | 波多野结衣a v在线 欧洲免费av | 波多野结衣a v在线 欧洲免费av | 森泽佳奈av| 免费在线观看毛片视频 | 国产一级在线视频 | 亚洲视频第一页 | 91精品婷婷国产综合久久竹菊 | 在线国产一区二区 | 佐山爱av在线 | 国产www免费 | 成人精品毛片 | 一区自拍| 手机av在线看| 国产精品无码午夜福利 | 四虎在线影视 | 美女性高潮视频 | 色倩网站 | 欧美成人区 | 国产7777777|