**:
最近在看負載均衡方面的東西中很多都提到了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 ...