stun 协议

stun存在的意义就是进行nat穿越。
上述这句话是对于stun客户端来说的。
对于客户端来说,客户端首先要发送一个stun消息给到stun服务,stun服务收到这个消息,将发送这个消息的客户端ip地址和端口带回来(过nat为外网,不过为内网地址)。此时客户端即知道自己的外网地址了,当客户端与另外一端进行通讯的时候,通过candiate的交换,就可以将自己的外网地址告诉对方,当对方拿到这个外网地址,就可以进行nat穿越了。

stun对于流媒体服务端的作用是在客户端发送stun请求时候带来用户名和密码,用户名和密码实际是交换sdp信息的时候客户端从服务器得到的。客户端stun请求带上用户名和密码实际上表明此客户端之前进行过sdp信息交换的,是一个合法用户。只有你是合法用户,服务器才允许进行后续的数据收发,否则服务直接断开连接。

客户端主要使用stun进行p2p通讯,而服务端主要用来验证身份。

stun是典型的客户端服务器模式,客户端发送请求,服务端进行响应。

stun协议规范:RFC3489 RFC5389。

stun报文:
包括20字节的stun header。
body中可以有0个或者多个Attribute。
在这里插入图片描述
通过magic cookie就可以确定是否是stun消息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值