網絡地址轉換

網絡地址轉換

網絡技術
在計算器網絡中,網絡地址轉換(Network Address Translation,縮寫為NAT),也叫做網絡掩蔽或者IP掩蔽(IP masquerading),是一種在IP數據包通過路由器或防火牆時重寫來源IP地址或目的IP地址的技術。這種技術被普遍使用在有多台主機但隻通過一個公有IP地址訪問因特網的私有網絡中。[1]它是一個方便且得到了廣泛應用的技術。當然,NAT也讓主機之間的通信變得複雜,導緻了通信效率的降低。
    中文名:網絡地址轉換 外文名: 定義: 英文名:Network Address Translation 簡介:NAT 功 能:隐藏并保護網絡内部的計算機 技 術:廣域網 實現方式:靜态、動态轉換和端口多路複用

簡介

概述

NAT(NetworkAddressTranslation,網絡地址轉換)是将IP數據包頭中的IP地址轉換為另一個IP地址的過程。在實際應用中,NAT主要用于實現私有網絡訪問公共網絡的功能。這種通過使用少量的公有IP地址代表較多的私有IP地址的方式,将有助于減緩可用IP地址空間的枯竭。NAT有三種類型:靜态NAT(StaticNAT)、動态地址NAT(PooledNAT)、網絡地址端口轉換NAPT(Port-LevelNAT)。

說明:

私有IP地址是指内部網絡或主機的IP地址,公有IP地址是指在因特網上全球唯一的IP地址。

RFC1918為私有網絡預留出了三個IP地址塊,如下:

A類:10.0.0.0~10.255.255.255

B類:172.16.0.0~172.31.255.255

C類:192.168.0.0~192.168.255.255

上述三個範圍内的地址不會在因特網上被分配,因此可以不必向ISP或注冊中心申請而在公司或企業内部自由使用。

工作流程

①client(終端)的gateway設定為NAT主機,所以當要連上Internet的時候,該封包就會被送到NAT主機,這個時候的封包Header之sourceIP(源IP)為192.168.1.100;

②而透過這個NAT主機,它會将client的對外聯機封包的sourceIP(192.168.1.100)僞裝成ppp0(假設為撥接情況)這個接口所具有的公共IP,因為是公共IP了,所以這個封包就可以連上Internet了!同時NAT主機并且會記憶這個聯機的封包是由哪一個(192.168.1.100)client端傳送來的;

Nat流程2

③由Internet傳送回來的封包,當然由NAT主機來接收了,這個時候,NAT主機會去查詢原本記錄的路由信息,并将目标IP由ppp0上面的公共IP改回原來的192.168.1.100;

④最後則由NAT主機将該封包傳送給原先發送封包的Client。

架設需求

由前面NAT(NetworkAddressTranslation)的介紹,我們知道他可以作為寬帶分享的主機,當然也可以管理一群在NAT主機後面的Client計算機。所以NAT的功能至少有這兩項:

①寬帶分享:這是NAT主機的最大功能。

②安全防護:NAT之内的PC聯機到Internet上面時,他所顯示的IP是NAT主機的公共IP,所以Client端的PC當然就具有一定程度的安全了!外界在進行portscan(端口掃描)的時候,就偵測不到源Client端的PC。

轉換原因

由于保密原因或 IP 在外網不合法,網絡的内部 IP 地址無法在外部網絡使用,就産生了 IP 地址轉換的需求。局域網絡以外的網絡的拓撲結構能以多種方式改變:公司更換供應商;重組公司主幹網絡或者供應商合并或散夥。一旦外部拓撲結構改變,本地網絡的地址分配也必須改變以反映外部變化。

通過将這些變化集中在單個地址轉換路由器中,局域網用戶并不需知道這些改變。基本地址轉換允許主機從内部網絡中透明地訪問外部網絡,并容許從外部訪問選定的本地主機。對于一個機構其網絡主要用于内部服務而僅有時用于外部訪問, 這種配置是很适用的。

使用這種轉換方法是有一定限制的,即會話的請求及響應的發送必須經過相同的 NAT路由器。在邊界路由器上安裝 NAT 能确保這一過程,邊界路由器在該域中是唯一的,而所有經過的 IP 包要麼來自于此域要麼到達此域。此外還可使用多重 NAT 設備确保這一過程。

NAT 解決方法有其不足之處,僅以增強的網絡狀态作為補充,而忽略了 IP 地址端對端的重要性。結果是,由于存在 NAT 設備,由 IPSec 保證的端對端 IP 網絡級安全無法應用到終端主機。此方法的優勢是不需要改變主機或路由器就可以直接安裝 NAT 。

具體示例

示例一

