接上一篇 WebRTC系列-WebRTC基础(七)NAT、stun和turn(1)
2. stun turn介绍
2.1 stun简述
stun主要用于NAT穿越,属于cs模式,是一种简单的使用UDP进行穿越的规范(RFC3489),现在主要使用的是RFC5389应对现在复杂的网络情况,当UDP无法穿越的时候可以尝试使用TCP进行穿越;
包括20字节固定的消息头,消息体body中可以有0个或者多个Attribute;其中20个字节中:2个字节(16bit)表示类型,2个字节(16bit)表示消息长度(不包含消息头的长度);16个字节(128bit)的事务ID,请求与相应的ID一般是相同的;
消息头的格式如下图
上图来自RFC官网的协议解析;在其中有如下描述: