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