*Preface:
IPV4地址由32bit表示,即最多存在43亿个IP地址。2011 年 4 月 15 日,亚太互联网络信息中心(APNIC)在 2012 年 9 月 14 日为欧洲,欧洲网络信息中心(RIPE NCC)分配了最后一个 IPv4 区块,在 2014 年 6 月 10 日为拉丁美洲和加勒比海(LACNIC)分配了最后一个 IPv4 区块。2015 年 9 月 24 日为北美分配 IPv4 区块,直到2019年,11月25日,欧洲 RIPE NCC 终于耗尽了存储。
而之所以IPV4地址已经耗尽,全球仍然还有许多设备需接入互联网的情况下,IPV4地址任然还未退出历史的舞台,正是由于NAT技术帮IPV4地址续上了一口命。
NAT(Network address Translation),网络地址转换,由1994年提出,使用场景为:具有专用内部网的专用IP地址(如192.168网段),又想和因特网上的主机通信时,可使用NAT方法,专用IP地址 转换为 外网IP地址。
NAT的实现方式有三种:
1.静态转换
静态转换即 一个专用内网IP地址 转换为一个 公网IP地址,一一对应。
2.动态转换
动态转换与静态转换的区别是,转换公网IP地址时,IP地址是不确定的,因为动态转换具有一个合法的公网IP池,转换时将从池中挑选出一个IP
3.端口多路复用(PAT)(常用)
当有多个内部主机去访问百度时,从百度返回的信息不足以区分响应应该转发到哪个内部主机,因为百度返回的响应的目标主机IP一定是都是外网IP, 这时我们可以借助上层传输层协议的信息,根据TCP或UDP端口号来进行映射。
如我们访问百度:
主机 | 协议 | 局域网IP | 公网IP + 端口 | 目的主机 + 端口 |
---|---|---|---|---|
PC1 | TCP | 192.168.0.100 | 111.33.8.90:12138 | 14.215.177.39:80 |
PC2 | TCP | 192.168.0.101 | 111.33.8.90:12139 | 14.215.177.39:80 |
PC3 | TCP | 192.168.0.102 | 111.33.8.90:12140 | 14.215.177.39:80 |
这时 PC1,PC2, PC3同时访问百度页面, PC1 通过 公网IP+12138端口访问百度,PC2通过公网IP+12139访问,PC3通过公网IP+12140访问,百度服务器分别对这三个请求响应,NAT路由器再通过端口响应包里的目标端口来查找NAT映射表转发响应请求。 **这样我们就利用了端口的唯一性实现了多个主机共用一个公网IP来网上冲浪。**由于端口号取值范围0-65535,所有理论上是可以有65535个主机共享一个公网IP。
NAT技术优点:
1.多个主机共享一个IP
2.安全防护。 NAT之内的主机连接到互联网显示的是公网IP,外界在进行端口扫描时就侦测不到源主机。