當ISP分配的IP地址數量很少,網絡又沒有其他特殊需求,即無需為Internet提供網絡服務時,可采用端口利用地址轉換方式,使網絡内的計算機采用同一IP地址訪問Internet,在節約IP地址資源的同時,又可有效保護網絡内部的計算機。

網絡環境:

局域網采用10Mb/s光纖,以城域網方式接入Internet。路由器選用擁有2個10/100Mb/s自适應端口的Cisco2611。内部網絡使用的IP地址段為192.168.100.1~192.101.254,局域網端口Ethernet0的IP地址為192.168.100.1,子網掩碼為255.255.0.0。網絡分配的合法IP地址範圍為202.99.160.128~202.99.160.131,連接ISP的端口Ethernet1的IP地址為202.99.160.129,子網掩碼為255.255.255.252。可用于轉換的IP地址為202.99.160.130。要求網絡内部的所有計算機均可訪問Internet。

案例分析:

既然隻有一個可用的合法IP地址,同時處于局域網的服務器又隻為局域網提供服務,而不允許Internet中的主機對其訪問,因此完全可以采用端口複用地址轉換方式實現NAT,使得網絡内的所有計算機均可獨立訪問Internet。

示例二

許多FTP網站考慮到服務器性能和Internet連接帶寬的占用問題,都限制同一IP地址的多個進程訪問。如果采用端口複地址轉換方式,則網絡内的所以計算機都采用同一IP地址訪問Internet,那麼,将因此而被禁止對該網站的訪問。所以,當提供的合法IP地址數量稍多時,可同時采用端口複用和動态地址轉換方式,從而既可保證所有用戶都能夠獲得訪問Internet的權力,同時,又不緻、某些計算機因使用同一IP地址而被限制權限。需要注意的是,由于所有計算機都采用動态地址轉換方式,因此Internet中的所有計算機将無法實現對網絡内部服務器的訪問。

網絡環境:

局域網以2Mb/sDNA專線接入Internet,路由器選用安裝了廣域網模塊的Cisco2611。内部網絡使用的IP地址段為172.16.100.1~172.16.102.254,局域網端口Ethernet0的IP地址為172.16.100.1,子網掩碼為255.255.0.0。網絡分配的合法IP地址範圍為202.99.160.128~202.99.160.129,子網掩碼為255.255.255.192,可用于轉換的IP地址範圍為202.99.160.130~202.99.160.190。要求網絡部分的部分計算機可以不受任何限制地訪問Internet,服務器無需提供Internet訪問服務。

案例分析:

既然要求網絡中的部分計算機可以不受任何限制地訪問Internet,同時,服務器無需提供Internet訪問服務,那麼,隻需采用動态地址轉換+端口複用地址轉換方式即可實現。部分有特殊需求的計算機采用動态地址轉換的NAT方式,其他計算機則采用端口複用地址轉換的NAT方式。因此,部分有特殊需求的計算機可采用内部網址172.16.100.1~172.16.100.254,并動态轉換為合法地址202.99.160.130~202.99.160.189,其他計算機采用内部網址172.16.101.1~172.16.102.254,全部轉換為202.99.160.190。

示例三

網絡中的服務器既為網絡内部的客戶提供網絡服務,又同時為Internet中的用戶提供訪問服務。因此,如果采用端口複用地址轉換或動态地址轉換,将由于無法确定服務器的IP地址,而導緻Internet用戶無法實現對網絡内部服務器的訪問。應當采用靜态地址轉換+端口複用地址轉換的NAT方式。也就是說,對服務器采用靜态地址轉換,以确保服務器擁有固定的合法IP地址。而對普通的客戶計算機則采用端口複用地址轉換,使所有用戶都享有訪問Internet的權力。

網絡環境:

局域網采用10Mb/s光纖,以城域網方式接入Internet。路由器選用擁有2個10/100Mb/s自适應端口的Cisco2611。内部網絡使用的IP地址段為10.18.100.1~10.18.104.254,局域網端口Ethernet0的IP地址為10.18.100.1,子網掩碼為255.255.0.0。網絡分配的合法IP地址範圍為211.82.220.80~211.82.220.87,連接ISP的端口Ethernet1的IP地址為211.82.220.81,子網掩碼為255.255.255.248。要求網絡内部的所有計算機均可訪問Internet,并且在Internet中提供Web、E-mail、FTP和Media等4種服務。

案例分析:

既然網絡内的服務器要求能夠被Internet訪問到,那麼,這部分主機必須擁有合法的IP地址,也就是說,服務器必須采用靜态地址轉換。其他計算機由于沒有任何限制,所以,可采用端口複用地址轉換的NAT方式。因此,服務器可采用内網址10.18.100.1~10.18.100.254,并分别映射為一個合法的IP地址。其他計算機則采用内部網址10.18.101.1~172.16.104.254,并全部轉換為一個合法的IP地址。

