NAT地址转换
为了缓解ip地址不够用的问题,可以给路由器增加一个网络地址转化(NAT)的功能。它可以将内网的IP和端口映射为外网的IP和端口。在使用时,内网主机向外发送报文,路由器收到后,将源IP和端口进行修改,同时在自己的NAT转换表中增加一条内容。对应收到外网发来的报文时,则根据源IP和端口,将目的IP和端口修改为对应的内网主机。
NAT有四种主要的分类,分别是:
1. 全锥形NAT:所有从同一个内网的(IP,端口)发送出来的请求都会被映射到同一个外网的(IP,端口),且任何一个外网主机都可以通过访问映射后的外网地址,实现访问位于内网的主机设备功能。这种NAT只与源IP和源端口相关,不受目的IP和目的端口的影响。
2. 地址受限锥形NAT:所有从同一个内网的(IP,端口)发送出来的请求都会被映射到同一个外网的(IP,端口),但与全锥形不同的是,只有内网主机主动连接过的外网IP才可以与内网主机通信,不同的外网IP不能主动连接内网主机。这种NAT除了与源IP和源端口相关外,还与目的IP有关,增加了IP地址的限制。
3. 端口受限锥形NAT:所有从同一个内网的(IP,端口)发送出来的请求都会被映射到同一个外网的(IP,端口),但与地址受限锥形不同的是,不仅要求内网主机主动连接过的外网IP才可以与内网主机通信,还要求外网主机的端口号与内网主机连接时的端口号相同,不同的外网端口不能主动连接内网主机。这种NAT除了与源IP和源端口相关外,还与目的IP和目的端口有关,增加了端口号的限制。
4. 对称NAT:所有从同一个内网的(IP,端口)发送到同一个目的IP和端口的请求都会被映射到同一个外网的(IP,端口)。换句话说,(源IP,源端口,目的IP,目的端口)只要有一个发生变化,都会使用不同的映射条目,即此NAT映射与报文四元组绑定。这种NAT是最严格的,每一个连接都需要一个独立的映射,不同的外网主机不能主动连接内网主机,也不能共享映射。