一、NAT( network address translation) 网络地址翻译
为什么会出现这个技术,目的就是用来解决ipv4 地址不够用的情况,因为在互联网最开始的时候,有一个概念是拥有合法IP地址,每个主机连接到互联网必须要有自己的IP,这个IP地址必须是全球唯一的,也就是合法IP。但是互联网发展之迅速,ipv4地址早已经不够使用。
所以工程师设计一种技术,在路由器或者防火墙上启用nat的这技术。如图:
在内网连接外网的设备启用nat之后,就可以在网络中(内网)使用非法IP,也就是内网地址连接外网地址(外网地址也就是公网地址)进行上网。nat技术就是把IP包的头部ip地址进行一个转换,内网非法ip地址在经过nat设备之后,会把头部的非法ip转换路由器连接外网设备上拥有合法ip的地址。这样外网就会认为你是有合法IP地址的,就可以与外界通信。我们日常上网几乎都在使用nat访问internet。
二、NAT分为两大类
源NAT和目的NAT
源NAT就是把源地址进行转换。日常上网使用的就是源NAT,就是把我们主机的非法IP转换成一个合法ip进行通信。
目的NAT就是把目的地址进行转换。如图:
在外网的主机①想访问内网的主机②时,此时我们需要把内网主机②的地址,也就是目的地址,与红点所在的合法IP地址进行一对一映射。所以当我们访问红点所在的IP地址,NAT就会把红点IP地址转换为内网主机②的地址,这样两台主机就可以通信了。这样的技术称为NAT server。
三、NAT的四种方法
静态NAT
合法IP和非法IP进行一对一转换
动态NAT
有个公网地址池,需要转换时,从地址池里面拿出一个公有IP地址。缺点是:若地址池里面的地址被使用完,其他主机想上网时,必须等上一台主机上网行为结束后,合法IP地址返回地址池之后,才能进行上网。本质上还是一对一转换。
PAT(又称NAPT)
多对一或多对少
又称为端口地址映射。如图:
主机1.1 和主机1.2同时去访问csdn时,只需要一个合法IP加上端口号即可访问csdn,因为上网的数据是有来有回的,在csdn给内网主机回数据时,发现两个访问IP地址是一样的,会拆包,拆包之后发现有端口号,通过端口号对应ip地址进行数据的针对回复。这样有效的解决的一对一的难题。
日常生活上网几乎都是使用的PAT
easy IP
此方法是PAT的简化情况,就是把内网的IP地址转换为连接公网接口的IP地址。