认识NAT技术
目錄
一、什么是NAT技術
?二、NAT技術的作用過程
三、報文如何返回??(NAPT的作用機制)
1、實現方式
?2、結合案例分析
三、虛擬機NAT模式
四、公網無法主動訪問局域網的原因
NAT是解決當前IP地址不足的主要手段,是路由器的一個重要功能。核心思路就是在傳遞報文的時候,每到達下一跳設備,就更換一次IP地址。NAT一般集成在防火墻、路由器等硬件設備上。
一、什么是NAT技術
局域網中的主機訪問公網IP時,路上的路由器會將源IP地址 替換為 WAN口IP,這樣的話,不同局域網的主機可以有相同的網絡號和主機號。(其實也有可能替換端口號,我們暫時不考慮端口號的變化)
主機A發送的報文,源IP地址填的肯定是 192.168.0.3,傳遞給路由器A以后,源IP地址會被替換為WAN口IP(10.1.1.4);主機B發送的報文,源IP地址肯定也是 192.168.0.3,傳遞給路由器B以后,源IP地址同樣會被替換為 WAN口IP(10.1.1.5)
此時,站在局域網之外的角度,路由器A傳遞報文的源IP地址是10.1.1.4 ,路由器B傳遞報文的源IP地址是10.1.1.5,因此不同局域網的主機可以有完全一樣的IP地址,大大提升了IP地址的利用率。
?二、NAT技術的作用過程
以下面這個圖為例
第一步,主機A封裝自己的報文,源IP是192.168.1.113,目標IP是39.156.66.10,隨后轉發給路由器X。
第二步,路由器X收到報文,源IP替換為?WAN口IP(10.1.1.2),目標IP是39.156.66.10。現在相當于IP地址為 10.1.1.2的局域網要發送一個報文,隨后轉發給路由器Y。
第三步,路由器Y也是做同樣的操作,源IP替換為?WAN口IP(39.156.66.25),目標IP是39.156.66.10,此時報文終于來到了服務器所處的網段。
第四步,路由器Y將報文傳遞給百度服務器,百度服務器收到請求,然后構建響應。
==》這個過程中變化的只有源IP,目標IP是不變的!
三、報文如何返回??(NAPT的作用機制)
1、實現方式
這其實還是基于上述的NAT技術,路由器在替換IP地址的時候,并不是簡單的替換,會建立起源IP和替換以后的IP的映射關系。以上述第一步為例。
路由器X收到報文以后,源IP地址是 192.168.1.113,隨后會替換成路由器X 的WAN口IP(10.1.1.2),此時路由器X會建立起?192.168.1.113 與?10.1.1.2的映射關系。
假設路由器X的 映射關系(轉換表)大致如下,左半部分的IP肯定都屬于同一個局域網,同一個局域網里的IP是具有唯一性的,這樣就保證了從右邊到左邊的轉換不會出現歧義。在TCP的情況下, 建立連接時, 就會生成這個表項; 在斷開連接后, 就 會刪除這個表項
| 替換之前 | 替換之后 |
| 源IP:192.168.1.113:1025 目的IP:39.156.66.10:80 | 源IP:10.1.1.2: 1025 目的IP:39.156.66.10: 80 |
?2、結合案例分析
仍然以下面這個圖為例,報文到達百度服務器的時候,源IP地址變成了?39.156.66.25,目的IP是39.156.66.10。假設現在百度服務器要返回一個響應給我們的主機。
早在路由器Y替換IP的時候,路由器Y就保存了 從局域網到廣域網的映射關系,假設映射關系如下:
| 替換之前 | 替換之后 |
| 源IP:10.1.1.2 目的IP:39.156.66.10 | 源IP:39.156.66.25 目的IP:39.156.66.10 |
| ... ... | ... ... |
百度服務器將響應報文發送給路由器Y,路由器Y收到的報文:源IP地址是39.156.66.10,目的IP是39.156.66.25。響應報文和前面請求報文對應,現在的源IP —— 請求報文的目的IP、現在的目的IP —— 請求報文的源IP
查詢映射表的右半部分,發現報文的源IP與映射表的目的IP是一致的,報文的目的IP與映射表的源IP是一致的,說明來的時候走的就是這條路,此時就會將目的IP替換為 10.1.1.2。
后面查詢路由器X的轉換表也是這種方式。
三、虛擬機NAT模式
我們有的時候會在自己的電腦上安裝虛擬機,其中有NAT模式和橋接模式。NAT模式就是把主系統當作一個大路由器,每次虛擬機發送請求都要經過主系統,同時主系統需要幫你維護轉換表。
四、公網無法主動訪問局域網的原因
現在就可以理解 一些公網IP為什么無法訪問我們的主機?我們的局域網IP并不是全球唯一的,如果我們沒有訪問過那些IP,也就沒有轉換表,他們在傳遞報文的時候,無法根據轉換表替換報文的目的IP。
總結
- 上一篇: 前端简历编写思路分享
- 下一篇: 软件开发中 前台、中台、后台英文_你应该