NAT和路由器 基本概念

NAT(Network Address Translation, 網絡地址轉換)是1994年提出的。當在專用網內部的一些主機原本已經分配到了本地IP地址(即 僅在本專用網內使用的專用地址),但如今又想和因特網上的主機通訊(並不須要加密)時,可以使用NAT方法。服務器

這種方法須要在專用網鏈接到因特網的路由器上安裝NAT軟件。裝有NAT軟件的路由器叫作NAT路由器,它至少有一個有效的外部全球IP 地址。這樣,全部使用本地地址的主機在和外界通訊時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網鏈接。網絡

NAT的實現方式有三種,即靜態轉換Static Nat、動態轉換Dynamic Nat 和端口多路複用OverLoad。性能

靜態轉換是指將內部網絡的私有IP地址轉換爲公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉換爲某個公有IP地 址。藉助於靜態轉換,能夠實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。學習

動態轉換是指將內部網絡的私有IP地址轉換爲公用IP地址時,IP地址是不肯定的,是隨機的,全部被受權訪問上Internet的私有IP地址可 隨機轉換爲任何指定的合法IP地址。也就是說,只要指定哪些內部地址能夠進行轉換,以及用哪些合法地址做爲外部地址時,就能夠進行 動態轉換。動態轉換可使用多個合法外部地址集。當ISP提供的合法IP地址略少於網絡內部的計算機數量時。能夠採用動態轉換的方 式。加密

端口多路複用(Port address Translation,PAT)是指改變外出數據包的源端口並進行端口轉換,即端口地址轉換(PAT,Port Address Translation).採用端口多路複用方式。內部網絡的全部主機都可共享一個合法外部IP地址實現對Internet的訪問,從而能夠最大限度地節 約IP地址資源。同時,又可隱藏網絡內部的全部主機,有效避免來自internet的攻擊。所以,目前網絡中應用最多的就是端口多路複用方 式。spa


NAT工做原理:.net

①如右圖這個 client(終端) 的 gateway (網關)設定爲 NAT 主機,因此當要連上 Internet 的時候,該封包就會被送到 NAT 主機, 這個時候的封包 Header 之 source IP(源IP) 爲 192.168.1.100 ; blog

②而透過這個 NAT 主機,它會將 client 的對外聯機封包的 source IP ( 192.168.1.100 ) 假裝成 ppp0 ( 假設爲撥接狀況 )這個接口所具備 的公共 IP ,由於是公共 IP 了,因此這個封包就能夠連上 Internet 了,同時 NAT 主機而且會記憶這個聯機的封包是由哪個 ( 192.168.1.100 ) client 端傳送來的; 接口

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

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


NAT 端口映射 外網須要訪問內網服務,可經過端口映射外網口實現
NAT穿透的方法

目前經常使用的針對UDP的NAT 穿透(NAT Traversal)方法主要有: STUN。 TURN。 ICE。 uPnP等。

其中ICE方式因爲其結合合了STUN和TURN的特色,因此使用最爲普遍。

針對TCP的NAT 穿透技術目前仍爲難點。實用的技術仍然很少。

NAT和NAT穿透的更詳細介紹,可參考:

http://blog.csdn.net/ustcgy/article/details/5652268

http://blog.csdn.net/ustcgy/article/details/5655050


路由器

要解釋路由器的概念,首先要介紹什麼是路由。所謂「路由」,是指把數據從一個地方傳送到另外一個地方的行爲和動做,而路由器,正是 執行這種行爲動做的機器,它的英文名稱爲Router。
簡單的講,路由器主要有如下幾種功能:
第一,網絡互連,路由器支持各類局域網和廣域網接口,主要用於互連局域網和廣域網,實現不一樣網絡互相通訊(靜態轉換NAT、動態轉 換NAT、端口多路複用PAT); 第二,數據處理,提供包括分組過濾、分組轉發、優先級、複用、加密、壓縮和防火牆等功能; 第三,網絡管理,路由器提供包括配置管理、性能管理、容錯管理和流量控制等功能。 爲了完成「路由」的工做,在路由器中保存着各類傳輸路徑的相關數據--路由表(Routing Table),供路由選擇時使用。路由表中保 存着子網的標誌信息、網上路由器的個數和下一個路由器的名字等內容。路由表能夠是由系統管理員固定設置好的,也能夠由系統動態修 改,能夠由路由器自動調整,也能夠由主機控制。在路由器中涉及到兩個有關地址的名字概念,那就是:靜態路由表和動態路由表。由系 統管理員事先設置好固定的路由表稱之爲靜態(static)路由表,通常是在系統安裝時就根據網絡的配置狀況預先設定的,它不會隨將來 網絡結構的改變而改變。動態(Dynamic)路由表是路由器根據網絡系統的運行狀況而自動調整的路由表。路由器根據路由選擇協議 (Routing Protocol)提供的功能,自動學習和記憶網絡運行狀況,在須要時自動計算數據傳輸的最佳路徑。 爲了簡單地說明路由器的工做原理,如今咱們假設有這樣一個簡單的網絡。如圖所示,A、B、C、D四個網絡經過路由器鏈接在一塊兒。 如今咱們來看一下在如圖所示網絡環境下路由器又是如何發揮其路由、數據轉發做用的。現假設網絡A中一個用戶A1要向C網絡中的C3用 戶發送一個請求信號時,信號傳遞的步驟以下: 第1步:用戶A1將目的用戶C3的地址C3,連同數據信息以數據幀的形式經過集線器或交換機以廣播的形式發送給同一網絡中的全部節點, 當路由器A5端口偵聽到這個地址後,分析得知所發目的節點不是本網段的,須要路由轉發,就把數據幀接收下來。 第2步:路由器A5端口接收到用戶A1的數據幀後,先從報頭中取出目的用戶C3的IP地址,並根據路由表計算出發往用戶C3的最佳路徑。 由於從分析得知到C3的網絡ID號與路由器的C5網絡ID號相同,因此由路由器的A5端口直接發向路由器的C5端口應是信號傳遞的最佳途 經。 第3步:路由器的C5端口再次取出目的用戶C3的IP地址,找出C3的IP地址中的主機ID號,若是在網絡中有交換機則可先發給交換機,由交 換機根據MAC地址表找出具體的網絡節點位置;若是沒有交換機設備則根據其IP地址中的主機ID直接把數據幀發送給用戶C3,這樣一個 完整的數據通訊轉發過程也完成了。 從上面能夠看出,無論網絡有多麼複雜,路由器其實所做的工做就是這麼幾步,因此整個路由器的工做原理基本都差很少。固然在實際的 網絡中還遠比上圖所示的要複雜許多,實際的步驟也不會像上述那麼簡單,但總的過程是這樣的。

相關文章
相關標籤/搜索