面向消息协议SCTP中的拥塞与流量控制
在现代分组网络中,拥塞控制和流量控制是调节网络负载的关键机制。流控制传输协议(SCTP)作为一种新兴的传输协议,正逐渐在各大操作系统中得到广泛应用。与传统的传输控制协议(TCP)不同,SCTP是面向消息的,并且支持将多个小用户消息捆绑到一个SCTP数据包中,以提高传输效率。然而,这种特性也给拥塞控制和流量控制带来了一些特殊的挑战。
1. SCTP协议简介
随着基于IP的网络成为通信服务的通用平台,人们需要在互联网上可靠地传输电话信令数据。SCTP协议应运而生,它是一种面向消息的可靠传输协议,于2000年被IETF采纳为官方标准(RFC 2960),经过一些修改后,当前的SCTP规范为RFC 4960(2007年9月)。
一个SCTP数据包由一个12字节的公共头和若干个块(chunk)组成。每个块都有一个块头,其长度随块类型的不同而变化。数据块(DATA-chunk)的头长为16字节,其有效负载必须按32位对齐。每个块由一个传输序列号(TSN)标识。
作为一种可靠的传输协议,SCTP需要对用户数据的到达进行确认,这由选择性确认块(SACK-chunk)来处理。SACK-chunk中的累积TSN确认参数指示按顺序接收的最高TSN,额外块的接收情况反映在间隙确认块中。另一个重要参数是通告的接收窗口(arwnd),它宣布接收端点仍能接受的字节数。
2. SCTP拥塞控制
拥塞控制的目标是通过降低发送速率来防止发送方阻塞链路。SCTP的拥塞控制机制继承自TCP,但由于SCTP是面向消息的,因此在实现时需要特殊考虑。
2.1 拥塞窗口
拥塞窗口(
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