示例四

NAT映射如果ISP提供的合法IP地址的數量較多,我們自然可以采用靜态地址轉換+端口複用動态地址轉換的方式得以完美實現。但如果ISP隻提供4個IP地址,其中2個作為網絡号和廣播地址而不可使用,1個IP地址要用于路由器定義為默認網關,那麼将隻剩下1個IP地址可用。當然我們也可以利用這個僅存的一個IP地址采用端口複用地址轉換技術,從而實現整個局域網的Internet接入。但是由于服務器也采用動态端口,因此,Internet中的計算機将無法訪問到網絡内部的服務器。有沒有好的解決問題的方案呢?這就是TCP/UDP端口NAT映射。

不同應用程序使用的TCP/UDP的端口是不同的,比如,Web服務使用80,FTP服務使用21,SMTP服務使用25,POP3服務使用110,等等。因此,可以将不同的TCP端口綁定至不同的内部IP地址,從而隻使用一個合法的IP地址,即可在允許内部所有服務器被Internet訪問的同時,實現内部所有主機對Internet訪問。

網絡環境:

局域網采用10Mb/s光纖,以城域網方式接入Internet,如圖4-2-5所示。路由器選用擁有2個10/100Mb/s自适應端口的Cisco2611。内部網絡使用的IP地址段為192.168.1.1~192.168.1.254,局域網端口Ethernet0的IP地址為192.168.1.1,子網掩碼為255.255.255.0。網絡分配的合法IP地址範圍為,211.82.220.128~211.82.220.131,連接ISP的端口Ethernet1的IP地址為211.82.220.129,子網掩碼為255.225.255.252,可用于轉換的IP地址為211.82.220.130。要求網絡内部的所有計算機均可訪問Internet。

案例分析:

既然隻有一個可用的合法IP地址,當然隻能采用端口複用方式實現NAT,不過,由于同時又要求網絡内部的服務器可以被Internet訪問到,因此,必須使用PAT創建TCP/UDP端口的NAT映射。需要注意的是,也可以直接使用廣域端口創建TCP/UDP端口的NAT映射,也就是說,即使隻有一個IP地址,也可以完美實現端口複用。由于合法IP地址位于路由器端口上,所以,不再需要定義NAT池,隻簡單地使用insidesourcelist語句即可。

需要注意的是,由于每種應用服務都有自己默認的端口,所以,這種NAT方式下,網絡内部每種應用服務中隻能各自有一台服務器成為Internet中的主機,例如,隻能有一台Web服務器,一台E-mail服務,一台FTP服務器。盡管可以采用改變默認端口的方式創建多台應用服務器,但這種服務器在訪問時比較困難,要求用戶必須先了解某種服務采用的新TCP端口。

示例五

随着訪問量的上升,當一台服務器難以勝任時,就必須采用負載均衡技術,将大量的訪問合理地分配至多台服務器上。當然,實現負載均衡的手段有許多種,比如可以采用服務器群集負載均衡、交換機負載均衡、DNS解析負載均衡等等。

其實除此以外,也可以通過地址轉換方式實現服務器的負載均衡。事實上,這些負載均衡的實現大多是采用輪詢方式實現的,使每台服務器都擁有平等的被訪問機會。

網絡環境:

局域網以2Mb/sDDN專線拉入Internet,路由器選用安裝了廣域網模塊的Cisco2611。内部網絡使用的IP地址段為10.1.1.1~10.1.3.254,局域網端口Ethernet0的IP地址為10.1.1.1,子網掩碼為255.255.252.0。網絡分配的合法IP地址範圍為202.110.198.80~202.110.198.87,連接ISP的端口Ethernet1的IP地址為202.110.198.81,子網掩碼為255.255.255.248。要求網絡内部的所有計算機均可訪問Internet,并且在3台Web服務器和2台FTP服務器實現負載均衡。

案例分析:

既然要求網絡内所有計算機都可以接入Internet,而合法IP地址又隻有5個可用,當然可采用端口複用地址轉換方式。本來對服務器通過采用靜态地址轉換,賦予其合法IP地址即可。但是,由于服務器的訪問量太大(或者是服務器的性能太差),不得不使用多台服務器作負載均衡,因此,必須将一個合法IP地址轉換成多相内部IP地址,以輪詢方式減輕每台服務器的訪問壓力。

協議結構

NAT 是一個過程,而不是一個結構化協議。

上一篇:分銷系統

下一篇:概念模型

相關詞條

相關搜索

其它詞條