NAT 原理與NAT穿越

2021-08-29 10:07:45 字數 3372 閱讀 1228

**:

最近在看負載均衡方面的東西中很多都提到了nat穿越,特意在此總結一下:

先做乙個約定:

內網a中有:a1(192.168.30.112),a2(192.168.30.114)兩個使用者

閘道器x1(乙個nat裝置)有公網ip222.225.80.51;

內網b中有:b1(192.168.40.112),b2(192.168.40.114)兩個使用者

閘道器y1(乙個nat裝置)有公網ip222.225.50,34;.

nat的簡介和原理

簡介nat即network address translation,它可以讓那些使用私有位址的內部網路連線到internet或其它ip網路上.nat路由在將內部網路的資料報傳送到公用網路時,在ip包的報頭把私有位址轉換成合法的ip位址.

原理:當內部網路中的一台主機想傳輸資料到外部網路時,它先將資料報傳輸到nat路由器上,路由器檢查資料報的報頭,獲取該資料報的源ip資訊,並從它的nat對映表中找出與該ip匹配的轉換條目,用所選的內部全域性位址(全域性唯一ip位址)來替換內部區域性位址,並**資料報.

當外部網路對內部主機進行應答時,資料報被送到nat路由器上,路由器接收到目的位址為內部全域性位址(外網ip)的資料報,它將用內部全域性位址通過nat對映表查詢內部區域性位址,然後將資料報的目的位址替換成內部區域性位址(內網私有ip),並將資料報**到內部主機.

nat有什麼優點和缺點?

優點對於家庭或小型商業機構,使用nat可以更便宜,更有效的接入internet。

使用nat可以緩解目前全球ip位址不足的問題.

nat能夠隱藏內部網路,保證內部網路的安全性.

缺點nat會增加延遲,因為要轉換的每個資料報包頭的ip位址,增加了延遲.

導致無法進行端到端ip跟蹤.

nat會使某些使用內嵌位址的應用不能正常工作.

nat的三種型別

靜態nat (一對一)

在客戶機

192.168.30.112:4000 --> 180.97.33.107:4000

在閘道器:

222.225.50.81:4000 --> 180.97.33.107:4000

閘道器上的靜態對映表:

192.168.30.112:4000 -->222.225.80.51:4000

根據公網ip,改請求包的源ip.

180.97.33.107:4000 --->222.25.50.81:4000

在閘道器:

180.97.33.107:4000 --->192.168.30.112:4000

根據閘道器上的靜態對映表,改變目的ip; 總結

在a網中,閘道器中只有乙個合法的公網ip,在a網中的內網中,就只能有一台pc能通過這個閘道器訪問外網,它們之間是一一對應關係,乙個內網ip對應閘道器的乙個公網ip,再進行配置時就已經指定.如果想讓內網中的其它pc也能訪問外網,那麼閘道器就必須有多個公網ip,並對每台系想訪問外網的pc進行靜態配置.

動態nat (多對多)

在客戶機

192.168.30.112:4000 --> 180.97.33.107:4000

在閘道器:

222.225.80.51:4000 --> 180.97.33.107:4000 //這個公網ip是從配置時指定的公網ip中隨機選擇的.也有可能會是222.225.80.52或222.225.80.53;

閘道器上的靜態對映表:

192.168.30.112:4000 -->222.225.80.51:4000

根據公網ip,改請求包的源ip.

回應過程

180.97.33.107:4000 --->222.25.50.81:4000

在閘道器:

180.97.33.107:4000 --->192.168.30.112:4000

根據閘道器上的靜態對映表,改變目的ip;

埠多路復用(多對一,目前使用最多的)

通過使用埠多路復用,可以達到乙個公網位址對應多個私有位址的一對多轉換。在這種工作方式下,內部網路的所有主機均可共享乙個合法外部ip地 址實現對internet的訪問,來自不同內部主機的流量用不同的隨機埠進行標示,從而可以最大限度地節約ip位址資源。同時,又可隱藏網路內部的所有 主機,有效避免來自internet的攻擊。因此,目前網路中應用最多的就是埠多路復用方式。

在客戶機

192.168.30.112:4000 ---> 180.97.33.107:4000

192.168.30.114:4000 ---> 180.97.33.107:4000

在閘道器222.225.80.51:2223 ---> 180.97.33.107:4000

222.225.80.51:2345 --->180.97.33.107:4000

閘道器的對映:

192.168.30.112:4000 ---> 222.225.80.51:2223

192.168.30.114:4000 ---> 222.225.80.51:2345

a網中的a1(192.168.30.112)想訪問b網中的b1(192.168.40.112);

假設1:假設a網中a1首先訪問b網的閘道器(222.225.50.34),那麼a1又怎麼能知道b1的閘道器是222.225.50.34.好,暫且假設a1知道b1的閘道器為222.225.50.34,現在請求到了b1的閘道器,那麼它又怎麼知道發給a網中的哪個主機pc呢.

向外部固定的伺服器註冊外部位址和埠號.

首先,a1和b1都要向伺服器發起註冊,連線中攜帶使用者名稱,這樣伺服器收到連線後就能將註冊資訊中攜帶的ip位址,埠號和使用者名稱關聯,做成一張表:

eg:a1,b1訪問180.34.56.12進行註冊.

a1 192.168.30.112:4000  -- > 180.34.56.12:5687  

b1 192.168.40.112:4000 -- > 180.34.56.12:5678

a1的閘道器對映表: 192.168.30.112:4000 --> 222.225.80.51:2345

b1的閘道器對映表:192.168.40.112:4000 --> 222.225.50.34:3245

在180.34.56.12儲存一張表

使用者名稱閘道器ip

埠a1

222.225.80.51

2345

b1222.225.50.34

3245

現在假設a1訪問b1,先去180.34.56.12檢索b1的閘道器的ip和埠,檢索到向其傳送連線.

NAT 原理與NAT穿越

最近在看負載均衡方面的東西中很多都提到了nat穿越,特意在此總結一下 先做乙個約定 內網a中有 a1 192.168.30.112 a2 192.168.30.114 兩個使用者 閘道器x1 乙個nat裝置 有公網ip222.225.80.51 內網b中有 b1 192.168.40.112 b2 ...

NAT穿越原理介紹

nat是為了節省ip位址而設計的,但它隱藏了內網機器的位址,意外 起到了安全的作用,由於客戶端是主動登入p2p網路才可穿越,所以p2p的方式也沒有違背企業的內部管理原則 穿越nat的意義 nat是為了節省ip位址而設計的,但它隱藏了內網機器的位址,意外 起到了安全的作用。對外不可見,不透明的內部網路...

NAT穿越(一) NAT型別

nat分為四種型別 1 完全透明nat full cone nat 從內部主機 in ip ipa 埠 in port porta 傳送的資料對映為 ip out ip ipa 和埠 out port porta 傳送到外網 從伺服器直連到對映的 ip out ip ipa 和埠 out port ...