IT小百科之路由、代理、NAT技術(shù)詳解
很多人都知道局域網(wǎng)接入Internet互聯(lián)網(wǎng)的方式有三種,一是路由、二是通過(guò)代理服務(wù)器、三是網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)。但是我相信有很多小伙伴并不真的清楚它們的各自原理和區(qū)別。
今天我就以本篇文章內(nèi)容,詳細(xì)講述一下路由、代理、NAT技術(shù)的實(shí)現(xiàn)原理與彼此區(qū)別!
一、 路由
1、 先了解一下什么是路由
簡(jiǎn)單理解路由就是從源頭到目的路徑的選擇,路徑選擇的過(guò)程會(huì)依據(jù)路由算法,用以確定到達(dá)目的地的最佳路徑的計(jì)量標(biāo)準(zhǔn),如路徑。為了幫助選路,初始化并維護(hù)包含信息的,路徑信息根據(jù)使用的路由算法不同而不同。
根據(jù)許多信息來(lái)填充。目的/對(duì)告知到達(dá)該目的最佳方式是把分組發(fā)送給代表""的路由器,當(dāng)路由器收到一個(gè)分組,它就檢查其目標(biāo)地址,嘗試將此地址與其"下一跳"相聯(lián)系。下表為一個(gè)目的/下一跳的例子。
還可以包括其它信息。比較metric以確定最佳路徑,這些metric根據(jù)所用的而不同。彼此通信,通過(guò)交換路由信息維護(hù)其,路由更新信息通常包含全部或部分路由表,通過(guò)分析來(lái)自其它路由器的路由更新信息,該路由器可以建立。間發(fā)送的另一個(gè)信息是鏈接廣播信息,它通知其它路由器發(fā)送者的鏈接狀態(tài),鏈接信息用于建立完整的拓?fù)鋱D,使路由器可以確定最佳路徑
2、以實(shí)例理解IP路由的基本過(guò)程
下圖共有兩個(gè)不同的網(wǎng)段分別是NetworkA與NetworkB,這兩個(gè)網(wǎng)段是通過(guò)一個(gè)路由器(Server A)來(lái)進(jìn)行數(shù)據(jù)傳遞,那么當(dāng)PC01這臺(tái)主機(jī)想要傳送數(shù)據(jù)到PC11時(shí),它的IP數(shù)據(jù)包該如何傳輸?
過(guò)程分析:
NetworkA(192.168.0.0/24)與NetworkB(192.169.1.0/24)是不同的網(wǎng)段,所以PC01與PC11是不能直接傳遞數(shù)據(jù)的。當(dāng)主機(jī)要發(fā)送數(shù)據(jù)時(shí),它主要參考是路由表,分析過(guò)程如下。
1、查詢IP數(shù)據(jù)包的目標(biāo)IP地址
當(dāng)PC01有IP數(shù)據(jù)包發(fā)送時(shí),主要會(huì)查閱IP數(shù)據(jù)包報(bào)頭的目標(biāo)IP地址。
2、查詢PC01的路由表
PC01主機(jī)會(huì)分析自己的路由表,當(dāng)發(fā)現(xiàn)目標(biāo)IP與本機(jī)IP在同一網(wǎng)段,則PC01會(huì)直接通過(guò)局域網(wǎng),將數(shù)據(jù)直接傳送到目的主機(jī)。
3、查詢默認(rèn)路由
因?yàn)镻C01與PC11不在同一網(wǎng)絡(luò),因此PC01會(huì)分析路由表當(dāng)中是否有其他相符合的路由設(shè)置值,如果沒有,就直接將IP數(shù)據(jù)包發(fā)送到默認(rèn)路由當(dāng)中去,在本應(yīng)用中,Default Gateway是Server A這臺(tái)。
4、送出數(shù)據(jù)包到Default Gateway后,不理會(huì)數(shù)據(jù)包流向
當(dāng)IP由PC01送給Server A之后,PC01就不理會(huì)接下來(lái)的工作,而Server A接收到這個(gè)數(shù)據(jù)包后,會(huì)依據(jù)上面的流程,也分析自己的路由表,然后向后繼續(xù)傳輸?shù)秸_的目的主機(jī)上面。
5、直接路由連接互聯(lián)網(wǎng)的方式并不可取
理解了路由的基本概念后,應(yīng)該知道路由過(guò)程源iP是不變的,那么就要求都有真實(shí)的公網(wǎng)IP,而公網(wǎng)IP地址屬于緊缺資源,并且直接用公網(wǎng)IP暴露在公網(wǎng)上安全也無(wú)法得到保障。所以直接路由這種上互聯(lián)網(wǎng)的方案在多數(shù)環(huán)境下并不可取。
二、 代理服務(wù)器
1、什么是代理服務(wù)器
代理服務(wù)器(Proxy Server)是個(gè)人網(wǎng)絡(luò)和Internet服務(wù)商之間的中間代理機(jī)構(gòu),它負(fù)責(zé)轉(zhuǎn)發(fā)合法的網(wǎng)絡(luò)信息,對(duì)轉(zhuǎn)發(fā)進(jìn)行控制和登記。代理服務(wù)器作為連接Internet(廣域網(wǎng))與Intranet(局域網(wǎng))的橋梁,在實(shí)際應(yīng)用中發(fā)揮著極其重要的作用,它可用于多個(gè)目的,最基本的功能是連接,此外還包括安全性,緩存,內(nèi)容過(guò)濾,訪問(wèn)控制管理等功能。代理服務(wù)器,顧名思義就是局域上不能直接上網(wǎng)的機(jī)器將上網(wǎng)請(qǐng)求(比如說(shuō),瀏覽某個(gè)主頁(yè))發(fā)給能夠直接上網(wǎng)的代理服務(wù)器,然后代理服務(wù)器代理完成這個(gè)上網(wǎng)請(qǐng)求,將它所要瀏覽的主頁(yè)調(diào)入代理服務(wù)器的緩存;然后將這個(gè)頁(yè)面?zhèn)鹘o請(qǐng)求者。這樣局域網(wǎng)上的機(jī)器使用起來(lái)就像能夠直接訪問(wèn)網(wǎng)絡(luò)一樣。并且,代理服務(wù)器還可以進(jìn)行一些網(wǎng)站的過(guò)濾和控制的功能,這樣就實(shí)現(xiàn)了我們控制和節(jié)省上網(wǎng)費(fèi)用。
通俗理解: 我們或許會(huì)幫忙家人去辦理一些雜務(wù)吧!舉個(gè)例子來(lái)說(shuō),例如繳費(fèi)或者是申辦提款卡等等的, 由于你并不是『申請(qǐng)者本人』而是『代理人』的角色,因此有時(shí)候會(huì)需要拿出一些證件, 代理服務(wù)器(Proxy Server)與上面真實(shí)世界一樣,當(dāng)客戶端有因特網(wǎng)的數(shù)據(jù)要求時(shí), Proxy 會(huì)幫用戶去向目的地取得用戶所需要的數(shù)據(jù)。所以,當(dāng)客戶端指定 WWW 的代理服務(wù)器之后,用戶的所有 WWW 相關(guān)要求就會(huì)通過(guò)代理服務(wù)器去捉取。
代理分類:HTTP代理;socks代理;VPN代理;FTP代理等
2、代理服務(wù)器的原理和運(yùn)作流程
工作原理:
客戶端首先與代理服務(wù)器創(chuàng)建連接,接著根據(jù)代理服務(wù)器所使用的代理協(xié)議,請(qǐng)求對(duì)目標(biāo)服務(wù)器創(chuàng)建連接、或者獲得目標(biāo)服務(wù)器的指定資源(如:文件)。
在后一種情況中,代理服務(wù)器可能對(duì)目標(biāo)服務(wù)器的資源下載至本地緩存,如果客戶端所要獲取的資源在代理服務(wù)器的緩存之中,則代理服務(wù)器并不會(huì)向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,而是直接返回緩存了的資源。一些代理協(xié)議允許代理服務(wù)器改變客戶端的原始請(qǐng)求、目標(biāo)服務(wù)器的原始響應(yīng),以滿足代理協(xié)議的需要。代理服務(wù)器的選項(xiàng)和設(shè)置在計(jì)算機(jī)程序中,通常包括一個(gè)"防火墻",允許用戶輸入代理地址,它會(huì)遮蓋他們的網(wǎng)絡(luò)活動(dòng),可以允許繞過(guò)互聯(lián)網(wǎng)過(guò)濾實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)。
運(yùn)作流程:
cache的存在,可以做假象的web加速;
當(dāng)Proxy的快取擁有用戶所想要的數(shù)據(jù)時(shí):
- a. Client 端向 Server 端發(fā)送一個(gè)數(shù)據(jù)需求封包;
- b. Server 端接收之后,先比對(duì)這個(gè)封包的『來(lái)源』與預(yù)計(jì)要前往的『目標(biāo)』網(wǎng)站是否為可接受? 如果來(lái)源與目標(biāo)都是合法的,或者說(shuō),來(lái)源與目標(biāo)網(wǎng)站我們的 Proxy 都能幫忙取得資料時(shí),那么 Server 端會(huì)開始替 Client 取得資料。這個(gè)步驟中比較重要的就是『比對(duì)政策』啦,有點(diǎn)像是認(rèn)證的感覺啦;
- c. Server 首先會(huì)檢查自己快取 (新的數(shù)據(jù)可能在內(nèi)存中,較舊的數(shù)據(jù)則放置在硬盤上) 數(shù)據(jù), 如果有 Client 所需的數(shù)據(jù),那就將數(shù)據(jù)準(zhǔn)備取出,而不經(jīng)過(guò)向 Internet 要求數(shù)據(jù)的程序;
- 最后當(dāng)然就是將數(shù)據(jù)回傳給 Client 端!
當(dāng)Proxy的快取沒有用戶所想要的數(shù)據(jù)時(shí):
1) Client 端向 Server 端發(fā)送一個(gè)數(shù)據(jù)需求封包;
2) Server 端接收之后,開始進(jìn)行政策比對(duì);
3) Server 發(fā)現(xiàn)快取并沒有 Client 所需要的資料,準(zhǔn)備前往因特網(wǎng)抓取數(shù)據(jù);
4) Server 開始向 Internet 發(fā)送要求與取得相關(guān)資料;
5) 最后當(dāng)然就是將數(shù)據(jù)回傳給 Client 端啰!
3、基本功能
(1) 充當(dāng)局域網(wǎng)與外部網(wǎng)絡(luò)的連接出口 充當(dāng)局域網(wǎng)與外部網(wǎng)絡(luò)的連接出口,同時(shí)將內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)的狀態(tài)對(duì)外屏蔽起來(lái),使外部不能直接訪問(wèn)內(nèi)部網(wǎng)絡(luò)。從這一點(diǎn)上說(shuō),代理服務(wù)器就充當(dāng)?shù)木W(wǎng)關(guān)。
(2)作為防火墻 代理服務(wù)器.可以保護(hù)局域網(wǎng)的安全,起防火墻的作用。通過(guò)設(shè)置防火墻,為公司內(nèi)部的網(wǎng)絡(luò)提供安全邊界,防止外界的侵入。 (3)網(wǎng)址過(guò)濾和訪問(wèn)權(quán)限限制 代理服務(wù)器可以設(shè)置IP地址過(guò)濾,對(duì)外界或內(nèi)部的Internet地址進(jìn)行過(guò)濾,限制不同用戶的訪問(wèn)權(quán)限。例如代理服務(wù)器可以用來(lái)限制封鎖IP地址,禁止用戶對(duì)某些網(wǎng)頁(yè)進(jìn)行瀏覽。 (4)提高訪問(wèn)速度 代理服務(wù)器將遠(yuǎn)程服務(wù)器提供的數(shù)據(jù)保存在自己的硬盤上,如果有許多用戶同時(shí)使用這一個(gè)代理服務(wù)器,他們對(duì)Internet站點(diǎn)所有的訪問(wèn)都會(huì)經(jīng)由這臺(tái)代理服務(wù)器來(lái)實(shí)現(xiàn)。當(dāng)有人訪問(wèn)過(guò)某一站點(diǎn)后,所訪問(wèn)站點(diǎn)的內(nèi)容便會(huì)被保存在代理服務(wù)器的硬盤上,如果下一次有人再要訪問(wèn)這個(gè)站點(diǎn)時(shí),這些內(nèi)容便會(huì)直接從代理服務(wù)器磁盤中取得,而不必再次連接到遠(yuǎn)程服務(wù)器上去取。因此,它可以節(jié)約帶寬、提高訪問(wèn)速度。
三、NAT網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)
1、先了解幾個(gè)基本名詞
公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(網(wǎng)絡(luò)信息中心)或者ISP(網(wǎng)絡(luò)服務(wù)提供商)分配的地址,對(duì)外代表一個(gè)或多個(gè)內(nèi)部局部地址,是全球統(tǒng)一的可尋 址的地址。
私有IP地址:也叫內(nèi)部地址,屬于非注冊(cè)地址,專門為組織機(jī)構(gòu)內(nèi)部使用。因特網(wǎng)分配編號(hào)委員會(huì)(IANA)保留了3塊IP地址做為私有IP地址:
10.0.0.0 ——— 10.255.255.255
172.16.0.0——— 172.16.255.255
192.168.0.0———192.168.255.255
地址池:地址池是有一些外部地址(全球唯一的IP地址)組合而成,我們稱這樣的一個(gè)地址集合為地址池。在內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包通過(guò)地址轉(zhuǎn)換到達(dá)外部網(wǎng)絡(luò)時(shí),將會(huì)在地址池中選擇某個(gè)IP地址作為數(shù)據(jù)包的源IP地址,這樣可以有效的利用用戶的外部地址,提高訪問(wèn)外部網(wǎng)絡(luò)的能力。
2、什么是NAT?
NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是1994年提出的。它是一個(gè)IETF(Internet Engineering Task Force, Internet工程任務(wù)組)標(biāo)準(zhǔn),允許一個(gè)整體機(jī)構(gòu)以一個(gè)公用IP(Internet Protocol)地址出現(xiàn)在Internet上。顧名思義,它是一種把內(nèi)部私有網(wǎng)絡(luò)地址(IP地址)翻譯成合法網(wǎng)絡(luò)IP地址的技術(shù),如下圖所示。因此我們可以認(rèn)為,NAT在一定程度上,能夠有效的解決公網(wǎng)地址不足的問(wèn)題。
簡(jiǎn)單理解,NAT就是在局域網(wǎng)內(nèi)部網(wǎng)絡(luò)中使用內(nèi)部地址,而當(dāng)內(nèi)部節(jié)點(diǎn)要與外部網(wǎng)絡(luò)進(jìn)行通訊時(shí),就在網(wǎng)關(guān)(可以理解為出口,打個(gè)比方就像院子的門一樣)處,將內(nèi)部地址替換成公用地址,從而在外部公網(wǎng)(internet)上正常使用,NAT可以使多臺(tái)計(jì)算機(jī)共享Internet連接,這一功能很好地解決了公共 IP地址緊缺的問(wèn)題。通過(guò)這種方法,可以只申請(qǐng)一個(gè)合法IP地址,就把整個(gè)局域網(wǎng)中的計(jì)算機(jī)接入Internet中。這時(shí),NAT屏蔽了內(nèi)部網(wǎng)絡(luò),所有內(nèi)部網(wǎng)計(jì)算機(jī)對(duì)于公共網(wǎng)絡(luò)來(lái)說(shuō)是不可見的,而內(nèi)部網(wǎng)計(jì)算機(jī)用戶通常不會(huì)意識(shí)到NAT的存在。如下圖所示。這里提到的內(nèi)部地址,是指在內(nèi)部網(wǎng)絡(luò)中分配給節(jié)點(diǎn)的私有IP地址,這個(gè)地址只能在內(nèi)部網(wǎng)絡(luò)中使用,不能被路由轉(zhuǎn)發(fā)。
3、NAT的功能
NAT不僅能解決了lP地址不足的問(wèn)題,而且還能夠有效地避免來(lái)自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)。
1)寬帶分享:這是 NAT 主機(jī)的最大功能。
2)安全防護(hù):NAT 之內(nèi)的 PC 聯(lián)機(jī)到 Internet 上面時(shí),他所顯示的 IP 是 NAT 主機(jī)的公共 IP,所以 Client 端的 PC 當(dāng)然就具有一定程度的安全了,外界在進(jìn)行 portscan(端口掃描) 的時(shí)候,就偵測(cè)不到源Client 端的 PC 。
4、NAT的分類
NAT的分類有三種,即靜態(tài)轉(zhuǎn)換Static Nat、動(dòng)態(tài)轉(zhuǎn)換Dynamic Nat和端口多路復(fù)用OverLoad。
靜態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公有IP地址,IP地址對(duì)是一對(duì)一的,是一成不變的,某個(gè)私有IP地址只轉(zhuǎn)換為某個(gè)公有IP地址。借助于靜態(tài)轉(zhuǎn)換,可以實(shí)現(xiàn)外部網(wǎng)絡(luò)對(duì)內(nèi)部網(wǎng)絡(luò)中某些特定設(shè)備(如服務(wù)器)的訪問(wèn)。
動(dòng)態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公用IP地址時(shí),IP地址是不確定的,是隨機(jī)的,所有被授權(quán)訪問(wèn)上Internet的私有IP地址可隨機(jī)轉(zhuǎn)換為任何指定的合法IP地址。也就是說(shuō),只要指定哪些內(nèi)部地址可以進(jìn)行轉(zhuǎn)換,以及用哪些合法地址作為外部地址時(shí),就可以進(jìn)行動(dòng)態(tài)轉(zhuǎn)換。動(dòng)態(tài)轉(zhuǎn)換可以使用多個(gè)合法外部地址集。當(dāng)ISP提供的合法IP地址略少于網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)數(shù)量時(shí)??梢圆捎脛?dòng)態(tài)轉(zhuǎn)換的方式。
端口多路復(fù)用(Port address Translation,PAT)是指改變外出數(shù)據(jù)包的源端口并進(jìn)行端口轉(zhuǎn)換,即端口地址轉(zhuǎn)換(PAT,Port Address Translation).采用端口多路復(fù)用方式。內(nèi)部網(wǎng)絡(luò)的所有主機(jī)均可共享一個(gè)合法外部IP地址實(shí)現(xiàn)對(duì)Internet的訪問(wèn),從而可以最大限度地節(jié)約IP地址資源。同時(shí),又可隱藏網(wǎng)絡(luò)內(nèi)部的所有主機(jī),有效避免來(lái)自internet的攻擊。因此,目前網(wǎng)絡(luò)中應(yīng)用最多的就是端口多路復(fù)用方式。
ALG(Application Level Gateway),即應(yīng)用程序級(jí)網(wǎng)關(guān)技術(shù):傳統(tǒng)的NAT技術(shù)只對(duì)IP層和傳輸層頭部進(jìn)行轉(zhuǎn)換處理,但是一些應(yīng)用層協(xié)議,在協(xié)議數(shù)據(jù)報(bào)文中包含了地址信息。為了使得這些應(yīng)用也能透明地完成NAT轉(zhuǎn)換,NAT使用一種稱作ALG的技術(shù),它能對(duì)這些應(yīng)用程序在通信時(shí)所包含的地址信息也進(jìn)行相應(yīng)的NAT轉(zhuǎn)換。例如:對(duì)于FTP協(xié)議的PORT/PASV命令、DNS協(xié)議的 "A" 和 "PTR" queries命令和部分ICMP消息類型等都需要相應(yīng)的ALG來(lái)支持。
如果協(xié)議數(shù)據(jù)報(bào)文中不包含地址信息,則很容易利用傳統(tǒng)的NAT技術(shù)來(lái)完成透明的地址轉(zhuǎn)換功能,通常我們使用的如下應(yīng)用就可以直接利用傳統(tǒng)的NAT技術(shù):HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。
NAT映射圖解:
5、NAT工作原理
地址轉(zhuǎn)換:當(dāng)私有網(wǎng)主機(jī)和公共網(wǎng)主機(jī)通信的IP包經(jīng)過(guò)NAT網(wǎng)關(guān)時(shí),將IP包中的源IP或目的IP在私有IP和NAT的公共IP之間進(jìn)行轉(zhuǎn)換。
如下圖所示,NAT網(wǎng)關(guān)有2個(gè)網(wǎng)絡(luò)端口,其中公共網(wǎng)絡(luò)端口的IP地址是統(tǒng)一分配的公共 IP,為202.20.65.5;私有網(wǎng)絡(luò)端口的IP地址是保留地址為192.168.1.1。私有網(wǎng)中的主機(jī)192.168.1.2向公共網(wǎng)中的主機(jī)202.20.65.4發(fā)送了1個(gè)IP包(Dst=202.20.65.4,Src=192.168.1.2)。
當(dāng)IP包經(jīng)過(guò)NAT網(wǎng)關(guān)時(shí),NAT Gateway會(huì)將IP包的源IP轉(zhuǎn)換為NAT Gateway的公共IP并轉(zhuǎn)發(fā)到公共網(wǎng),此時(shí)IP包(Dst=202.20.65.4,Src=202.20.65.5)中已經(jīng)不含任何私有網(wǎng)IP的信息。由于IP包的源IP已經(jīng)被轉(zhuǎn)換成NAT Gateway的公共IP,Web Server發(fā)出的響應(yīng)IP包(Dst= 202.20.65.5,Src=202.20.65.4)將被發(fā)送到NAT Gateway。
這時(shí),NAT Gateway會(huì)將IP包的目的IP轉(zhuǎn)換成私有網(wǎng)中主機(jī)的IP,然后將IP包(Des=192.168.1.2,Src=202.20.65.4)轉(zhuǎn)發(fā)到私有網(wǎng)。對(duì)于通信雙方而言,這種地址的轉(zhuǎn)換過(guò)程是完全透明的。轉(zhuǎn)換示意圖如下。
如果內(nèi)網(wǎng)主機(jī)發(fā)出的請(qǐng)求包未經(jīng)過(guò)NAT,那么當(dāng)Web Server收到請(qǐng)求包,回復(fù)的響應(yīng)包中的目的地址就是私有網(wǎng)絡(luò)IP地址,在Internet上無(wú)法正確送達(dá),導(dǎo)致連接失敗。
連接跟蹤:
在上述過(guò)程中,NAT Gateway在收到響應(yīng)包后,就需要判斷將數(shù)據(jù)包轉(zhuǎn)發(fā)給誰(shuí)。此時(shí)如果子網(wǎng)內(nèi)僅有少量客戶機(jī),可以用靜態(tài)NAT手工指定;但如果內(nèi)網(wǎng)有多臺(tái)客戶機(jī),并且各自訪問(wèn)不同網(wǎng)站,這時(shí)候就需要連接跟蹤(connection track)。如下圖所示:
在NAT Gateway收到客戶機(jī)發(fā)來(lái)的請(qǐng)求包后,做源地址轉(zhuǎn)換,并且將該連接記錄保存下來(lái),當(dāng)NAT Gateway收到服務(wù)器來(lái)的響應(yīng)包后,查找Track Table,確定轉(zhuǎn)發(fā)目標(biāo),做目的地址轉(zhuǎn)換,轉(zhuǎn)發(fā)給客戶機(jī)。
端口轉(zhuǎn)換:
以上述客戶機(jī)訪問(wèn)服務(wù)器為例,當(dāng)僅有一臺(tái)客戶機(jī)訪問(wèn)服務(wù)器時(shí),NAT Gateway只須更改數(shù)據(jù)包的源IP或目的IP即可正常通訊。但是如果Client A和Client B同時(shí)訪問(wèn)Web Server,那么當(dāng)NAT Gateway收到響應(yīng)包的時(shí)候,就無(wú)法判斷將數(shù)據(jù)包轉(zhuǎn)發(fā)給哪臺(tái)客戶機(jī),如下圖所示。
此時(shí),NAT Gateway會(huì)在Connection Track中加入端口信息加以區(qū)分。如果兩客戶機(jī)訪問(wèn)同一服務(wù)器的源端口不同,那么在Track Table里加入端口信息即可區(qū)分,如果源端口正好相同,那么在實(shí)行SNAT和DNAT的同時(shí)對(duì)源端口也要做相應(yīng)的轉(zhuǎn)換,如下圖所示。
四、路由、代理服務(wù)器、NAT區(qū)別
1、代理服務(wù)器和NAT區(qū)別
應(yīng)用的區(qū)別, NAT 設(shè)備是網(wǎng)絡(luò)基礎(chǔ)設(shè)備之一, 解決的是IP不足的問(wèn)題,而代理服務(wù)器則是更貼近具體應(yīng)用。
例如: 通過(guò)代理服務(wù)器進(jìn)行"翻墻", 另外像迅游這樣的加速器, 也是使用代理服務(wù)器實(shí)現(xiàn)的
底層實(shí)現(xiàn)的區(qū)別, NAT 是工作在網(wǎng)絡(luò)層的, 直接對(duì)IP地址進(jìn)行替換,而代理服務(wù)器往往工作在應(yīng)用層。
使用范圍的區(qū)別, NAT 一般在局域網(wǎng)的出口部署,而代理服務(wù)器可以在局域網(wǎng)做, 也可以在廣域網(wǎng)做, 也可以跨網(wǎng)。
部署位置的區(qū)別, NAT 一般集成在防火墻, 路由器等硬件設(shè)備上,而代理服務(wù)器則是一個(gè)軟件程序, 需要部署在服務(wù)器上
2、路由與NAT的區(qū)別
本質(zhì)區(qū)別:數(shù)據(jù)包通過(guò)路由可以從一個(gè)網(wǎng)絡(luò)到另一個(gè)網(wǎng)絡(luò),他是通過(guò)數(shù)據(jù)包的目的IP和源IP實(shí)現(xiàn)的,當(dāng)一個(gè)數(shù)據(jù)包進(jìn)入路由器是,路由器會(huì)根據(jù)她的目標(biāo)ip和源ip在路由表中查找,并將數(shù)據(jù)包原封不動(dòng)的傳向路由器的某個(gè)端口。而數(shù)據(jù)包通過(guò)NAT,NAT將會(huì)根據(jù)規(guī)則將數(shù)據(jù)包中的源ip和目標(biāo)IP改變,并在NAT機(jī)器上做改變記錄。
簡(jiǎn)而言之,路由不改變數(shù)據(jù)包包頭信息,NAT則改變;
表面區(qū)別:路由打通的兩個(gè)網(wǎng)段地位是公平的,既都是公網(wǎng)或都是私網(wǎng),理解起來(lái)比較簡(jiǎn)單,因?yàn)槁酚刹桓淖儼^信息,所以如果用路由連接公網(wǎng)和私網(wǎng)的話,目的地址為私網(wǎng)(192.168.1.2)的數(shù)據(jù)包在公網(wǎng)上找不到歸宿。其實(shí)路由表里面也沒有相關(guān)的路由信息。
NAT打通的可以是兩個(gè)公平的網(wǎng)絡(luò),也可以是一個(gè)內(nèi)網(wǎng)和一個(gè)外網(wǎng)。
五、什么時(shí)候用路由?什么時(shí)候用代理?什么時(shí)候用NAT?
1、公網(wǎng)與公網(wǎng)之間訪問(wèn)用路由
2、專網(wǎng)之間訪問(wèn)多數(shù)用路由,例如:政務(wù)專網(wǎng)、金融專網(wǎng)、集團(tuán)專網(wǎng)、能源專網(wǎng)等
3、私網(wǎng)中不同網(wǎng)段之間訪問(wèn)多數(shù)用路由
4、內(nèi)網(wǎng)通過(guò)路由器訪問(wèn)公網(wǎng)時(shí)多數(shù)用NAT
5、突破自身IP訪問(wèn)限制,訪問(wèn)一些國(guó)外的站點(diǎn);比如Google,F(xiàn)acebook等網(wǎng)站時(shí)用代理
6、提高訪問(wèn)速度可以用代理服務(wù)器,代理服務(wù)器都設(shè)置一個(gè)較大的硬盤緩沖區(qū),當(dāng)有外界的信息通過(guò)時(shí),同時(shí)也將其保存到緩沖區(qū)中,當(dāng)其他用戶再訪問(wèn)相同的信息時(shí), 則直接由緩沖區(qū)中取出信息,傳給用戶,以提高訪問(wèn)速度;
7、隱藏真實(shí)IP用代理