NAT知识
国内网络环境被称为 “大内网”,原因如下:
IPv4地址耗尽:
IPv4地址资源已经用尽,无法为每台设备分配独立的公网IP。
NAT技术的作用:
NAT(网络地址转换)技术通过将内网IP地址转换为公网IP,实现设备访问外网。
路由器充当中介,负责内网到公网的地址和端口映射,从而支持更多设备共享少量公网IP。

内网设备通信需求:
PC1和PC2位于同一内网,要访问外网服务器的Web服务,必须通过NAT转换和PAT端口映射。
NAT转换过程:
PC2发送的数据到达路由器后,路由器将其内网IP转换为公网IP,并随机分配一个端口号。
路由器在NAT表中记录内网IP与端口的映射关系,从而允许PC2访问公网服务器,服务器返回的数据则通过映射回到内网设备。
NAT的弊端:
通信必须基于连接。一旦连接断开,路由器会释放NAT表中的映射关系。
此时,服务器无法再主动发送数据给PC2,数据包会被路由器判定为无效,从而无法接收,导致只能发起外部访问,不能接收外部主动请求。
部分解决方法:
例如,通过内网映射将公网IP绑定到内网设备,并保持监听状态,能一定程度上解决这个问题,但会带来更多管理复杂性与资源开销。
内网穿透原理(简单版)

需要中心服务器
- 内网穿透需要一个中心服务器(Server)作为中转站,PC1和PC2先和Server建立连接。
互相获取通信信息
- Server记录PC1和PC2的公网IP和端口信息(假设端口是100)。
- 两台设备通过Server的转发,知道了彼此的IP和端口。
直接通信(锥型NAT情况下)
- PC1直接向PC2的100端口发送连接请求,PC2回应后,两台设备就建立了UDP连接,可以绕过中心服务器直接通信。
弊端
- 如果两台设备的通信必须经过Server中转,速度会受限。
- 比如:PC1和PC2带宽都是100M,但Server只有10M,那两者的传输速率最多只有5M。
- 如果能实现直接通信(P2P),效率更高,但需要网络条件支持。
简单来说,内网穿透就是用一个中转服务器让两台内网设备先“认识对方”,然后尝试直接通信。如果直接通信不行,就只能依赖中转,速度受限制。
评论 (0)