长沙优化网站服务,肥料网站建设 中企动力,wordpress更改中文版后还是英文,wordpress制作短链接NAT基本工作流程
通常情况下#xff0c;某个局域网中#xff0c;只有路由器的ip是公网的#xff0c;局域网中的设备都是内网ip#xff0c;内网ip不具备直接与外部应用通信的能力。
处于内网的设备如何借助NAT来实现访问外网的应用#xff1f;
对于开启了NAT功能的局域网…NAT基本工作流程
通常情况下某个局域网中只有路由器的ip是公网的局域网中的设备都是内网ip内网ip不具备直接与外部应用通信的能力。
处于内网的设备如何借助NAT来实现访问外网的应用
对于开启了NAT功能的局域网其内部设备访问公网的流程大致是这样的
内网设备向公网应用发起应用时会在报文中携带目的ip目的端口同时也会带上自己的局域网ip端口设备的请求报文首先来到路由器路由器开启了NAT功能此时NAT程序会改写报文中源ip源端口为当前路由器自己的ip端口同时将这组映射关系写到NAT映射表中继续发送给公网设备通过NAT映射表来记录这个映射关系常规情况下映射表是由设备局域网ip局域网设备端口路由器IP路由器端口组成的当外部应用的响应或请求来到路由器时NAT程序会根据报文中的目的ip目的端口在映射表找到对应的局域网设备将这个报文继续转发给局域网设备一次完成的网络请求结束 NAT表的映射关系是由内网设备主动向公网设备发起请求而生成的。
公网设备无法主动访问内网设备因此此时NAT表中不存在映射关系。
NAT打洞
在局域网中p2p设备同样是借助路由器的公网ip来完成数据传输的。
在p2p的通信模式下每个peer需要知道对方peer的公网ip端口因此需要借助外部的服务来完成peer网络信息的交换这个过程就是NAT打洞。
大致的流程
每个peer向一个公共的服务器发送一个请求服务器会记录下每个peer对应的公网ip并把对方的公网ip发送给另一方双方peer获取到对应的公网ip端口接下来进行p2p通信 NAT类型
现实情况中NAT并没有理想中的简单NAT的规则存在不同的差异因此可以大致可以将NAT的类型分为四种
再强调一遍
NAT表的映射关系是由内网设备主动向公网设备发起请求而生成的。
公网设备无法主动访问内网设备因此此时NAT表中不存在映射关系。
完全圆锥形
在NAT表中每个局域网ip端口都映射一个公网IP端口
当由局域网设备发起的任何请求不区分目的ip都会经过同一个公网ip端口改写同样当NAT收到外网的请求或响应时只要是对应的端口就转发给对应的局域网设备。 只要外网的请求或响应的目的端口是同一个那么就会根据NAT映射表转发给对应的局域网设备
即一个局域网设备在NAT映射表中只有一条记录
受限圆锥形
受限圆锥形NAT也叫ip受限型NAT在NAT表中处理局域网ip局域网端口公网ip公网端口外还记录了一条目的ip
因此只有特定的外网ip的请求才能转发给内部局域网设备。
即一个局域网设备每次请求不同的目的ip都会有一条映射关系在NAT表中 端口受限圆锥形
对于局域网设备的请求的目的ip端口进行限制即使同一个目的ip但端口不一致也会在NAT中存在一条映射关系。 只有外网设备特定的ip特定的端口才能将请求转发给局域网设备。
对称形NAT
前面三种类型的NAT无论局域网设备的目的ip目的端口如何变化都会被映射为同一个的外网ip外网端口。
但对于对称形NAT一旦目的ip目的端口发生变化那么映射到的公网端口也是不同的。 在对称形NAT网络下peer设备是无法打洞成功的因为每次请求不同的ip不同的端口都会产生一个新的公网portpeer设备无法准确获取到对方的网络信息。