NAT技术原理
对IP数据报文中的ip地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。
NAT的典型应用场景:在私有网络内部(园区,家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内”的流量,则对数据包的目的地址进行转换。
静态NAT原理(固定一对一)
每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中鞋带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。
动态NAT原理
静态NAT严格的一对一进行地址映射,导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态,为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
当内部主机访问外部网络临时分配一个地址池中未使用的地址,并将地址标记为“in use”。当该主机不再访问外部网络时,回收分配的地址,重新标记为“not use”
NAPT原理
动态NAT选择地址池中的地址进行转换时不会转换端口号,即非端口地址转换,公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
从地址池中选择地址进行地址转换时不仅转换ip地址,同时端口号也会转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
Easy IP
(可以直接根据端口号获取动态地址进行转换)
Easy IP:实现原理和NAPT 相同,同时转换ip地址,传输层端口,区别在于easy ip没有地址池的概念,使用接口地址作为NAT转换的公有地址。
Easy IP适用于不具备固定公网IP地址场景,通过DHCP,PPPoE拨号获取地址的私有网络出口,可以直接获取到的动态地址进行转换。