位置:51电子网 » 技术资料 » EDA/PLD

使用选择确认SACK

发布时间:2014/9/6 21:24:54 访问次数:1100

   我们知道,TCP的首部没有哪个字段能够提供上述这些字节块的边界信息。RFC 2018规定, MSS5131-334MLC如果要使用选择确认SACK,那么在建立TCP连接时,就要在TCP一首部的选项中加上“允许SACK”的选项,而双方必须都事先商定好。如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变。只是以后在TCP报丈段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。由于首部选项的长度最多只有40字节,而指明一个边界就要用掉4字节(因为序号有32位,需要使用4个字节表示),因此在选项中最多只能指明4个字节块的边界信息。这是因为4个字节块共有8个边界,因而需要用32个字节来描述。另外还需要两个字节。一个字节用来指明是SACK选项,另一个字节是指明这个选项要占用多少字节。如果要报告五个字节块的边界信息,那么至少需要42个字节。这就超过了选项长度的40字节的上限。RFC 2018还对报告这些边界信息的格式都做出了非常明确的规定,这里从略。

   然而,SACK文档并没有指明发送方应当怎样响应SACK。因此大多数的实现还是重传所有未被确认的数据块。



   我们知道,TCP的首部没有哪个字段能够提供上述这些字节块的边界信息。RFC 2018规定, MSS5131-334MLC如果要使用选择确认SACK,那么在建立TCP连接时,就要在TCP一首部的选项中加上“允许SACK”的选项,而双方必须都事先商定好。如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变。只是以后在TCP报丈段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。由于首部选项的长度最多只有40字节,而指明一个边界就要用掉4字节(因为序号有32位,需要使用4个字节表示),因此在选项中最多只能指明4个字节块的边界信息。这是因为4个字节块共有8个边界,因而需要用32个字节来描述。另外还需要两个字节。一个字节用来指明是SACK选项,另一个字节是指明这个选项要占用多少字节。如果要报告五个字节块的边界信息,那么至少需要42个字节。这就超过了选项长度的40字节的上限。RFC 2018还对报告这些边界信息的格式都做出了非常明确的规定,这里从略。

   然而,SACK文档并没有指明发送方应当怎样响应SACK。因此大多数的实现还是重传所有未被确认的数据块。



相关技术资料
9-6使用选择确认SACK

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!