STUN存在的目的就是进行NAT穿越。 什么是NAT穿越? NAT穿越介绍 STUN协议详细介绍 1)Client A和Client B分别向STUN服务器发出请求,询问并注册自身的转换后地址。 2)STUN Server收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即Client A(B)在NAT上对应的外部端口,然后响应消息通过NAT发送给Client A(B)。 3)Client A将其在NAT上对应的外部地址和端口信息包含在消息中,发送给STUN Server请求要和Client B通讯。 4)STUN Server收到请求信息后,向A和B发送对方的NAT映射地址。 5)Client B接收到A的外部地址后,将A的外部地址作为目的地址发送Hole Punching UDP数据报,该数据报使得B端网络的NAT设备允许后续的以A端地址为源地址的UDP数据报进入其内部网络。 6)Client A接收到B的外部地址后,以B的外部地址为目的发送探测UDP数据报,同样该数据报也在A端网络的NAT设备上建立对应映射。 7)Client B收到Client A的探测数据报后,向A端发送确认数据报。至此,双方建立互通的UDP连接 |
|