NAT類型及工作原理

NAT類型及工作原理

在計算機網絡中殿遂,網絡地址轉換(Network Address Translation,縮寫為NAT)篡九,也叫做網絡掩蔽或者IP掩蔽(IP masquerading)谐岁,是一種在IP數據包通過路由器或防火墻時重寫來源IP地址或目的IP地址的技術。這種技術被普遍使用在有多臺主機但只通過一個公有IP地址訪問因特網的私有網絡中。根據規(guī)范伊佃,路由器是不能這樣工作的窜司,但它的確是一個方便且得到了廣泛應用的技術。當然航揉,NAT也讓主機之間的通信變得復雜塞祈,導致了通信效率的降低。

1帅涂、NAT的類型

1.1议薪、基本網絡地址轉換(Basic NAT)

1.2、網絡地址端口轉換(NAPT)

  • NAT1: Full Cone NAT漠秋,完全圓錐型NAT笙蒙,這是最寬松的網絡環(huán)境,你想做什么庆锦,基本沒啥限制IP和端口都不受限捅位。
  • NAT2: Address-Restricted Cone NAT,受限圓錐型NAT搂抒,相比NAT1艇搀,NAT2 增加了地址限制,也就是IP受限求晶,而端口不受限焰雕。
  • NAT3: Port-Restricted Cone NAT,端口受限圓錐型NAT芳杏,相比NAT2矩屁,NAT3 又增加了端口限制,也就是說IP爵赵、端口都受限吝秕。
  • NAT4: Symmetric NAT,對稱型NAT空幻,對稱型NAT具有端口受限錐型的受限特性烁峭,內部地址每一次請求一個特定的外部地址,都可能會綁定到一個新的端口號秕铛。也就是請求不同的外部地址映射的端口號是可能不同的约郁。這種類型基本上就告別 P2P 了。

2但两、NAT工作原理

2.1鬓梅、基本網絡地址轉換(Basic NAT)

它實現(xiàn)比較簡單,僅支持地址轉換镜遣,不支持端口映射己肮。靜態(tài)NAT要求對每一個當前連接都要對應一個公網IP地址士袄,因此要維護一個公網的地址池。寬帶(broadband)路由器通常使用這種方式來允許一臺指定的設備去管理所有的外部鏈接谎僻,甚至當路由器本身只有一個可用外部IP時也如此娄柳,這臺路由器有時也被標記為DMZ主機。由于改變了IP源地址艘绍,在重新封裝數據包時候必須重新計算校驗和赤拒,網絡層以上的只要涉及到IP地址的頭部校驗和都要重新計算。

Basic NAT要維護一個無端口號NAT表诱鞠,結構如下:

內網IP 外網IP
192.168.1.155 219.152.168.222
192.168.1.159 219.152.168.223
192.168.1.151 219.152.168.224

2.2挎挖、網絡地址端口轉換(NAPT)

這種方式支持端口的映射,并允許多臺主機共享一個公網IP地址航夺。NAPT分為四種類型蕉朵,具體工作流程如下:

image.png

2.2.1、完全圓錐型NAT(Full cone NAT)

  1. 初始狀態(tài)時阳掐,Client與Server1始衅、Client與Server2都沒有通訊過。
  2. 當Client通過NAT向Server1發(fā)送一個packet后缭保,NAT會生成如下一行映射汛闸。
Client主機地址:端口 NAT公網地址:端口
192.168.1.5:5000 210.21.12.140:8000
  1. 在全錐型網絡下,后續(xù)當Server1要發(fā)送數據到Client時艺骂,Server1首先將數據送到NAT(210.21.12.140:8000)诸老,NAT接收到該報文,會將該報文轉發(fā)給Client(192.168.1.5:5000)钳恕。
  2. 在全錐型網絡下别伏,Server2要發(fā)送數據給Client,Server2也是需要先將數據發(fā)送到NAT(210.21.12.140:8000)忧额,NAT接收到該報文畸肆,會將該報文轉發(fā)給Client(192.168.1.5:5000)。因為NAT上已經有了192.168.1.5:5000到210.21.12.140:8000的映射宙址。

2.2.2、受限圓錐型NAT(Address-Restricted cone NAT)

  1. 初始狀態(tài)時调卑,Client與Server1抡砂、Client與Server2都沒有通訊過。
  2. 當Client通過NAT向Server1發(fā)送一個packet后恬涧,NAT中會生成如下一行映射(注意注益,這里增加了一項IP地址的限制)。
