IP地址只有32位,最多只有42.9亿个地址,还要去掉保留地址、组播地址,能用的地址只有36亿左右,可是当下有数以万亿的主机,没有这么多IP地址怎么办,后面有了IPv6,可是当下IPv4仍是主流,利用IPv4怎么知足这么多主机的IP地址呢?答案就是NAT,NAT技术使公司、机构以及我的产生以及局域网,而后在各个局域网的边界WAN端口使用一个或多个公网的IPv4进行一对多转换安全
NAT使用基于session的转换规则网络
TCP/UDP :私有Host的Ipv4 + port <======> NAT公网的Ipv4 + port
ICMP :私有Host的Ipv4 + sessionID <======> NAT公网的Ipv4 + sessionIDsession
NAT是 Network Address Translation 网络地址转换的缩写。
NAT是将私有IP地址经过边界路由转换成外网IP地址,在边界路由的NAT地址转换表记录下这个转换映射记录,当外部数据返回时,路由使用NAT技术查询NAT转换表,再将目标地址替换成内网用户IP地址。3d
RFC1918规定了三块专有的地址,做为私有的内部组网使用:blog
这三块私有地址自己是可路由的,只是公网上的路由器不会转发这三块私有地址的流量;当一个公司内部配置了这些私有地址后,内部的计算机在和外网通讯时,公司的边界路由会经过NAT或者PAT技术,将内部的私有地址转换成外网IP,外部看到的源地址是公司边界路由转换过的公网IP地址,这在某种意义上也增长了内部网络的安全性。
路由
假设一种场景,公司对外的有两个公网IP地址是 191.4.4.1/191.4.4.2,有两台主机A和B,局域网地址分别是192.168.1.2和192.168.1.3
io
静态NAT就是一对一映射,内部有多少私有地址须要和外部通讯,就要配置多少外网IP地址与其对应,并不节省外网IP,因此通常不用
配置
动态NAT是在路由器上配置一个外网IP地址池,当内部有计算机须要和外部通讯时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通讯结束后,这个外网IP才被释放,可供其余内部IP地址转换使用,这个DHCP租约IP有类似之处。路由器
这是最经常使用的NAT技术,也是IPv4可以维持到今天的最重要的缘由之一,它提供了一种多对一的方式,对多个内网IP地址,边界路由能够给他们分配一个外网IP,利用这个外网IP的不一样端口和外部进行通讯。im