久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

NAT基本原理及應用

 astrotycoon 2016-09-23

1 概述

1.1 簡介

1.1.1 名詞解釋

公有IP地址:也叫全局地址,,是指合法的IP地址,它是由NIC(網絡信息中心)或者ISP(網絡服務提供商)分配的地址,,對外代表一個或多個內部局部地址,,是全球統(tǒng)一的可尋 址的地址。

私有IP地址:也叫內部地址,,屬于非注冊地址,,專門為組織機構內部使用。因特網分配編號委員會(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地址)組合而成,,我們稱這樣的一個地址集合為地址池,。在內部網絡的數(shù)據(jù)包通過地址轉換到達外部網絡時,將會在地址池中選擇某個IP地址作為數(shù)據(jù)包的源IP地址,,這樣可以有效的利用用戶的外部地址,,提高訪問外部網絡的能力。

1.1.2關于NAT

NAT英文全稱是“Network Address Translation”,,中文意思是“網絡地址轉換”,,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol)地址出現(xiàn)在Internet上,。顧名思義,,它是一種把內部私有網絡地址(IP地址)翻譯成合法網絡IP地址的技術,如下圖所示,。因此我們可以認為,,NAT在一定程度上,,能夠有效的解決公網地址不足的問題。

clip_image002

簡單地說,,NAT就是在局域網內部網絡中使用內部地址,,而當內部節(jié)點要與外部網絡進行通訊時,就在網關(可以理解為出口,,打個比方就像院子的門一樣)處,,將內部地址替換成公用地址,從而在外部公網(internet)上正常使用,,NAT可以使多臺計算機共享Internet連接,,這一功能很好地解決了公共 IP地址緊缺的問題。通過這種方法,,可以只申請一個合法IP地址,,就把整個局域網中的計算機接入Internet中。這時,,NAT屏蔽了內部網絡,,所有內部網計算機對于公共網絡來說是不可見的,而內部網計算機用戶通常不會意識到NAT的存在,。如下圖所示,。這里提到的內部地址,是指在內部網絡中分配給節(jié)點的私有IP地址,,這個地址只能在內部網絡中使用,,不能被路由轉發(fā)。

clip_image003

NAT 功能通常被集成到路由器,、防火墻、ISDN路由器或者單獨的NAT設備中,。比如Cisco路由器中已經加入這一功能,,網絡管理員只需在路由器的IOS中設置NAT功能,就可以實現(xiàn)對內部網絡的屏蔽,。再比如防火墻將WEB Server的內部地址192.168.1.1映射為外部地址202.96.23.11,,外部訪問202.96.23.11地址實際上就是訪問訪問 192.168.1.1。此外,,對于資金有限的小型企業(yè)來說,,現(xiàn)在通過軟件也可以實現(xiàn)這一功能。Windows 98 SE,、Windows 2000 都包含了這一功能,。

1.2 分類

NAT有三種類型:靜態(tài)NAT(Static NAT)、動態(tài)地址NAT(Pooled NAT),、網絡地址端口轉換NAPT(Port-Level NAT),。

clip_image005

1.2.1靜態(tài)NAT

通過手動設置,,使 Internet 客戶進行的通信能夠映射到某個特定的私有網絡地址和端口。如果想讓連接在 Internet 上的計算機能夠使用某個私有網絡上的服務器(如網站服務器)以及應用程序(如游戲),,那么靜態(tài)映射是必需的,。靜態(tài)映射不會從 NAT 轉換表中刪除。
  如果在 NAT 轉換表中存在某個映射,,那么 NAT 只是單向地從 Internet 向私有網絡傳送數(shù)據(jù),。這樣,NAT 就為連接到私有網絡部分的計算機提供了某種程度的保護,。但是,,如果考慮到 Internet 的安全性,NAT 就要配合全功能的防火墻一起使用,。

