请问STUN协议中为什么前两位必须置零?
我在学习STUN协议中有些疑惑,官网在定义Message header时,在RFC5389就规定了前两位必须置零,根据官方的解释,是为了和其他协议复用同一个端口。
对此我非常好奇?
- 这个other protocols 指的是哪个协议?
- 什么情况下需要和不同协议复用同一个端口?
猜测:是为了兼容原有的RFC3489
但是我查看文档后发现。RFC3489的前两位就是00,压根无法区分RFC3489和RFC5389。
所以我很纠结,RFC5389中的other protocols到底指的哪个协议?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RFC5389 比 RFC3489 多了 TCP,但完全向后兼容,所以不需要区分二者。
其他协议就是字面意思上的其他协议啊……其他协议也侦听 3478 端口,就这么区分……其实也不靠谱,就是拍脑袋定的,因为也有一些协议报文头两比特也可能是 00(比如 NTP),这就还得是尽量别共用一个端口。