怎樣將多個內網ip通過一個外網ip上網,這樣可以節約很多ip資源,在ipv6之前是必須的。實現方法應該有很多,下面是一種基於端口映射的方式的nat設備簡單描述。
nat設備裏面有個表,用於記錄內網ip,端口以及外網ip,端口之間的映射關係,如下圖
192.168.1.5:300 |
222.23.43.85:400 |
192.168.1.5:301 |
222.23.43.85:401 |
192.168.1.5:302 |
222.23.43.85:402 |
192.168.1.6:300 |
222.23.43.85:403 |
192.168.1.6:301 |
222.23.43.85:404 |
192.168.1.6:302 |
222.23.43.85:405 |
192.168.1.6:303 |
222.23.43.85:406 |
192.168.1.7:300 |
222.23.43.85:407 |
假設有一個ip包發往百度服務器:
源地址源端口:192.168.1.5:300
目的地址目的端口:220.181.111.148:80(百度服務器)
經過nat設備之後的ip包:
源地址源端口:222.23.43.85:400
目的地址目的端口:220.181.111.148:80(百度服務器)
注意:目的地址是不會改變的,一直到在網絡上找到百度的服務器和對應的端口,另外,源地址的ip,轉換爲外網ip後也不會改變的。
就這樣,數據包被修改了,包括ip和端口號。路由器是工作在網絡層的,所以它是根本不可能改變端口號的。那麼就斷定路由器就不是nat設備?不是的,其實,現在路由器很發達的,很多路由器都支持多種模式,包括nat。
以上只是nat的一種基本方式,也是比較有效的一種模式,當然還有其他方式,比如,內外網ip的一一映射,動態ip
等。