今天我們來看看NAT方面的技術,提起NAT技術,我們大家可能並不陌生,就真實的存在我們身邊,只不過我們很少關注它.NAT是一種網絡地址翻 譯技術,將內部私有IP地址改變成可以在公網上使用的:公網IP.其出現背景就是因為我們國家公網IP地址太少了不夠用,才使NAT技術興起.這裡我就不 具體和大家細說NAT是怎麼轉換IP地址了,技術原理不太難.NAT技術的使用從技術角度講是有利也有弊的.我們可以同時讓多個計算機同時聯網,同時也隱 藏了內部地址,NAT對來自外部的數據查看其NAT映射記錄,對沒有相應記錄的數據包進行拒絕,無非提高了網絡的安全性.從另一個方面來看,NAT設備對數據包進行編輯修改操作,降低了發送數據的數率.由於技術的復雜性,排錯也變的困難了,我們在內部對外發布一個服務器,還得考慮這個端口映射問題等.這也到罷了,網絡盛行的今天,各種應用不斷,其協議應用也各有不同,有的根本無法通過NAT.這是最為頭疼的事.目前為了解決這些問題,已多現多種穿透技術.一會我們細談.
NAT三種實現方式
靜態地址轉換:一個公網IP對應一個內部IP,一對一轉換
動態地址轉換:N個公網IP對應M個內部Ip,不固定的一對一IP轉換關系.同一時間,有M-N個主機無法聯網.
端口多路復用:對外只有一個公網IP,通過端口來區別不同內部IP主機的數據.
IP轉換策略
對於靜態與動態地址轉換;其數據包出站的時候,進行源地址轉換.我們稱之為SNAT[SOURCE ADDRESS].其內部源IP變公網源IP.數據包入站的時候,進行目標地址轉換DNAT[DESTINATION ADDRESS],其外部公網宿IP變內部宿IP.靜態與動態不進行端口轉換.而端口多路復用技術.不但要轉換其IP地址,還要進行其傳輸層的端口轉換. 通過這唯一的端口號來區別不同的內部數據[在通信過程中會建立一張內部到外部映射表].我們稱之NATP[NAT PORT]技術.在我們家用網絡中,大部分用的是端口多路復用技術.在端口多路復用技術中,對數據的處理還分這麼兩類:錐形NAT與對稱型NAT.錐形 NAT又分完全錐形NAT[FULL CONE]|受限錐形NAT[RESTRICTED CONE]|端口受限錐形NAT[PORT RESTRICTED CONE].
全完錐形NAT:將來自內部同一個IP地址同一個端口號的主機監聽/請求,映射到公網IP某個端口的監聽.任意外部IP地址與端口對其自己公網的IP這個映射後的端口訪問,都將重新定位到內部這個主機.個人認為在內部發布服務器到外網,此技術原理完全否合該技術原理,當然某些P2P中也可能利用該技術.該技術中,基於C/S架構的應用可以在任何一端發起連接.
受限錐形NAT:與完全NAT不同的是,在公網映射端口後,並不允許所有IP進行對於該端口的訪問,要想通信必需內部主機對某個外部IP主機發 起過連接,然後這個外部IP主機就可以與該內部主機通信了.但端口不做限制.如出站源IP為A端口為B,對於外部IP回復,宿IP為A宿端口可以是任 意.NAPT設備都將成功轉發到內部主機.NAPT設備根據映射記錄做出判斷.該技術中只能內部主機先發起連接通信才可成功.
端口受限錐形NAT:該技術與受限錐形NAT相比更為嚴格.除具有受限錐形NAT特性.對於回復主機的源端口也有要求.哪我用端口B訪問你,對於外部主機的回復信宿端口也只能是B.否折通信失敗.該技術中只能內部主機先發起連接通信才可成功.
對稱型NAT:內部主機用同一IP與同一端口與外部多IP通信.NAPT設備為每個會話轉換了不同的源端口.不在轉換成相同的源端口.對於回復的數據包,只有信宿IP地址與端口完全吻合才可進入.當然源IP也是要檢測的,不可能隨意外部IP都能進入的.