迁移自【ITEYE】 https://www.iteye.com/blog/cgs1999-1994072
1、引言
网络地址转换(Network Address Translation,简称NAT)是一种在IP分组通过路由器或防火墙时重写源IP地址或/和目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。20世纪90年代中期,NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。家庭和小型办公室的路由器一般都集成了防火墙,DHCP服务器和NAT功能。
NAT穿越是广泛用于P2P领域的通信方式。在视频会议过程中,NAT穿越也在内外网消息通信中起到了至关重要的作用,平台服务器之间、与会终端之间、以及平台服务器和与会终端之间都可能存在信令或多媒体流等的NAT穿越。
本文总结学习NAT的4种类型,以及NAT穿越的协议或框架。
2、NAT的类型
NAT有4种不同的类型:
- Full Cone
- Address Restricted Cone
- Port Restricted Cone
- Symmetric(对称形)
其中Full Cone、Address Restricted Cone、Port Restricted Cone等3种类型又统称为Cone NAT(圆锥形NAT)。
2.1 Full Cone
这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口。然后外网的任何发到这个打开的端口的UDP数据报都可以到达A,不管是不是C发过来的。
例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88
A(192.168.8.100:5000) -> NAT(202.100.100.100:8000) -> C(292.88.88.88:2000)
任何发送到 NAT(202.100.100.100:8000)的数据都可以到达A(192.168.8.100:5000)
2.2 Address Restricted Cone
这种NAT内部的机器A连接过外网的机器C后,NAT打开一个端口。然后C可以用任何端口和A通信,其它的外网机器则不行。
例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88
A(192.168.8.100:5000) -> NAT