设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1130|回复: 1
收起左侧

[分享] SCTP SACK数据块格式

[复制链接]
 成长值: 59560
发表于 2017-11-22 15:23:19 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)




SCTP SACK数据块格式
选择证实(SACK)数据块的格式
这个数据块通过使用DATA数据块中的TSN用来向对等的端点确认接收到的DATA数据块,并通知对等的端点在收到的DATA数据块中的间隔。所谓间隔就是指收到的DATA数据块的TSN不连续的情况。
SACK必须包含累积的TSN证实和通告的接收方窗口信用(a_rwnd)参数。
累积的TSN证实参数的值是指收到的TSN顺序断开前的最后一个TSN号码,下一个TSN则是在发送SACK的端点尚未收到的TSN值。所以这个参数确认已经收到了小于或等于该值的所有TSN。
SACK中可以包含0个或多个间隔证实块,每个间隔证实块确认了在一个不连续TSN后所收到的TSN序列,所有通过间隔证实块确认的TSN值都应比累积TSN证实的值大。
图1 SCTP SACK数据块格式

                               
登录/注册后可看大图



字段长度描述
数据块标志位Chunk Flags8比特设为全0并由接收方忽略。
Cumulative TSN Ack32比特无符号整数该参数包含了在收到TSN序列的间隔前的最后一个TSN值。
Advertised Receiver Window Credit (a_rwnd)32比特无符号整数该字段指示修改了SACK的发送方的接收缓冲容量的字节数。
Number of Gap Ack Blocks16比特无符号整数用来指示SACK数据块中包含的间隔证实块的数目。
Number of Duplicate TSNs16比特该字段包含了该端点收到的重复的TSN的数目。每个重复的TSN都列在间隔证实块列表后。
Gap Ack Block变长这个字段中包含了间隔证实块,根据间隔证实块数量字段给出的值,间隔证实块重复若干次。所有TSN大于或等于累积TSN证实+间隔证实块开始的DATA数据块,或者是小于或等于每个间隔证实块的累积TSN证实+间隔证实块结束的DATA数据块都被看作是被正确地接收了。
Gap Ack Block Start16比特无符号整数该字段用来指示这个间隔整数块的起始TSN偏移,为了计算实际的TSN号码必须要用累积TSN证实加上偏移号码。计算出的TSN标识用来识别第一个在这个间隔证实块中被收到的TSN。
Gap Ack Block End16比特无符号整数用来指示这个间隔证实块的结束TSN偏移,为了计算实际的TSN需要把累积TSN证实加上这个偏移号码。这个计算出的TSN用来识别在这个间隔证实块中最后收到的DATA数据块。
Duplicate TSN32比特无符号整数用来指示一个在上一个SACK发送后收到的TSN重复的个数。每次一个接收者收到一个重复的TSN(在发送SACK前),则把这个TSN加到重复的TSN列表中。每发送一次SACK后则把统计重复TSN的计数器重新清0。


报文示例

                               
登录/注册后可看大图

参考标准
标准描述
RFC 2960Stream Control Transmission Protocol




您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-22 13:58 , Processed in 0.053986 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表