nat工作原理
tony
深入學習nat工作原理
我們單位中的電腦很多,組成了乙個區域網,網路中只有乙個電腦和外網(internet)相連,當然有乙個外網位址,但僅僅乙個。我以前一直不明白,我們區域網的電腦均能上網,幾台同時上也沒有問題,究竟是怎麼實現的?
當時我知道,internet網上的計算機都必須有乙個ip位址(公址public ip),才能和internet網路上其他裝置正確通訊。在某個時刻必須是唯一的(這句話某個時刻要解釋一下,我以前家用電腦是通過電信上網的,每次登陸上網都會從電信公司isp得到乙個公址public ip,但每次並不相同,當我得到某個公址public ip,外網上的其他裝置不會為我得到的那個公址public ip;但是當我下線以後,其他某一台電腦是可以得到我剛才用的那個公址public ip。其實isp是把公址public ip是租給我的,我不租時他們可以租給其他電腦以提高public ip利用率(public ip就是一種資源,不是無窮無盡的),但是不可以同時把乙個公址public ip租給兩台裝置,可以在不同時間把乙個公址public ip租給兩台或更多裝置,在任一時間乙個公址public ip只對應著internet網上乙個裝置,如我的計算機,而不會兩個)
我們區域網的電腦均能上網,幾台同時上也沒有問題,究竟又是怎麼實現的?這就要說到我們今天學習的nat。
下面先來一段教科書上的定義:nat
網路位址轉換(nat,network address translation)屬接入廣域網(wan)技術,是一種將私有(保留)位址轉化為合法ip
位址的轉換技術,它被廣泛應用於各種型別internet接入方式和各種型別的網路中。原因很簡單,nat不僅完美地解決了lp位址不足的問題,而且還能夠有效地避免來自網路外部的攻擊,隱藏並保護網路內部的計算機。
看了上面定義,還是不能理解區域網中電腦幾台同時均能上網的問題。
nat的實現方式有三種,即靜態轉換static nat、動態轉換dynamic nat 和 埠多路復用overload。
搞懂了其中埠多路復用overload,你就能理解理解區域網中電腦幾台同時均能上網的問題了。不要怕頭疼,接著看,關鍵的地方要到啦。
埠號才是完整的通訊位址!
埠是什麼?我羅嗦幾句。這裡的埠是指軟埠。有有軟就有硬,對!硬埠直觀、簡單,就是電腦主機箱後面的那些插口:rj45介面、串列埠、並口、rs232等等,看得見、數得清的。
軟埠是什麼東東?電腦裡應用程式、服務等開啟的埠,看不見的,當然你看不見不要緊,那些應用程式能知道並使用。每個和外部通訊的應用程式均會建立屬於自己的乙個(或幾個)軟埠以便和外部通訊。當然每個埠有自己的埠號以示區分。通常一台計算機最多可以開65535個埠,也就是說埠號可以是1~65535,完全夠你(的計算機中的應用程式)用的了。我們說的遠端桌面運用,其實就開了乙個埠:3389.通過這乙個埠就可以完全控制你的電腦了。
有人還是搞不清軟埠、硬埠,比如我以前就這樣,看見埠就頭暈。(我這人挺笨的,我媽可以證明)所以我就再比較一下他們。我們通常上網瀏覽、發郵件等會同時開幾個軟埠,他們都是通過rj45這乙個硬埠和外界通訊的,也就是說,乙個硬埠中可以同時通過幾個軟埠中的通訊資料。體會一下吧。什麼,還不懂?!你可以到一邊涼快……
順便說一句,應用程式都必須建立通訊埠嗎?不一定。比如有些遊戲(也是一種應用程式)有單機版和網路版的,單機版就不一定建立通訊埠(如果能更新就要建立),網路版一定會建立。以後你就知道單機版和網路版的含義和區別了吧。
埠問題說了半天,也許你已經……,我要說的,正是這些埠構成nat的基礎,使內網的多台電腦能夠共享乙個公址public ip同時上網。理解上面的內容,下面就說明nat工作原理——本篇重點
!
nat工作原理圖
圖 1
1、假設我們區域網中的一台電腦a(192.168.1.100),開啟了ie瀏覽器,ie
瀏覽器程式執行後,開啟本機的1111
( nat
伺服器的計算機有兩個網絡卡:乙個和內網相連,此網絡卡
ip 是私址(
privite ip
)型別,我們這為
(192.168.1.1)
;另外乙個
和外網(
internet
)相連,此網絡卡
ip 是公址(
public ip
)型別,我們這為
(122.195.93.74)
。他把區域網和外網聯絡起來,並完成內外網位址(ip+埠)的對映工作)
2:1111
改為122.195.93.74
:2222
,這個過程就是nat。資料報的目標位址不變。同時,他會在自己計算機中建立如圖2的對照表(nat table),以後還用的上此表,後面會說到。
圖 2從上我們可以看到,無論是ie瀏覽器程式開的埠,如本例中1111,還是
nat 伺服器的
對映埠本例中2222,都是隨機的,但一旦建立,他們必須是一一對應的對映關係,而且不會被其他程式再使用!
4web伺服器)——
12.130.132.30:80
口執行的程式收到此資料報以後,處理分析得知,要把本站某網頁內容複製後再發到
122.195.93.74
:2222
(注意這是我們的
nat計算機),就打包資料傳送。這個資料報也有源位址和目標位址,源位址
12.130.132.30:80
122.195.93.74
:2222
(我們的
nat計算機)。
5、很快我們的
nat計算機就收到到此包了,
nat計算機根據圖
2的對照表,把此資料報的目標位址從
122.195.93.74
:2222
改為192.168.1.100
:1111,
這個過程也是
nat12.130.132.30:80
。
6、修改後將資料報向內網發出,我的這台區域網中的電腦
a,更確切的說我的電腦執行著的
ie
至此完成我們內網電腦通過
natnat
兩次:在我內網計算機上傳的過程中,資料報的源位址改過一次,目標位址一直保持不變;下傳過程中相反。
類似的,我們區域網中的計算機
b要訪問外網,過程和上相似,
nat伺服器會提供另外乙個未用的埠給區域網中的計算機
b。只要
nat伺服器能提供不同的埠(
nat
NAT基本工作原理
為什麼要有nat技術呢,很明顯是想節省下ip位址。比如有100台要上網的終端,我沒有必要給你100個公有ip,分給你乙個公有ip就行。先介紹下基本分類。1.靜態nat 所謂靜態,就是不動嘛,網路管理員簡稱網管,她會建立乙個nat位址轉換表,該表中的內部位址與公網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穿越
最近在看負載均衡方面的東西中很多都提到了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 ...