地址轉換

地址轉換

地址轉換(NAT)就是:路由器私有地址轉換為公有地址使數據包能夠發到網際網路上,同時從網際網路上接收數據包時,將公用地址轉換為私有地址。 在計算機網路中,網路地址轉換(Network Address Translation或簡稱NAT,也叫做網路掩蔽或者IP掩蔽)是一種在IP數據包通過路由器或防火牆時重寫源IP位址或/和目的IP位址的技術。

基本介紹

  • 中文名地址轉換
  • 外文名:Network Address Translation
  • 別稱:網路掩蔽或者IP掩蔽
  • 英語別稱:NAT
簡介,概述,缺點,好處,轉換方式,用途實例,源網路地址轉換,目的地址轉換,

簡介

地址轉換NAT(Network Address Translation)又稱地址代理,它實現了私有網路訪問外部網路的功能。
這種技術被普遍使用在有多台主機但只通過一個公有IP位址訪問網際網路的私有網路中。根據規範,路由器是不能這樣工作的,但它的確是一個方便並得到了廣泛套用的技術。當然,NAT也讓主機之間的通信變得複雜,導致通信效率的降低。

概述

Réseau sans NAT
Réseau avec NAT開始,NAT是作為一種解決IPv4地址短缺以避免保留IP位址困難的方案而流行起來的。網路地址轉換的在很多國家都有很廣泛的使用,除了美國,因為歷史的原因美國每個人幾乎都得到了地址。所以NAT就成了家庭和小型辦公室網路連線上的路由器的一個標準特徵,因為對他們來說,申請多餘的IP位址的代價要高於所帶來的效益。
在一個典型的配置中,一個本地網路使用一個專有網路的指定子網(比如192.168.x.x或10.x.x.x)和連在這個網路上的一個路由器。這個路由器占有這個網路地址空間的一個專有地址(比如 192.168.0.1),同時它還通過一個或多個網際網路服務提供商提供的公有的IP位址(叫做“過載” NAT)連線到網際網路上。當信息由本地網路向網際網路傳遞時,源地址被立即從專有地址轉換為公用地址。由路由器跟蹤每個連線上的基本數據,主要是目的地址和連線埠。 當有回覆返迴路由器時,它通過輸出階段記錄的連線跟蹤數據來決定該轉發給內部網的哪個主機;如果有多個公用地址可用,當數據包返回時,TCPUDP客戶機的連線埠號可以用來分解數據包。對於網際網路上的一個系統,路由器本身充當通信的源和目的地址。
有人一直認為,IPv6的廣泛採用將使得NAT不再需要,因為NAT只是一個處理IPv4地址空間不足的方法。

缺點

在一個具有NAT功能的路由器下的主機並沒有建立真正的端對端連線,並且不能參與一些網際網路協定。一些需要初始化從外部網路建立的TCP連線和使用無狀態協定,比如UDP的服務將被中斷。除非NAT路由器作一些具體的努力,否則送來的數據包將不能到達正確的目的地址。一些協定有時可以在套用層網關(見下)的輔助下,在參與NAT的主機之間容納一個NAT的實例,比如FTP。NAT也會使安全協定變的複雜,比如IPsec。
端對端連線是被IAB委員會(Internet Architecture Board)支持的核心網際網路協定之一,因此有些人據此認為NAT是對公用網際網路的一個破壞。一些網際網路服務提供商只向他們的客戶提供本地IP位址,所以他們必須通過NAT來訪問ISP網路以外的服務,並且這些公司能不能算的上真正的提供了網際網路服務的話題也被談起。

好處

NAT除了帶來方便和代價之外,對全雙工連線支持的缺少在一些情況下可以看作是一個有好處的特徵而不是一個限制。在一定程度上,NAT依賴於本地網路上的一台機器來初始化和路由器另一邊的主機的任何連線,它可以阻止外部網路上的主機的惡意活動。這樣就可以阻止網路蠕蟲病毒來提高本地系統的可靠性,阻擋惡意瀏覽來提高本地系統的私密性。很多具有NAT功能的防火牆都是使用這種功能來提供核心保護的。另外,它也為UDP的跨區域網路的傳輸提供了方便。

轉換方式

