1. 關於NAT的一些總結
標簽: tcp/ip
網路地址轉換又稱網路掩蔽、IP掩蔽(英語:Network Address Translation,縮寫:NAT),在計算機網路中是一種在IP數據包通過路由器或防火牆時重寫來源IP地址或目的IP地址的技術。這種技術被普遍使用在有多台主機但只通過一個公有IP地址訪問網際網路的私有網路中。它是一個方便且得到了廣泛應用的技術。當然,NAT也讓主機之間的通信變得復雜,導致了通信效率的降低。
NAT是作為一種 解決IPv4地址短缺 以避免保留IP地址困難的方案而流行起來的。
在一個典型的配置中,一個 本地網路 使用一個專有網路的指定子網(比如192.168.x.x或10.x.x.x)和連在這個網路上的一個路由器。這個 路由器 占 有這個網路地址空間的一個 專有地址 (比如192.168.0.1),同時它還通過一個或多個網際網路服務提供商提供的 公有的IP地址(叫做「過載」NAT )連接到網際網路上。 當信息由本地網路向網際網路傳遞時,源地址從專有地址轉換為公用地址。由路由器跟蹤每個連接上的基本數據,主要是目的地址和埠。當有回復返迴路由器時,它通過輸出階段記錄的連接跟蹤數據來決定該轉發給內部網的哪個主機;如果有多個公用地址可用,當數據包返回時,TCP或UDP客戶機的埠號可以用來分解數據包。對於網際網路上的通信,路由器本身充當源和目的。
流行在網路上的一種看法認為,IPv6的廣泛採用將使得NAT不再需要,因為NAT只是一個處理IPv4的地址空間不足的方法。
原文: https://blog.csdn.net/gui951753/article/details/79593307
在一個具有NAT功能的路由器下的主機並 沒有創建真正的IP地址 ,並且不能參與一些網際網路協議。一些需要初始化從外部網路創建的TCP連接和無狀態協議(比如UDP)無法實現。除非NAT路由器管理者預先設置了規則,否則送來的數據包將不能到達正確的目的地址。一些協議有時可以在應用層網關(見下)的輔助下,在參與NAT的主機之間容納一個NAT的實例,比如FTP。NAT也會使安全協議變的復雜,比如IPsec。
端對端連接是被IAB委員會(Internet Architecture Board)支持的核心網際網路協議之一,因此有些人據此認為NAT是對公用網際網路的一個破壞。一些網際網路服務提供商(ISP)只向他們的客戶提供本地IP地址,所以他們必須通過NAT來訪問ISP網路以外的服務,並且這些公司能不能算的上真正的提供了網際網路服務的話題也被談起。
NAT除了帶來方便和代價之外,對全雙工連接支持的缺少在一些情況下可以看作是一個有好處的特徵而不是一個限制。在一定程度上,NAT依賴於本地網路上的一台機器來初始化和路由器另一邊的主機的任何連接,它可以阻止外部網路上的主機的惡意活動。這樣就可以阻止網路蠕蟲病毒來提高本地系統的可靠性,阻擋惡意瀏覽來提高本地系統的私密性。很多具有NAT功能的防火牆都是使用這種功能來提供核心保護的。另外,它也為UDP的跨區域網的傳輸提供了方便。
基本NAT和埠號轉換
基本網路地址轉換(Basic NAT)
這一種也 可稱作NAT或「靜態NAT」 ,在RFC 2663中提供了信息。它在技術上比較簡單 ,僅支持地址轉換,不支持埠映射 。Basic NAT要求對 每一個當前連接都要對應一個公網IP地址 ,因此要維護一個公網的地址池。寬頻(broadband)路由器通常使用這種方式來允許一台指定的設備去管理所有的外部鏈接,甚至當路由器本身只有一個可用外部IP時也如此,這台路由器有時也被標記為DMZ主機。由於改變了IP源地址,在重新封裝數據包時候必須重新計算校驗和,網路層以上的只要涉及到IP地址的頭部校驗和都要重新計算。
網路地址埠轉換(NAPT)
這種方式支持埠的映射,並允 許多台主機共享一個公網IP地址 。
支持埠轉換的NAT又可以分為兩類: 源地址轉換和目的地址轉換 。前一種情形下發起連接的計算機的IP地址將會被重寫,使得內網主機發出的數據包能夠 到達外網主機 。後一種情況下被連接計算機的IP地址將被重寫,使得外網主機發出的數據包能夠 到達內網主機 。實際上, 以上兩種方式通常會一起被使用以支持雙向通信。
利用埠號的唯一性實現了公網ip轉換為私網ip的這一步。PAT(NAT重載)能夠使用 傳輸層埠號來標識主機 ,因此,從理論上說, 最多可讓大約65000台主機共用一個公有IP地址
NAPT維護一個帶有IP以及埠號的NAT表,結構如下。
內網IP 外網IP
192.168.1.55:5566 219.152.168.222:9200
192.168.1.59:80 219.152.168.222:9201
192.168.1.59:4465 219.152.168.222:9202
不同類型的NAT:
完全圓錐型NAT(Full cone NAT),即一對一(one-to-one)NAT
一旦一個內部地址(iAddr:port)映射到外部地址(eAddr:port),所有發自iAddr:port的包都經由eAddr:port向外發送。任意外部主機都能通過給eAddr:port發包到達iAddr:port(註:port不需要一樣)
埠受限圓錐型NAT(Port-Restricted cone NAT)
類似受限制錐形NAT(Restricted cone NAT),但是還有埠限制。
一旦一個內部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有發自iAddr:port1的包都經由eAddr:port2向外發送。
在受限圓錐型NAT基礎上增加了外部主機源埠必須是固定的 。
對稱NAT(Symmetric NAT)
每一個 來自相同內部IP與埠,到一個特定目的地地址和埠的請求, 都映射到一個獨特的外部IP地址和埠。
同一內部IP與埠發到不同的目的地和埠的信息包,都使用不同的映射 只有曾經收到過內部主機數據的外部主機,才能夠把數據包發回
2. NAT代表什麼
NAT1是代表網線直連,NAT2是代表使用路由器,NAT3是代表網線直連或使用路由器,但是是有限制。NAT的作用就是把內網的私有地址,轉化成外網的公有地址。使得內部網路上的(被設置為私有IP地址的)主機可以訪問Internet。
(2)nat對稱是路由器還是網路擴展閱讀:
網路NAT的類型特點:
NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網路地址埠轉換NAPT(Port-Level NAT)。
其中靜態NAT設置起來最為簡單和最容易實現的一種,內部網路中的每個主機都被永久映射成外部網路中的某個合法的地址。而動態地址NAT則是在外部網路中定義了一系列的合法地址,採用動態分配的方法映射到內部網路。
NAPT則是把內部地址映射到外部網路的一個IP地址的不同埠上。根據不同的需要,三種NAT方案各有利弊。
動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,主要應用於撥號,對於頻繁的遠程聯接也可以採用動態NAT。當遠程用戶聯接上之後,動態地址NAT就會分配給他一個IP地址,用戶斷開時,這個IP地址就會被釋放而留待以後使用。
網路地址埠轉換NAPT(Network Address Port Translation)是人們比較熟悉的一種轉換方式。NAPT普遍應用於接入設備中,它可以將中小型的網路隱藏在一個合法的IP地址後面。
NAPT與動態地址NAT不同,它將內部連接映射到外部網路中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的TCP埠號。
在Internet中使用NAPT時,所有不同的信息流看起來好像來源於同一個IP地址。這個優點在小型辦公室內非常實用,通過從ISP處申請的一個IP地址,將多個連接通過NAPT接入Internet。實際上,許多SOHO遠程訪問設備支持基於PPP的動態IP地址。
這樣,ISP甚至不需要支持NAPT,就可以做到多個內部IP地址共用一個外部IP地址上Internet,雖然這樣會導致信道的一定擁塞,但考慮到節省的ISP上網費用和易管理的特點,用NAPT還是很值得的。
3. 為什麼大多數NAT網關都是對稱型NAT而不是錐形NAT
假設,家裡用的路由器通過pppoe上網,那麼電信是不是就給一個wan口的ip啊這里的nat就是pat的意思,也就是第三種,前兩種,和第三種的區別在於變不