不急不徐,持之以恒。

          http://blog.gopersist.com/

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            24 隨筆 :: 0 文章 :: 52 評(píng)論 :: 0 Trackbacks
          我們看看不同NAT之間的NAT打洞。NAT打洞需要Server配合,需要2種Server:
          1. 類似WebRTC中的信令服務(wù)器,作用是幫助客戶機(jī)溝通IP和PORT信息;
          2. STUN Server,用來讓客戶機(jī)判斷自己所在的NAT環(huán)境。
          現(xiàn)在假設(shè)客戶端和Server的通訊都沒問題,客戶端知道自己所處環(huán)境,并且將自己的信息通過服務(wù)器發(fā)送給了另一方客戶端,它們可能的打洞情況如下:
          1. Full Cone NAT 與 Full Cone NAT:通訊很容易,各自通過STUN Server獲取外部IP和Port后,通過信令服務(wù)器通知另一方,即可通訊。
          2. Full Cone NAT 與 Restricted Cone NAT或Port Restricted Cone NAT在互相告知IP和Port后,如果由Full Cone NAT端先發(fā)送數(shù)據(jù)包,會(huì)失敗,必須由Restricted Cone NAT或Port Restricted Cone NAT端先發(fā)送數(shù)據(jù)包給Full Cone NAT,之后雙方即可互相通訊。
          3. Full Cone NAT 與 Symmetric NAT通訊時(shí),必須先由Symmetric NAT端發(fā)送數(shù)據(jù)包給Full Cone NAT端,F(xiàn)ull Cone NAT端通過發(fā)來的數(shù)據(jù)包獲得目標(biāo)的新端口號(hào),之后通過這個(gè)新端口號(hào)完成互相通訊。
          4. Restricted Cone NAT 與 Restricted Cone NAT、Restricted Cone NAT 與 Port Restricted Cone NAT、Port Restricted Cone NAT 與 Port Restricted Cone NAT之間通訊時(shí),先發(fā)送數(shù)據(jù)包的一方會(huì)失敗,之后另一方發(fā)送數(shù)據(jù)包成功后,可互相通訊。
          5. Restricted Cone NAT 與 Symmetric NAT通訊時(shí),先由Restricted Cone NAT發(fā)送數(shù)據(jù)包給Symmetric NAT,發(fā)送數(shù)據(jù)會(huì)失敗,只是為了下次能接收從Symmetric NAT端發(fā)送過來的數(shù)據(jù)包。然后由Symmetric NAT發(fā)送數(shù)據(jù)包到Restricted Cone NAT端,Restricted Cone NAT端會(huì)收到數(shù)據(jù)包,并且將新的端口號(hào)記下,使用新的端口號(hào)可與Symmetric NAT端通訊。
          6. Port Restricted Cone NAT 與 Symmetric NAT通訊時(shí),由于Port Restricted Cone NAT會(huì)對(duì)IP:PORT對(duì)進(jìn)行限制,所以當(dāng)Symmetric NAT端使用新PORT發(fā)來數(shù)據(jù)包時(shí),Port Restricted Cone NAT端收不到,它們之間無法通訊。
          7. Symmetric NAT 與 Symmetric NAT也無法通訊 。
          posted on 2014-10-23 14:17 老林 閱讀(6496) 評(píng)論(0)  編輯  收藏 所屬分類: 即時(shí)通訊(IM)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 岑巩县| 龙胜| 黄陵县| 加查县| 龙岩市| 永安市| 剑河县| 灵台县| 东城区| 塔河县| 青田县| 福清市| 泉州市| 景宁| 那曲县| 沙坪坝区| 郸城县| 上犹县| 洛隆县| 磐安县| 留坝县| 南宫市| 呈贡县| 浦东新区| 巴楚县| 夏邑县| 高阳县| 木兰县| 志丹县| 尼勒克县| 乐山市| 绩溪县| 襄樊市| 红安县| 惠安县| 新宾| 石楼县| 宁河县| 亳州市| 万载县| 二连浩特市|