STUN协议学习

本文详细介绍了STUN协议,包括其目的、RFC规范、协议结构和消息头格式,特别是Magic Cookie和Transaction ID的重要作用,以及如何通过TLV编码处理属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.STUN协议介绍:

STUN存在的目的就是进行NAT穿越。

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

2.RFC STUN规范

RFC3489/STUN

        Simple Traversal of UDP Through NAT

RFC5389/STUN

        Session Traversal Utilities for NAT

3.STUN协议:

   3.1.包括20字节的STUN header 

   3.2.Body中可以有0个或多个Attribute

4.STUN header格式

1)最高的2位必须置零,这可以在当STUN和其他协议复用的时候,用来区分STUN包和其他数据包。

    

2)STUN Message Type 字段定义了消息的类型(请求/成功响应/失败响应/指示)和消息的主方法。
虽然我们有4个消息类别,但在STUN中只有两种类型的事务,即请求/响应类型和指示类型。响应类型分为成功和出错两种,用来帮助快速处理STUN信息。Message Type字段又可以进一步分解为如下结构:

其中显示的位为从最高有效位M11到最低有效位M0,M11到M0表示方法的12位编码。C1和C0两

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值