Client主機地址:端口 NAT公網地址:端口 Server主機地址
192.168.1.5::5000 210.21.12.140:8000 210.15.27.166
  1. 在受限圓錐型NAT下溯捆,Server1要發(fā)送數據到Client時丑搔,Server1首先將數據送到NAT(210.21.12.140:8000)厦瓢,NAT接收到該報文,會將該報文轉發(fā)給Client(192.168.1.5:5000)啤月。
  2. 并且Server1主機的任何端口號數據煮仇,都可以將數據送到NAT(210.21.12.140:8000),NAT都會將該報文轉給Client(192.168.1.5:5000)谎仲。
  3. 但是Server2主機無法與Client主機進行通訊浙垫。因為Client從來沒有和Server2通信過,NAT將拒絕Server2試圖與Client連接的動作郑诺。

2.2.3夹姥、端口受限圓錐型NAT(Port-Restricted cone NAT)

  1. 初始狀態(tài)時,Client與Server1辙诞、Client與Server2都沒有通訊過辙售。
  2. 當Client通過NAT向Server1發(fā)送一個packet后,NAT中會生成如下一行映射(注意飞涂,這里增加了IP+port限制)旦部。
Client主機地址:端口 NAT公網地址:端口 Server主機地址:端口
192.168.1.5::5000 210.21.12.140:8000 210.15.27.166:80
  1. 在端口受限圓錐型NAT下,Server2無法與Client通信封拧,因為Client從來沒有和Server2通信過志鹃。
  2. 并且Server1也只能用它的210.15.27.166:80與Client的192.168.1.5:5000通信,因為Client也從來沒有和Server1的其他端口通信過泽西。

家用路由器大部分都屬于端口受限圓錐型NAT曹铃。

2.2.4、對稱NAT(Symmetric NAT)

  1. 初始狀態(tài)時捧杉,Client與Server1陕见、Client與Server2都沒有通訊過。
  2. 當Client通過NAT向Server1發(fā)送一個packet后味抖,NAT中會生成如下一行映射
Client主機地址:端口 NAT公網地址:端口 Server主機地址:端口
192.168.1.5::5000 210.21.12.140:8000 210.15.27.166:80
  1. 接下來Client要使用相同的端口和Server2通信评甜,將會在NAT中生成如下映射表。
Client主機地址:端口 NAT公網地址:端口 Server主機地址:端口
192.168.1.5::5000 210.21.12.140:8000 210.15.27.166:80
192.168.1.5::5000 210.21.12.140:8001 210.15.27.140:80
  1. Server1只能用它的210.15.27.166:80通過NAT的 210.21.12.140:8000與Client的192.168.1.5:5000通信仔涩。
  2. Server2也只能用它的210.15.27.140:80通過NAT的210.21.12.140:8001與Client的192.168.1.5:5000通信忍坷,
  3. Server1或者Server2的其他端口則均不能和Client的192.168.1.5:5000通信。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末熔脂,一起剝皮案震驚了整個濱河市佩研,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霞揉,老刑警劉巖旬薯,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異适秩,居然都是意外死亡绊序,警方通過查閱死者的電腦和手機硕舆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骤公,“玉大人抚官,你說我怎么就攤上這事×苎” “怎么了耗式?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長趁猴。 經常有香客問我刊咳,道長,這世上最難降的妖魔是什么儡司? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任娱挨,我火速辦了婚禮,結果婚禮上捕犬,老公的妹妹穿的比我還像新娘跷坝。我一直安慰自己,他們只是感情好碉碉,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布柴钻。 她就那樣靜靜地躺著,像睡著了一般垢粮。 火紅的嫁衣襯著肌膚如雪贴届。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天蜡吧,我揣著相機與錄音毫蚓,去河邊找鬼。 笑死昔善,一個胖子當著我的面吹牛元潘,可吹牛的內容都是我干的。 我是一名探鬼主播君仆,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼翩概,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了返咱?” 一聲冷哼從身側響起氮帐,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洛姑,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體皮服,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡楞艾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年参咙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硫眯。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡蕴侧,死狀恐怖,靈堂內的尸體忽然破棺而出两入,到底是詐尸還是另有隱情净宵,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布裹纳,位于F島的核電站择葡,受9級特大地震影響,放射性物質發(fā)生泄漏剃氧。R本人自食惡果不足惜敏储,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朋鞍。 院中可真熱鬧已添,春花似錦、人聲如沸滥酥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坎吻。三九已至缆蝉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間禾怠,已是汗流浹背返奉。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吗氏,地道東北人芽偏。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像弦讽,于是被迫代替她去往敵國和親污尉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359