目前存在三種地址轉換方式。一種是經常被簡記為"NAT"的網路地址轉換(有時也叫做“網路地址連線埠轉換”,記做NAPT),這種方式支持連線埠的映射並允許多台主機共享一個公用IP位址
第二種也可以稱作NAT或“基本NAT”,“靜態NAT",但在技術上更簡單一點,僅支持地址轉換,不支持連線埠映射,這就需要對每一個當前連線都要對應一個IP位址。寬頻(broadband)路由器通常使用這種方式來允許一台指定的計算機去接收所有的外部連線,甚至當路由器本身只有一個可用外部IP時也如此,這台路由器有時也被標記為DMZ主機。
第三種稱作動態NAT(pooledNAT)是在外部網路中定義了一系列的合法地址,採用動態分配的方式映射到內部網路。
支持連線埠轉換的NAT又可以分為兩類:源地址轉換和目的地址轉換NAT 。前一種情形下發起連線的計算機的IP位址將會被重寫,後一種情況下被連線計算機的IP位址將被重寫。實際上,以上兩種方式通常會一起使用以支持雙向通信。
受到NAT影響的應用程式
一些高層協定(比如FTP,Quake,SIP)是在IP包的有效數據內傳送網路層(第三層)信息的。比如,主動模式的FTP使用單獨的連線埠分別來控制命令傳輸和數據傳輸。當請求一個檔案傳輸時,主機在傳送請求的同時也通知對方自己想要在哪個連線埠接受數據。但是,如果主機是在一個簡單的NAT防火牆後傳送的請求,那么由於連線埠的映射將會使對方接收到的信息無效。
一個套用層網關(Application Layer Gateway或ALG)可以修正這個問題。運行在NAT防火牆設備上的ALG軟體模組可以更新任何由地址轉換而導致無效的信息。顯然,ALG需要明白它所要修正的上層協定,所以每個有這種問題的協定都需要有一個單獨的ALG。
但是,除FTP外的大多數傳統的客戶機-伺服器協定不需要傳送網路層(第三層)信息,也就不需要ALG。
這個問題的另一個可能的解決方法是使用象STUN這樣的技術,但是這隻針對建立在UDP上的高層協定,並且需要它內建這中技術。這種技術對對稱NAT也是無效的。還有一種可能的方案是UPnP,但它需要和NAT設備配合起來使用

用途實例

負載平衡:目的地址轉換NAT可以重定向一些伺服器的連線到其他隨機選定的伺服器。
失效終結: 目的地址轉換NAT可以用來提供高可靠性的服務。如果一個系統有一台通過路由器訪問的關鍵伺服器,一旦路由器檢測到該伺服器當機,它可以使用目的地址轉換NAT透明的把連線轉移到一個備份伺服器上。
透明代理:NAT可以把連線到網際網路的HTTP連線重定向到一個指定的HTTP代理伺服器以快取數據和過濾請求。一些網際網路服務提供商就使用這種技術來減少頻寬的使用而不用讓他們的客戶配置他們的瀏覽器支持代理連線

源網路地址轉換

源地址轉換是基於源地址的地址轉換,主要用於區域網路訪問外網,減少公有地址的數目,隱藏內部地址。
IP位址為192.168.1.2,192.168.1.3,192.168.1.4的3台PC機,通過源地址轉換後,共用119.75.213.61的公網IP位址和網際網路連線。

目的地址轉換

目的地址轉換可分為目標地址映射、目標連線埠映射、伺服器負載均衡等。目的地址轉換也稱為反向地址轉換或地址映射。目的地址轉換是一種單向的針對目標地址的映射,主要用於內部伺服器向外部提供服務的情況,它與靜態地址轉換的區別在於它是單向的。外部可以主動訪問內部,內部卻不可以主動訪問外部。另外,可使用目的地址轉換實現負載均衡的功能,即可以將一個目標地址轉換為多個內部伺服器地址。也可以通過連線埠的映射將不同的連線埠映射到不同的機器上。
如網際網路上的PC(218.92.1.2)通過訪問網際網路地址119.75.213.61,經過路由器的目的地址轉換,成為訪問置於區域網路的伺服器192.168.1.100.

相關詞條

熱門詞條

聯絡我們