NAT的四種型別

2021-07-25 07:08:31 字數 2582 閱讀 3169



簡述

基於udp的p2p應用需要考慮nat的型別,因為不同的nat組合的穿透的方式並不一致,有的能通, 有的不能通。

一般來講, nat可以分為四種型別,分別是:

1, 全錐型(full cone)

2,  受限錐型(restricted cone), 或者說是ip受限錐型

3,  埠受限錐型(port restricted cone), 或者說是ip + port受限錐型

4,  對稱型(symmetric)

其中1,2,3屬於同一種型別,都是錐型,區別只是路由器的不同的安全策略。

還有些nat不屬於這四種中的任何一種,就不在本文的討論範圍了。

為什麼有四種型別的nat

nat緩解了ipv4位址不夠用的問題,同時也也帶了限制,那就是nat外部的主機無法主動跟位於nat內部的主機通訊,nat內部主機想要通訊,必須主動和公網的乙個ip通訊,路由器負責建立乙個對映關係,從而實現資料的**, 這就是nat的工作原理。

假定 公網server1 ip是1.1.1.1, 監聽埠是1111

公網server2 ip是2.2.2.2, 監聽埠是2222

nat router ip是8.8.8.8

nat內部client是192.168.0.3

client傳送資料的時候,不管是tcp還是udp必須本地繫結乙個埠,一般來講,這個過程都是自動的。

假定client(192.168.0.3, 100)給 server(1.1.1.1, 1111)傳送報文,報文到達路由器,路由器在自己的公網ip上開闢乙個埠800,從而建立了乙個隱射關係(8.8.8.8, 800)<--->(192.168.0.3, 100),  建立對映關係後,所以(192.168.0.3, 100)和(1.1.1.1, 1111)之間的報文都通過這個對映關係進行**。

nat之間主要的區別分兩種情況討論

1:

client(192.168.0.3, 100)和server(1.1.1.1, 1111)在路由器上建立好對映關係後,如果client(192.168.0.3, 100)又給(2.2.2.2, 2222)傳送資料,路由器該怎麼處理呢?

1,  復用舊的對映關係(8.8.8.8, 800)<--->(192.168.0.3, 100)和(2.2.2.2, 2222)通訊, 這就是錐型(cone) nat

2,  建立新的對映關係(8.8.8.8,801)<--->(192.168.0.3, 100)和(2.2.2.2, 2222)通訊, 這就是對稱型nat

注:  (8.8.8.8,801)只是舉例,到底用什麼埠取決於路由器的埠管理策略,總之是另外的乙個埠,有的路由器有多個公網ip,不同的ip也會參與到這個對映關係中。

2:

client(192.168.0.3, 100)和server(1.1.1.1, 1111)在路由器上建立好對映關係後,如果這個時候路由器(8.8.8.8)在800埠上收到從另外一台server(2.2.2.2, 2222)發來的資料,是不是應該**給(192.168.0.3, 100)呢?

有四種情況:

1, 無條件**給(192.168.0.3, 100), 這就是全錐型(full cone)nat

2, 如果(192.168.0.3, 100)之前給(2.2.2.2)傳送過資料,則**, 這就是受限錐型(restricted cone)

3, 如果(192.168.0.3, 100)之前給(2.2.2.2,2222)傳送過資料,則**, 這就是埠受限錐型(port restricted cone)

4, 丟棄報文,拒絕**, 這就是對稱型nat

從上面也描述也可以看出,安全性係數,  對稱型 > 埠受限錐型 > 受限錐型 > 全錐型

不同nat的穿透性

nat有10種組合

全錐型 

全錐型

全錐型 

受限錐型

全錐型 

埠受限錐型

全錐型 

對稱型

受限錐型 

受限錐型

受限錐型 

埠受限錐型

受限錐型 

對稱型

埠受限錐型

埠受限錐型

埠受限錐型

對稱型✘, 無法打通

對稱型對稱型

✘, 無法打通

NAT 四種型別

nat主要分為兩大類 錐型 cone 和對稱型 symmetric 1.為什麼需要nat nat緩解了ipv4位址不夠用的問題,同時也也帶了限制,那就是nat外部的主機無法主動跟位於nat內部的主機通訊,nat內部主機想要通訊,必須主動和公網的乙個ip通訊,路由器負責建立乙個對映關係,從而實現資料的...

NAT 的四種型別

總結 1,四種型別都需要內部主機先向外發起一次通訊後,外部主機才可以和內部主機通訊。在nat打了個洞 2,前三種型別所有的通訊只通過同乙個外部tuple ip port 2.1,第一種型別允許任意主機通過任意埠通過這個外部tuple和內部主機通訊 2.2,第二種型別允許曾經通訊過 打洞時 的外部主機...

NAT的四種型別及型別檢測

考慮到udp的無狀態特性,目前針對其的nat實現大致可分為full cone restricted cone port restricted cone和symmetric nat四種。值得指出的是,對於tcp協議而言,一般來說,目前nat中針對tcp的實現基本上是一致的,其間並不存在太大差異,這是因...