五大NAT穿透方法,解決內網問題

分類:IT技術 時間:2016-10-11

許多程序在局域網中是可以適用的,但是在外網與內網之間和內網與內網之間就不可行。問題就在於NAT,本文就將介紹下5大NAT穿透方法,解決內外網的互訪問題。

1.完全錐形(Full Cone)NAT

處於不同內網的主機A和主機B,各自先連接服務器,從而在各自NAT設備上打開了一個“孔”,服務器收到主機A和主機B的連接後,知道A與B的公網地址和NAT分配給它們的端口號,然後把這些NAT地址與端口號告訴A與B,由於在完全錐形NAT的特點,A和B給服務器所打開的“孔”,能給別的任何的主機使用。故A與B可連接對方的公網地址和端口直接進行通信。服務器在這裏充當“介紹人”,告訴A與B對方的地址和端口號。

2.受限制錐形(Restricted Cone)NAT

A和B還是要先連接服務器,服務器發送A和B的地址和端口信息給A和B,但由於受限制錐形NAT的特點,他們所打開的“孔”,只能與服務器通信。要使他們可以直接通信,解決辦法如下:

假如主機A開始發送一個UDP信息到主機B的公網地址上,與此同時,它又通過服務器中轉發送了一個邀請信息給主機B,請求主機B也給主機A發送一個UDP信息到主機A的公網地址上。這時主機A向主機B的公網IP發送的信息導致NAT A打開一個處於主機A的和主機B之間的會話,與此同時,NAT B也打開了一個處於主機B和主機A的會話。一旦這個新的UDP會話各自向對方打開了,主機A和主機B之間就可以直接通信了[14]。

3.端口受限制錐形(Port Restricted Cone)NAT

對於該類型的NAT,解決辦法跟上面的方法一樣。

4.對稱型(Symmetric)NAT

對稱型NAT,對於不同的外網主機地址,它都會分配不同的端口號,所以進行UDP打孔比較困難,但也可以進行端口預測打孔,不過不能保證成功。

以上的穿透NAT,是對NAPT來進行穿透,主要是針對UDP協議。TCP協議也有可能,但是可行性非常小,要求更高。並且,語音視頻通信是用UDP傳輸的,故針對TCP的NAT穿透在這裏不作討論。基礎NAT不修改經過的數據包的端口號,它們可以看作是完全錐形NAT的精簡版本,即基礎NAT也可以被穿透。NAT設備將在一定時間後關閉UDP的一個映射,所以為了保持與服務器能夠一直通信,服務器或客戶端必須要周期性地發送UDP包,保持映射不被關閉。

5.花生殼NAT-DDNS穿透

這裏寫圖片描述

花生殼DDNS是將用戶的動態IP 地址映射到一個固定的域名上,用戶每次連接網絡的時候客戶端程序就會通過信息傳遞把該主機的動態IP 地址傳送給位於服務商主機上的服務器程序,服務項目器程序負責提供 DNS 服務並實現動態域名解析。DDNS 的主要作用就是捕獲用戶每次變化的 IP 地址,然後將其與域名相對應,這樣其他上網用戶就可以通過域名來與用戶交流了。


Tags: 服務器 局域網 介紹人 程序 通信

文章來源:


ads
ads

相關文章
ads

相關文章

ad