對于以上網絡拓撲圖,,當內網主機 10.1.1.1如果要與外網的主機201.0.0.11通信時,主機(IP:10.1.1.1)的數(shù)據(jù)包經過路由器時,,路由器通過查找NAT table 將IP數(shù)據(jù)包的源IP地址(10.1.1.1)改成與之對應的全局IP地址(201.0.0.1),,而目標IP地址201.0.0.11保持不變,這樣,,數(shù)據(jù)包就能到達201.0.0.11,。而當主機HostB(IP:201.0.0.11) 響應的數(shù)據(jù)包到達與內網相連接的路由器時,路由器同樣查找NAT table,,將IP數(shù)據(jù)包的目的IP 地址改成10.1.1.1,,這樣內網主機就能接收到外網主機發(fā)過來的數(shù)據(jù)包。在靜態(tài)NAT方式中,,內部的IP地址與公有IP地址是一種一一對應的映射關系,,所以,采用這種方式的前提是,,機構能夠申請到足夠多的全局IP地址,。

1.2.2 動態(tài)NAT

動態(tài)地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,,主要應用于撥號,,對于頻繁的遠程聯(lián)接也可以采用動態(tài)NAT。當遠程用戶聯(lián)接上之后,,動態(tài)地址NAT就會分配給他一個IP地址,,用戶斷開時,這個IP地址就會被釋放而留待以后使用,。

動態(tài)NAT方式適合于 當機構申請到的全局IP地址較少,,而內部網絡主機較多的情況。內網主機IP與全局IP地址是多對一的關系,。當數(shù)據(jù)包進出內網時,,具有NAT功能的設備對IP數(shù)據(jù)包的處理與靜態(tài)NAT的一樣,,只是NAT table表中的記錄是動態(tài)的,若內網主機在一定時間內沒有和外部網絡通信,,有關它的IP地址映射關系將會被刪除,,并且會把該全局IP地址分配給新的IP數(shù)據(jù)包使用,形成新的NAT table映射記錄,。

1.2.3網絡地址端口轉換NAPT

網絡地址端口轉換NAPT(Network Address Port Translation)則是把內部地址映射到外部網絡的一個IP地址的不同端口上,。它可以將中小型的網絡隱藏在一個合法的IP地址后面。NAPT與 動態(tài)地址NAT不同,,它將內部連接映射到外部網絡中的一個單獨的IP地址上,,同時在該地址上加上一個由NAT設備選定的端口號。

NAPT是使用最普遍的一種轉換方式,,它又包含兩種轉換方式:SNAT和DNAT,。

(1)源NAT(Source NAT,SNAT):修改數(shù)據(jù)包的源地址,。源NAT改變第一個數(shù)據(jù)包的來源地址,,它永遠會在數(shù)據(jù)包發(fā)送到網絡之前完成,數(shù)據(jù)包偽裝就是一具SNAT的例子,。

(2)目的NAT(Destination NAT,,DNAT):修改數(shù)據(jù)包的目的地址。Destination NAT剛好與SNAT相反,,它是改變第一個數(shù)據(jù)包的目的地地址,,如平衡負載、端口轉發(fā)和透明代理就是

屬于DNAT,。

源NAT舉例:對于以上網絡拓撲圖,,內網的主機數(shù)量比較多,但是該組織只有一個合法的IP地址,,當內網主機(10.1.1.3)往外發(fā)送數(shù)據(jù)包時,,則需要修改數(shù)據(jù)包的IP地址和TCP/UDP端口號,例如將

源IP:10.1.1.3

源port:1493

改成

源IP:201.0.0.1

源port:1492(注意:源端口號可以與原來的一樣也可以不一樣

當外網主機(201.0.0.11)響應內網主機(10.1.1.3)時,,應將:

目的IP:201.0.0.1

目的port:1492

改成

目的IP:10.1.1.3

目的port:1493

這樣,通過修改IP地址和端口的方法就可以使內網中所有的主機都能訪問外網,,此類NAT適用于組織或機構內只有一個合法的IP地址的情況,,也是動態(tài)NAT的一種特例。

clip_image009

目的NAT舉例:這種方式適用于內網的某些服務器需要為外網提供某些服務的情況,。例如以上拓撲結構,,內網服務器群(ip地址分別為:10.1.1.1,10.1.1.2,10.1.1.3等)需要為外網提供WEB 服務,當外網主機HostB訪問內網時,,所發(fā)送的數(shù)據(jù)包的目的IP地址為10.1.1.127,,端口號為:80,,當該數(shù)據(jù)包到達內網連接的路由器時,路由器查找NAT table,,路由器通過修改目的IP地址和端口號,,將外網的數(shù)據(jù)包平均發(fā)送到不同的主機上(10.1.1.1,10.1.1.2,10.1.1.3等),這樣就實現(xiàn)了負載均衡,。

2 NAT原理

2.1 地址轉換

NAT的基本工作原理是,,當私有網主機和公共網主機通信的IP包經過NAT網關時,將IP包中的源IP或目的IP在私有IP和NAT的公共IP之間進行轉換,。

如下圖所示,,NAT網關有2個網絡端口,其中公共網絡端口的IP地址是統(tǒng)一分配的公共 IP,,為202.20.65.5,;私有網絡端口的IP地址是保留地址為192.168.1.1。私有網中的主機192.168.1.2向公共網中的主機202.20.65.4發(fā)送了1個IP包(Dst=202.20.65.4,Src=192.168.1.2),。

clip_image011 當IP包經過NAT網關時,,NAT Gateway會將IP包的源IP轉換為NAT Gateway的公共IP并轉發(fā)到公共網,此時IP包(Dst=202.20.65.4,,Src=202.20.65.5)中已經不含任何私有網IP的信息,。由于IP包的源IP已經被轉換成NAT Gateway的公共IP,Web Server發(fā)出的響應IP包(Dst= 202.20.65.5,Src=202.20.65.4)將被發(fā)送到NAT Gateway,。

這時,,NAT Gateway會將IP包的目的IP轉換成私有網中主機的IP,然后將IP包(Des=192.168.1.2,,Src=202.20.65.4)轉發(fā)到私有網,。對于通信雙方而言,這種地址的轉換過程是完全透明的,。轉換示意圖如下,。
clip_image013

如果內網主機發(fā)出的請求包未經過NAT,那么當Web Server收到請求包,,回復的響應包中的目的地址就是私有網絡IP地址,,在Internet上無法正確送達,導致連接失敗,。

2.2 連接跟蹤

在上述過程中,,NAT Gateway在收到響應包后,就需要判斷將數(shù)據(jù)包轉發(fā)給誰,。此時如果子網內僅有少量客戶機,,可以用靜態(tài)NAT手工指定;但如果內網有多臺客戶機,,并且各自訪問不同網站,,這時候就需要連接跟蹤(connection track),。如下圖所示:

clip_image015

在NAT Gateway收到客戶機發(fā)來的請求包后,做源地址轉換,,并且將該連接記錄保存下來,,當NAT Gateway收到服務器來的響應包后,查找Track Table,,確定轉發(fā)目標,,做目的地址轉換,轉發(fā)給客戶機,。

2.3 端口轉換

以上述客戶機訪問服務器為例,,當僅有一臺客戶機訪問服務器時,NAT Gateway只須更改數(shù)據(jù)包的源IP或目的IP即可正常通訊,。但是如果Client A和Client B同時訪問Web Server,,那么當NAT Gateway收到響應包的時候,就無法判斷將數(shù)據(jù)包轉發(fā)給哪臺客戶機,,如下圖所示,。

clip_image017 此時,NAT Gateway會在Connection Track中加入端口信息加以區(qū)分,。如果兩客戶機訪問同一服務器的源端口不同,,那么在Track Table里加入端口信息即可區(qū)分,如果源端口正好相同,,那么在實行SNAT和DNAT的同時對源端口也要做相應的轉換,,如下圖所示。

clip_image019

3 應用

NAT主要可以實現(xiàn)以下幾個功能:數(shù)據(jù)包偽裝,、平衡負載,、端口轉發(fā)和透明代理

數(shù)據(jù)偽裝: 可以將內網數(shù)據(jù)包中的地址信息更改成統(tǒng)一的對外地址信息,,不讓內網主機直接暴露在因特網上,,保證內網主機的安全。同時,,該功能也常用來實現(xiàn)共享上網,。例如,內網主機訪問外網時,,為了隱藏內網拓撲結構,,使用全局地址替換私有地址。

端口轉發(fā): 當內網主機對外提供服務時,,由于使用的是內部私有IP地址,外網無法直接訪問,。因此,,需要在網關上進行端口轉發(fā),,將特定服務的數(shù)據(jù)包轉發(fā)給內網主機。例如公司小王在自己的服務器上架設了一個Web網站,,他的IP地址為192.168.0.5,,使用默認端口80,現(xiàn)在他想讓局域網外的用戶也能直接訪問他的Web站點,。利用NAT即可很輕松的解決這個問題,,服務器的IP地址為210.59.120.89,那么為小王分配一個端口,,例如81,,即所有訪問210.59.120.89:81的請求都自動轉向192.168.0.5:80,而且這個過程對用戶來說是透明的,。

負載平衡:目的地址轉換NAT可以重定向一些服務器的連接到其他隨機選定的服務器,。例如1.2.3所講的目的NAT的例子。

失效終結:目的地址轉換NAT可以用來提供高可靠性的服務,。如果一個系統(tǒng)有一臺通過路由器訪問的關鍵服務器,,一旦路由器檢測到該服務器當機,它可以使用目的地址轉換NAT透明的把連接轉移到一個備份服務器上,,提高系統(tǒng)的可靠性,。

透明代理:例如自己架設的服務器空間不足,需要將某些鏈接指向存在另外一臺服務器的空間,;或者某臺計算機上沒有安裝IIS服務,,但是卻想讓網友訪問該臺計算機上的內容,這個時候利用IIS的Web站點重定向即可輕松的幫助我們搞定,。

4 NAT的缺陷

NAT在最開始的時候是非常完美的,,但隨著網絡的發(fā)展,各種新的應用層出不窮,,此時NAT也暴露出了缺點,。NAT的缺陷主要表現(xiàn)在以下幾方面:

(1) 不能處理嵌入式IP地址或端口

NAT設備不能翻譯那些嵌入到應用數(shù)據(jù)部分的IP地址或端口信息,它只能翻譯那種正常位于IP首部中的地址信息和位于TCP/UDP首部中的端口信息,,如下圖,由于對方會使用接收到的數(shù)據(jù)包中嵌入的地址和端口進行通信,,這樣就可能產生連接故障,如果通信雙方都是使用的公網IP,,這不會造成什么問題,,但如果那個嵌入式地址和端口是內網的,顯然連接就不可能成攻,,原因就如開篇所說的一樣,。MSN Messenger的部分功能就使用了這種方式來傳遞IP和端口信息,這樣就導致了NAT設備后的客戶端網絡應用程序出現(xiàn)連接故障,。

clip_image020

(2) 不能從公網訪問內部網絡服務

由于內網是私有IP,,所以不能直接從公網訪問內部網絡服務,,比如WEB服務,,對于這個問題,,我們可以采用建立靜態(tài)映射的方法來解決,。比如有一條靜態(tài)映射,,是把218.70.201.185:80與192.168.0.88:80映射起的,,當公網用戶要訪問內部WEB服務器時,,它就首先連接到218.70.201.185:80,,然后NAT設備把請求傳給192.168.0.88:80,192.168.0.88把響應返回NAT設備,,再由NAT設備傳給公網訪問用戶,。

(3) 有一些應用程序雖然是用A端口發(fā)送數(shù)據(jù)的,但卻要用B端口進行接收,,不過NAT設備翻譯時卻不知道這一點,,它仍然建立一條針對A端口的映射,結果對方響應的數(shù)據(jù)要傳給B端口時,,NAT設備卻找不到相關映射條目而會丟棄數(shù)據(jù)包,。
(4) 一些P2P應用在NAT后無法進行
對于那些沒有中間服務器的純P2P應用(如電視會議,娛樂等)來說,,如果大家都位于NAT設備之后,,雙方是無法建立連接的。因為沒有中間服務器的中轉,,NAT設備后的P2P程序在NAT設備上是不會有映射條目的,,也就是說對方是不能向你發(fā)起一個連接的。現(xiàn)在已經有一種叫做P2P NAT穿越的技術來解決這個問題,。

5.結語

NAT技術無可否認是在ipv4地址資源的短缺時候起到了緩解作用,;在減少用戶申請ISP服務的花費和提供比較完善的負載平衡功能等方面帶來了不少好處。但是在ipv4地址在以后幾年將會枯竭,,NAT技術不能改變ip地址空間不足的本質,。然而在安全機制上也潛在著威脅,在配置和管理上也是一個挑戰(zhàn),。如果要從根本上解決ip地址資源的問題,,ipv6才是最根本之路。在ipv4轉換到ipv6的過程中,,NAT技術確實是一個不錯的選擇,,相對其他的方案優(yōu)勢也非常明顯。 

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多