Internet 的快速发展以及 IPv4 地址数量的不足使得 NAT 设备得到了大规模
的应用,然而这也给越来越多的端到端通信也带来了不少的麻烦。一般来说,NAT
设备允许内网内主机主动向公网内主机发送数据,但却禁止内网外的主机主动向
内网内的主机传递数据。由于很多的会话双方处于不同的 NAT 设备后,它们通信
一般通过公网服务器中转,而要建立 P2P 通信,则必须解决 NAT 穿越问题才能建
立通信。
实物棋盘A
NAT-A
双向透明转换模块
注册服务器S
实物棋盘B
NAT-B
Internet网络
双向透明转换模块
RS232
RJ45
NAT穿越模块
RS232
RJ45
第三章 NAT 穿越模块的设计与实现
NAT 是介于内网和公网之间的设备,公网中的 IP 地址是全球唯一的,而在内
网中的 IP 地址可以重复出现,但不能出现在公网中
[18]
。NAT 的基本功能就是通
过一个或几个 lP 地址,来实现局域网上的所有主机都可以对因特网进行访问
[19]
。
NAT 实现了公网地址和内网地址之间的映射,可从两个方面来概括:(1) 当
内网内的 IP 包经过 NAT 需要流入公网时,NAT 将此 IP 包的源 IP 地址和端口改
为 NAT 接口上的一个公网地址和端口;(2)当公网中的 IP 包经过 NAT 需要访问内
网资源时,NAT 将此 IP 包的目的地址和端口改为内网 IP 地址和端口。