nat 類型及打洞原理


nat 類型分4種

1、全錐形 full cone

   A 與 主機B交互,nat轉換 A的內部地址及端口為  ip1 port1,ip1和port1為對外地址,任何機器能訪問。

2、ip 受限制(對B而言)

          A 與 主機B交互,nat轉換 A的內部地址及端口為  ip1 port1,B要想訪問A,需要A先訪問過B(不管是否失敗),並且B的ip不能變,但是B的端口可以變。

3、端口 受限制(對B而言)

          A 與 主機B交互,nat轉換 A的內部地址及端口為  ip1 port1,B要想訪問A,需要A先訪問過B(不管是否失敗),並且B的ip不能變,B端口也不能變。

4、對稱型

          以上種,再nat轉換時,都會轉換成ip1 port1的形式,但是這種,訪問主機B,轉為ip1,port1,訪問主機C,轉為ip1,port2,或者ip2,port2

     A 與 主機B交互,nat轉換 A的內部地址及端口為  ip1 port1,B要想訪問A,,需要A先訪問過B(不管是否失敗),並且B的ip不能變,B端口也不能變

nat穿透:

  局域網的A訪問一個外部主機,這個主機返回A它的nat轉換后的ip1 port1。另一個局域網B訪問外部主機(stun),外部主機返回B被nat轉換后的ip2,port2。A訪問B,就是A去訪問ip2,port2。B訪問A,就是訪問ip1,port1。

       非對稱與非對稱:由於A(客戶機)無論訪問哪個主機,A的nat都是將它轉換為ip1 port1(ip1 與port1都不會變化),因此A B都去訪問stun,得到的ip與port不會變化。因此可以打洞。

  一端對稱,一端非對稱:A(非對稱Nat,且只能是ip不變,port變化的那種情況),一端非對稱B,且只能是 full cone 或者ip受限。首先B訪問A,B記錄A的ip1(只要ip1的信息發過來,就能收到),B的數據必然被A的nat丟掉,但是A就可以訪問B了,這兒假定A的nat轉換后的ip是不變的(A一般都是這種)。

      對稱與對稱:A去訪問stun 得到的為Aip1 Aport1。B去訪問stun,得到Bip1 Bport1。 A去訪問B, A net記錄Bip1 Bport1, B去訪問A,自身nat將其轉換為BIp2, Bport2(Bip1,Bport1是訪問stun得到的),但是A的洞只為Bip1,Bport1留着,Bip2,Bport2根本鏈接不上A,所以2個都改為對稱Nat,根本沒法打穿。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM