不急不徐,持之以恒。

          http://blog.gopersist.com/

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            24 隨筆 :: 0 文章 :: 52 評論 :: 0 Trackbacks
          我們看看不同NAT之間的NAT打洞。NAT打洞需要Server配合,需要2種Server:
          1. 類似WebRTC中的信令服務器,作用是幫助客戶機溝通IP和PORT信息;
          2. STUN Server,用來讓客戶機判斷自己所在的NAT環境。
          現在假設客戶端和Server的通訊都沒問題,客戶端知道自己所處環境,并且將自己的信息通過服務器發送給了另一方客戶端,它們可能的打洞情況如下:
          1. Full Cone NAT 與 Full Cone NAT:通訊很容易,各自通過STUN Server獲取外部IP和Port后,通過信令服務器通知另一方,即可通訊。
          2. Full Cone NAT 與 Restricted Cone NAT或Port Restricted Cone NAT在互相告知IP和Port后,如果由Full Cone NAT端先發送數據包,會失敗,必須由Restricted Cone NAT或Port Restricted Cone NAT端先發送數據包給Full Cone NAT,之后雙方即可互相通訊。
          3. Full Cone NAT 與 Symmetric NAT通訊時,必須先由Symmetric NAT端發送數據包給Full Cone NAT端,Full Cone NAT端通過發來的數據包獲得目標的新端口號,之后通過這個新端口號完成互相通訊。
          4. Restricted Cone NAT 與 Restricted Cone NAT、Restricted Cone NAT 與 Port Restricted Cone NAT、Port Restricted Cone NAT 與 Port Restricted Cone NAT之間通訊時,先發送數據包的一方會失敗,之后另一方發送數據包成功后,可互相通訊。
          5. Restricted Cone NAT 與 Symmetric NAT通訊時,先由Restricted Cone NAT發送數據包給Symmetric NAT,發送數據會失敗,只是為了下次能接收從Symmetric NAT端發送過來的數據包。然后由Symmetric NAT發送數據包到Restricted Cone NAT端,Restricted Cone NAT端會收到數據包,并且將新的端口號記下,使用新的端口號可與Symmetric NAT端通訊。
          6. Port Restricted Cone NAT 與 Symmetric NAT通訊時,由于Port Restricted Cone NAT會對IP:PORT對進行限制,所以當Symmetric NAT端使用新PORT發來數據包時,Port Restricted Cone NAT端收不到,它們之間無法通訊。
          7. Symmetric NAT 與 Symmetric NAT也無法通訊 。
          posted on 2014-10-23 14:17 老林 閱讀(6496) 評論(0)  編輯  收藏 所屬分類: 即時通訊(IM)
          主站蜘蛛池模板: 温宿县| 定远县| 泸水县| 稷山县| 布尔津县| 界首市| 榕江县| 嘉义县| 平原县| 沅陵县| 志丹县| 武威市| 万州区| 资中县| 辉县市| 青岛市| 阿鲁科尔沁旗| 开阳县| 汝城县| 安远县| 芒康县| 阳春市| 集安市| 通江县| 阳信县| 高阳县| 合江县| 黔东| 晋江市| 扎囊县| 五峰| 安远县| 新邵县| 油尖旺区| 荥阳市| 安仁县| 即墨市| 乌拉特前旗| 驻马店市| 罗山县| 虎林市|