IPv4地址已經完全耗盡,網際網路還能正常運轉,NAT是最大功臣!
發布於 2023-03-05 10:30:58
https://cloud.tencent.com/developer/article/2233409
你好,這裡是網絡技術聯盟站。
如今的網際網路規模可謂是沒有辦法用數據去衡量,不談全世界,單單從中國來說,根據中國網際網路信息中心在2022年2月份發布的《中國網際網路發展狀況統計報告》中顯示,中國網民數量已經達到了驚人的10.32億!
中國網民規模
這個數字真的可以用可怕去形容了,而中國的IPV4地址數量卻只有不到4億:
全球IPV4地址數 top10
有人就會奇怪了,網民數量10.32億遠遠大於4億這個數字,那麼背後的原理到底是怎樣的呢?
其實並不是每個網民的設備都會占用一個有效的IPV4地址,更多的是多個人共用一個IPV4地址,背後的原理就是NAT,那麼今天瑞哥就帶著大家揭開NAT的神秘面紗,探尋一下NAT為啥如此強大,它解決了什麼樣的革命性的問題?
讓我們直接開始!
什麼是NAT?
一台計算機要與網際網路上其他計算機或者伺服器通信,必須有一個IP 地址,IP 地址是一個唯一的 32 位數字,用於標識您的計算機在網絡上的位置,就像你身份證上的地址一樣,唯一的,能找到你這個人。
當 IP 尋址剛出現時,每個人都認為有大量的地址可以滿足需求,因為理論上差不多有2的32次方個IPV4地址,可用地址的實際數量會少一些,大概有3.2 到 33 億之間的數量。隨著網際網路的爆炸式增長,可用 IP 地址的數量根本不夠用,這個時候IPv6的時代就要來了,但是IPV6完全取代IPV4短時間內是不大現實的,因為它需要修改整個網際網路的基礎設施,在此之前NAT就大展身手了。
NAT英文全稱:Network Address Translation
NAT中文名稱:網絡地址轉換
看這名字就知道應該是將某某地址轉換為某某地址的,其本質確實是這樣的,NAT 將本地網絡中設備的私有 IP 地址轉換為公共 IP 地址,路由器通常使用它來將設備連接到網際網路。
NAT轉換地址
如果不太理解為啥需要地址轉換的話,我給大家舉個栗子:你把NAT看成是某某大型集團公司的電話接待員,外界需要打電話進來,必須經過接待員轉接,這樣的話對外只需要公布幾個或者幾十個電話號碼,就能實現內部幾百、幾千甚至幾萬個電話的轉接,節省了公共電話網的費用,還一定程序上保障了安全性。
酒店接待員電話示例
NAT工作原理
NAT一般配置在網絡路由器或 NAT防火牆上面,配置好的設備工作的時候會將私網地址轉換為公網地址,然後就能和網際網路進行通信。
私網地址
一般會在本地網絡中遇到私網地址,換句話說,我們的電腦、手機、平板等工作時候用到的都是私網地址。
比如我們輸入一下ifconfig命令:
ifconfig命令
我們看到我們的私網地址是192.168.3.29.
windows可以輸入:ipconfig命令:
ipconfig命令
我們同樣看到了私網ip地址192.168.3.29.
私網ip地址範圍
A 類:10.0.0.0 - 10.255.255.255
B 類:172.16.0.0 - 172.31.255.255
C 類:192.168.0.0 - 192.168.255.255
192.168.3.29屬於C類,在私網地址範圍內。
公網地址
公共地址是用於訪問網際網路的外向 IP 地址,由網際網路服務提供商 (ISP) 提供並分配給路由器,它是網際網路上唯一的 IP 地址。
一般情況下公網ip地址都會是下面的某一個:
NAT工作流程
NAT工作流程
如圖所示有兩個網絡:本地網絡、網際網路
本地網絡中有台pc,ip地址為192.168.31.99,為私網ip地址,有台路由器,其中LAN口的地址為192.168.31.1,WAN口的地址為188.87.15.21.
網際網路有台伺服器,IP位址為204.12.25.36.
現在本地網絡中的pc想要訪問網際網路中的伺服器,pc的私網地址想要直接訪問擁有公網地址的伺服器是不可能,所以需要有個中間媒介作為轉換。
pc發送源ip為192.168.31.99,目的ip為204.12.25.36的數據包到無線路由器的LAN口,無線路由器中有NAT模塊將私網ip轉換後從WAN口將數據包變為源ip 188.87.15.21,目的ip為204.12.25.36發送至網際網路的伺服器。
伺服器收到後,將pc需要的數據進行返回,首先發送源ip 204.12.25.36,目的ip為188.87.15.21的數據包到無線路由器的WAN口,無線路由器內置的NAT模塊將進行地址轉換,然後發送數據包,源ip 204.12.25.36,目的ip為192.168.31.99.
這個就是NAT工作的全流程。
NAT類型
NAT一共有三種類型:
NAT類型
源NAT
源NAT對源IP或者源埠進行轉換。
源NAT
根據是否轉換源埠,源NAT還可以細分為以下三種類型:
NAT No-PAT:只轉換地址,不轉換埠
NAPT:同時轉換地址和埠
Easy IP:與NAPT類似,將接口地址作為公網IP位址進行NAT。
目的NAT
目的NAT和源NAT相反,將目的IP或者目的埠進行轉換。
目的NAT
根據NAT後是否固定映射,可以將目的NAT分為以下三種類型:
靜態目的NAT:有固定映射,內部 IP 地址到外部 IP 地址的一對一轉換。
動態目的NAT:沒有固定映射,提供者給出幾個外部IP位址,之後路由器自己根據需要分配地址。
NAT Server:當私網伺服器需要為公網提供服務時,需要在路由器上配置NAT伺服器,並指定【公網IP位址:埠】與【私網IP位址:埠】一一對應,將內網伺服器映射到公網,公網主機通過【公網IP位址:埠】訪問內網伺服器。
雙向NAT
雙向NAT就是兼源NAT和目的NAT的功能,同時對目的地址信息和源地址信息進行處理。
NAT優缺點
優點
⭐減緩了 IPv4 地址空間耗盡的過程
NAT 簡化了網絡管理
NAT 不將內部尋址結構暴露給外部,為網絡環境帶來安全性
NAT 在建立網絡方面增加了網絡的靈活性
缺點
NAT轉換需要耗時間、耗內存
經過NAT轉換後,排障會增加難度。
總結
網絡地址轉換 NAT 是一種網際網路標準,由Cisco開發,它使區域網能夠將一組IP 地址用於內部流量,將另一組地址用於外部流量,能夠將私網IP位址轉換為公網IP位址,NAT 服務有三個主要功能:
隱藏內部 IP 地址提供一種類似防火牆的安全效果。
增加私網ip地址,利用擴展內網網絡。
允許合併多個ISDN連接以形成單個 Internet 連接,將多個私網ip轉為一個公網ip。