NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)是如何工作的?(3) |
發(fā)布時間: 2012/6/27 18:58:13 |
共有網(wǎng)絡(luò)中的一臺計算機要發(fā)送一個數(shù)據(jù)包到私有網(wǎng)絡(luò)。數(shù)據(jù)包中的源地址是一個外部全局地址。目的地址是一個內(nèi)部全局地址。
當(dāng)數(shù)據(jù)包從外部網(wǎng)絡(luò)到達(dá)路由器時,NAT 路由器查看地址轉(zhuǎn)換表發(fā)現(xiàn)其器目的地址有對應(yīng)的內(nèi)部本地地址,NAT 路由器就將其映射到這個存根域 (網(wǎng)絡(luò)) 的那臺計算機上。 NAT路由器將這個數(shù)據(jù)包中的內(nèi)部全局地址 (即其目的地址,譯者) 轉(zhuǎn)換成內(nèi)部本地地址后再查看路由表。只要在地址轉(zhuǎn)換表中沒有發(fā)現(xiàn)相應(yīng)條目,路由器就不會轉(zhuǎn)換,更不會去查看路由表來驗證目的地址,它僅僅是將其丟棄而已。 關(guān)于用路由器命令執(zhí)行 NAT 轉(zhuǎn)換的詳細(xì)信息參見NAT Order of Operation NAT 過載運用了 TCP/IP 協(xié)議棧的一個功能,多路復(fù)用技術(shù),它允許一臺計算機用不同的 TCP 或 UDP 端口維持許多當(dāng)前來自遠(yuǎn)程計算機的連接。一個 IP 數(shù)據(jù)包的頭部包含以下信息: 源地址——發(fā)出數(shù)據(jù)包的計算機的 IP 地址,例如,201.3.83.132 源端口號——源計算機為 TCP 或 UDP 分配的端口號,例如,1080. 目的地址——接收數(shù)據(jù)包的計算機的 IP 地址。例如,145.51.18.223. 目的端口號——源計算機請求接收計算機開放的 TCP 或 UDP 端口號,例如,3021. 地址用來標(biāo)識一個連接兩端的兩臺計算機,而端口號則確保兩臺計算機之間的連接都有一個唯一的標(biāo)識符。這四個數(shù)字一起確定了一個唯一的 TCP/IP 連接。每一個端口號都是16位,這就是說一共有65536個 (2^16) 個端口可供選擇。事實上,不同的廠商映射端口的方式略有不同,所以你可能只有大約4000個端口是可用的。 動態(tài) NAT 和過載舉例 Flash 動畫:動態(tài) NAT 這就是動態(tài) NAT 是如何工作的: 點擊鏈接 Dynamic NAT Flash animation ,點擊任何一個綠色的按鈕是成功發(fā)送一個出去或進(jìn)入存根域 (網(wǎng)絡(luò))。點擊任何一個紅色按鈕是發(fā)送一個帶有非法地址而被路由器丟棄的數(shù)據(jù)包。 左邊是一個公司的內(nèi)部網(wǎng)絡(luò) (存根域) ,其中的 IP 地址并不是由 IANA (Internet Assigned Numbers Authority, 互聯(lián)網(wǎng)編號分配機構(gòu),一個掌握所有 IP 地址的全球權(quán)威機構(gòu) ) 分配的。這些地址并不會被路由器轉(zhuǎn)發(fā),因為它們并不是唯一的 (其他內(nèi)部網(wǎng)絡(luò)也可能有相同的地址,譯者)。這些就是所謂的內(nèi)部本地地址。 這家公司將其路由器配置了 NAT。這個路由器有一段由 IANA 分配給這家公司的唯一 IP 地址。這些地址就是內(nèi)部全局地址。 然后在這個存根域中的一臺計算機試圖連接一臺處于外部網(wǎng)絡(luò)的計算機,比如一臺網(wǎng)絡(luò)億恩科技服務(wù)器。 這臺路由器收到了來自存根域的這臺計算機的數(shù)據(jù)包。 路由器在檢查了路由表之后,轉(zhuǎn)換規(guī)則的驗證程序就會開始執(zhí)行,若通過,則路由器會將這臺計算機的不可路由的 IP 地址保存到一張地址轉(zhuǎn)換表中。路由器用內(nèi)部全局地址中第一個可用 IP 地址替換發(fā)送計算機的不可路由的 IP 地址,F(xiàn)在,地址轉(zhuǎn)換表就擁有了這臺計算的不可路由 IP 地址到一個唯一 IP 地址的匹配映射。 當(dāng)一個數(shù)據(jù)包從目的計算機 (如網(wǎng)絡(luò)億恩科技服務(wù)器) 發(fā)送回來時,路由器檢查數(shù)據(jù)包的目的地址。然后它查看地址轉(zhuǎn)換表確定數(shù)據(jù)包是屬于哪一臺存根域中的計算機。路由器將其目的地址換成它保存在地址轉(zhuǎn)換表中的那個,然后將數(shù)據(jù)包發(fā)送到那臺計算機。如果它沒有在表中找到一條匹配,它就會丟棄這個數(shù)據(jù)包。 這臺計算機收到來自路由器的數(shù)據(jù)包。只要有計算機想要和外部網(wǎng)絡(luò)通信,它們將重復(fù)這個過程。 這是 NAT 過載如何工作的: 假設(shè)一個公司的內(nèi)部網(wǎng)絡(luò) (存根域) 已經(jīng)被設(shè)置了未被 IANA 專門分配的不可路由的 IP 地址。 這家公司將路由器設(shè)置為 NAT 可用的。路由器擁有一個唯一由 IANA 分給這家公司的的 IP 地址。 在存根域中的一臺計算機試圖連接外部網(wǎng)絡(luò)中的一臺計算機,例如一臺網(wǎng)絡(luò)億恩科技服務(wù)器。 路由器收到來自存根域的這臺計算機發(fā)送的數(shù)據(jù)包。 在進(jìn)行轉(zhuǎn)換之前,路由器查找路由并驗證數(shù)據(jù)包是否合乎規(guī)則,然后路由器保存這臺計算機的不可路由的 IP 地址和其端口號到一張地址轉(zhuǎn)換表中。路由器將發(fā)送計算機的不可路由的 IP 地址替換路由器的 IP 地址,將發(fā)送計算機源端口號替換成能夠匹配地址轉(zhuǎn)換表中所存的發(fā)送計算機地址信息位置的端口號。現(xiàn)在這張轉(zhuǎn)換表就將這臺計算機的不可路由的 IP 地址及其端口號與路由器的 IP 地址綁定起來了。 當(dāng)一個數(shù)據(jù)包從目的計算機發(fā)送回來時,路由器檢查其目的端口號 (不用檢查其 IP 地址,因為全部內(nèi)部網(wǎng)絡(luò)都只用路由器的 IP 地址,路由器用端口號映射不同的計算機,譯者)。然后路由器查看地址轉(zhuǎn)換表,找到這個數(shù)據(jù)包所對應(yīng)的存根域中的計算機。如果有,則路由器替換其目的地址和目的端口號,然后發(fā)送到那臺計算機。 本文出自:億恩科技【prubsntakaful.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |