熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

端口地址轉換(PAT)技術解析

2013-11-11 21:56:23  來源: Windows系統管理 

  PAT叫端口地址轉換NAT是網絡地址轉換由RFC 定義

  PAT可以看做是NAT的一部分   在NAT時考慮一種情形就是只有一個Public IP而內部有多個Private IP這個時候NAT就要通過映射UDP和TCP端口號來跟蹤記錄不同的會話比如用戶ABC同時訪問CSDN則NAT路由器會將用戶ABC訪問分別映射到(舉例而已實際上是動態的)此時實際上就是PAT了   由上面推論PAT理論上可以同時支持( )= 個連接會話但實際使用中由於設備性能和物理連接特性是不能達到的CISCO的路由器NAT功能中每個Public IP最多能有效地支持大約個會話

  PAT普遍應用於接入設備中它可以將中小型的網絡隱藏在一個合法的IP地址後面PATT與動態地址NAT不同它將內部連接映射到外部網絡中的一個單獨的IP地址上同時在該地址上加上一個由NAT設備選定的TCP端口號也就是采用port multiplexing 技術或改變外出數據的源port的技術將多個內部ip地址映射到同一個外部地址;

  隨著Internet的飛速發展網上豐富的資源產生著巨大的吸引力接入Internet訪問Internet成為當今信息業最為迫切的需求

  但這受到IP地址的許多限制首先許多局域網在未聯入Internet之前就已經運行許多年了局域網上有了許多現成的資源和應用程序但它的IP地址分配不符合Internet的國際標准因而需要重新分配局域網的IP地址這無疑是勞神費時的工作其二隨著Internet的膨脹式發展其可用的IP地址越來越少要想在ISP處申請一個新的IP地址已不是很容易的事了這不僅僅是費用的問題而是IP地址的現行標准IPv決定的當然隨著IPv的出台這個問題應當能夠得到解決但從IPv到IPv的升級不是一兩天就能完成的

  NAT(網絡地址翻譯)能解決不少令人頭疼的問題它解決問題的辦法是在內部網絡中使用內部地址通過NAT把內部地址翻譯成合法的IP地址在Internet上使用其具體的做法是把IP包內的地址域用合法的IP地址來替換

  NAT功能通常被集成到路由器防火牆ISDN路由器或者單獨的NAT設備中NAT設備維護一個狀態表用來把非法的IP地址映射到合法的IP地址上去每個包在NAT設備中都被翻譯成正確的IP地址發往下一級這意味著給處理器帶來了一定的負擔但這對於一般的網絡來說是微不足道的除非是有許多主機的大型網絡

  需要注意的是NAT並不是一種有安全保證的方案它不能提供類似防火牆包過濾隧道等技術的安全性僅僅在包的最外層改變IP地址這使得黑客可以很容易地竊取網絡信息危及網絡安全

  NAT有三種類型靜態NAT(staticNAT)NAT池(pooledNAT)和端口NAT(PAT)其中靜態NAT設置起來最為簡單內部網絡中的每個主機都被永久映射成外部網絡中的某個合法的地址而NAT池則是在外部網絡中定義了一系列的合法地址采用動態分配的方法映射到內部網絡PAT則是把內部地址映射到外部網絡的一個IP地址的不同端口上根據不同的需要各種NAT方案都是有利有弊

  ■使用NAT池

  使用NAT池可以從未注冊的地址空間中提供被外部訪問的服務也可以從內部網絡訪問外部網絡而不需要重新配置內部網絡中的每台機器的IP地址例如建立在NT+IIS服務器上的內部試驗子網其網絡地址屬於B類保留地址作為企業網的一個子網其IP地址不分配給企業網上的設備而僅僅局限在試驗子網的設備上為了使企業網能訪問到這個內部網在網絡上增加一條靜態路徑使信息能回傳給Cisco路由器其中的路由器可以把內部網和企業網連接起來使之能相互訪問在內部網中不要使用RIP協議因為使用RIP後內部網絡相對外部來說變得不可見了

  這樣本地信息可以相互訪問了但由於屬於保留地址故不能直接訪問Internet所以在路由器中設置一個NAT池用來翻譯來自內部網絡的IP包把它的IP地址映射成地址池(pooledaddresses)中的合法IP地址那麼內部網可以訪問Internet上的任何服務器Internet上的任何主機也能通過TCP或UDP訪問到內部網

  采用NAT池意味著可以在內部網中定義很多的內部用戶通過動態分配的辦法共享很少的幾個外部IP地址而靜態NAT則只能形成一一對應的固定映射方式該引起注意的是NAT池中動態分配的外部IP地址全部被占用後後續的NAT翻譯申請將會失敗慶幸的是許多有NAT功能的路由器有超時配置功能例如在上述的Cisco中配置成開始分鐘後刪除當前的NAT進程為後續的NAT申請預留出外部IP地址通過試驗表明一般的外部連接不會很長所以短的時間阈值也可以接受當然用戶可以自行調節時間阈值以滿足各自的需求

  NAT池提供很大靈活性的同時也影響到網絡原有的一些管理功能例如SN MP管理站利用IP地址來跟蹤設備的運行情況但使用NAT之後意味著那些被翻譯的地址對應的內部地址是變化的今天可能對應一台工作站明天就可能對應一台服務器這給SNMP管理帶來了麻煩一個可行的解決方案就是把劃分給NAT池的那部分地址在SNMP管理平台上標記出來對於這些不響應管理信號的地址不予報警如同它們被關掉了一樣

  ■使用PAT

  PAT在遠程訪問產品中得到了大量的應用特別是在遠程撥號用戶使用的設備中PAT可以把內部的TCP/IP映射到外部一個注冊IP地址的多個端口上PAT可以支持同時連接個TCP/IPUDP/IP但實際可以支持的工作站個數會少一些因為許多Internet應用如HTTP實際上由許多小的連接組成

  在Internet中使用PAT時所有不同的TCP和UDP信息流看起來仿佛都來源於同一個IP地址這個優點在小型辦公室(SOHO)內非常實用通過從ISP處申請的一個IP地址將多個連接通過PAT接入Internet實際上許多SOHO遠程訪問設備支持基於PPP的動態IP地址這樣ISP甚至不需要支持PAT就可以做到多個內部IP地址共用一個外部IP地址上Internet雖然這樣會導致信道的一定擁塞但考慮到節省的ISP上網費用和易管理的特點用PAT還是很值得的

  ■基於NAT的負載平衡

  以上所談論的均是關於使用NAT和PAT來把內部IP地址轉換成外部合法的IP地址使用下面介紹NAT的另一個運用作為用於負載平衡的DNS系列服務器(DNSround-robin)的一個替代品DNS系列服務器解決了多個IP地址共用一個域名的問題它會在響應DNS申請時跳躍式地尋找可用的IP地址達到的效果就是一個域名可以對應多個IP地址這種功能可以應用在一個HTTP服務器群中利用它可以平衡多個服務器的負載但是這裡還有一個問題IP客戶端會在本地緩沖DNS/IP地址解析從而使它的後續的申請都會到達同一個IP地址減弱了DNS系列服務器的作用

  使用基於NAT的負載平衡方案則可以避免這個問題路由器或其它NAT設備把需要負載平衡的多個IP地址翻譯成一個公用的IP地址每個TCP連接被NAT送到一個IP地址而後續的TCP連接則被NAT送到下一個IP地址真正實現了負載平衡當然基於NAT的負載平衡只能在NAT上實現而不能在PAT上實現

  ■安全問題

  當NAT改變包的IP地址後需要認真考慮這樣做對安全設施帶來的影響

  對於防火牆它利用IP地址TCP端口目標地址以及其它在IP包內的信息來決定是否干預網絡的連接當使用了NAT之後可能就不得不改變防火牆的規則因為NAT改變了源地址和目的地址

  在許多配置中NAT被集成在防火牆系統之中提供訪問控制和地址翻譯的功能不要把NAT設在防火牆之外因為黑客可以輕易地騙過NAT讓NAT認為它是一個授權用戶從而進入網絡

  若企業網中使用了VPN(虛擬專用網)並用IPSec進行加密安全保證那麼錯誤地設置NAT將會破壞VPN的功能把NAT放在受保護的VPN內部而不是在中間因為NAT改變IP包內的地址域而IPSec規定一些信息是不能被改變的若IP地址被改變了IPSec就會認為這個包是偽造的拒絕使用

  雖然NAT帶來了許多優越性例如使現有網絡不必重新編址減少了ISP接入費用還可以起平衡負載的作用但NAT潛在地影響到一些網絡管理功能和安全設施這就需要謹慎地使用它


From:http://tw.wingwit.com/Article/os/xtgl/201311/9582.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.