网络协议多种多样。这里我们来介绍一下SAP协议。那么这个协议的主要功能是什么呢?我们来详细看一下吧。会话通知协议(SAP)是一种通知协议,用于协助组播多媒体会议通告以及其它组播会话过程,并为会话参与者传送相关设置信息。
SAP协议广播员周期性地向已知的组播地址和端口传送通知数据包。通知传送范围与会话范围相同,以确保通知接收端即为会话接收端。这对于协议的可扩展性来说也是很重要的,即确保本地会话通知在本地传送。
SAP 收听方(通过组播范围区域通知协议或其它协议)知道其所在的组播范围,并监听那些范围内的 SAP协议地址和端口。如此,收听方最终会知道所有被通知会话,并允许那些会话加入。
希望会话过程可以通过多种不同机制进行通知,而不仅仅是SAP协议。例如 ,会话的描述可以放置在一个 web 页上,通过电子邮件或会话初始协议发送。为增强与其它机制间互操作性,需要提供应用层安全机制,而不是使用IPsec认证协议头。
协议结构
3 | 4 | 5 | 6 | 7 | 8 | 16 | 32 bit | |
V=1 | A | R | T | E | C | Auth len | Msg ID hash | |
Originating Source (32 or 128 bits) | ||||||||
Optional Authentication Data | ||||||||
Optional Timeout | ||||||||
Optional Payload Type | ||||||||
0 | ||||||||
Payload |
V ― 3位版本号字段,该字段必须设置为1。
A ― 地址类型,值为0或1:
0:Originating Source字段包括一个32位的 IPv4 地址。
1:Originating Source字段包括一个128位的 IPv6 地址。
R ― 预留。SAP 广播员将它设置为0。SAP 收听方忽略该字段的内容。
T ― 信息类型,值为0或1:
0:会话通知数据包
1:会话删除数据包
E ― 加密位,值为0或1:
1:对 SAP 数据包的有效载荷进行加密,并且 Timeout 字段必须被添加到数据包头中。
0:不对数据包进行加密且当前不存在 Timeout 字段。
C ― 压缩位。如果值为1,表示对有效载荷进行压缩。
Authentication Length ― 8位无符号数,跟在主要 SAP协议的头后面,包含认证数据。如果该值为0,表示当前没有认证头。
Message Identifier Hash ― 结合 Riginating Source,提供全球***标识符,说明该通知的精确版本。
Originating Source ― 该字段包含信息 Original Source 的 IP 地址。如果 A 字段值为0,该地址指 IPv4 地址;否则指 IPv6 地址。按照网络字节顺序存储该地址。
Timeout ― 当会话有效载荷进行加密处理后,有效载荷中的详细定时字段对不信任解密密钥的收听方而言已经不可利用。在这种情况下,当会话到指定时间时,头就包含另外32位的Timestamp F 字段状态。该值是无符号数,提供指定会话超时的 NTP 时间。按照网络字节顺序存储。
Payload Type ― 有效载荷类型字段是关于 MIME 内容类型的说明,描述有效载荷的格式。这是一个可变长 ASCII 文本串,其后是单个零字节(ASCII NUL)。
Payload ― Payload 字段包括各种子字段。