[发明专利]基于段(Segment)的TCP SACK机制在审
申请号: | 201410780253.5 | 申请日: | 2014-12-17 |
公开(公告)号: | CN105049155A | 公开(公告)日: | 2015-11-11 |
发明(设计)人: | 崔麟 | 申请(专利权)人: | 天津职业技术师范大学 |
主分类号: | H04L1/16 | 分类号: | H04L1/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 300222 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 segment tcp sack 机制 | ||
1.TCP的发送端与接收端都要各自维护一张二维表:
(1)发送端每发送一个新数据段(不包括重发数据段),都要在该表中追加一个记录,记录该段首字节的32-bit序列号;每收到一个ACK/SACK,则要从该表中删除由ACK/SACK的TCP基本头中cumulativeACK字段确认已被接收端正确收到的段的记录;
(2)接收端根据接收缓存区中暂存乱序段的序列号大小,将其顺序记录在所维护的表中,每一个乱序段对应一个记录,记录该乱序段首字节的32-bit序列号;对于缺失的序列号(尚未收到相应的数据段),只要序列号连续,无论多少,都用一个序列号为0的记录代替,穿插在相应位置;因此,在接收端维护的表中,单个的序列号为0的记录夹杂在数目不受限制的单个或连续的序列号非0记录中间。
2.接收端每收到一个数据段,都在接收缓存区中有如下六种情况之一发生:
(1)该段恰好填补了第一个序列号空隙,使第一个乱序块消失,并使由此触发的ACK/SACK基本头cumulativeACK字段的值前移(提高);
(2)该段使由此触发的ACK/SACK基本头cumulativeACK字段的值前移(提高),但并没有导致任何其他情况的改变(没有使任何一个原有乱序块消失,也没有改变任何一个原有乱序块的大小,也可能原本就没有任何乱序块);
(3)该段恰好紧挨着某一个乱序块的头部或尾部排列,但只是增大了该乱序块的长度同时缩小了相邻空隙的大小,但并没有使该空隙完全消失,也没有生成新的乱序块;
(4)该段恰好完全填补了两个相邻乱序块间的空隙,使两个乱序块合并成一个更大的乱序块;
(5)该段拥有迄今收到的最高的32-bit序列号,并生成了一个新的单段乱序块,排在乱序块的最尾端;
(6)该段插入到相邻两个乱序块之间的空隙间,但并没能完全填补该空隙,而是生成了一个新的单段乱序块;
针对以上六种情况,接收端分别做如下相应处理:
(1)对于第一种情况,TCP接收端直接从表中删除从第一个记录到段首字节32-bit序列号小于更新后的ACK/SACK基本头cumulativeACK字段值的所有数据段记录;
(2)对于第二种情况,TCP接收端的处理与第一种情况相同;
(3)对于第三种情况,TCP接收端在表中“合适位置”插入一个新的乱序段记录,并记录其首字节序列号;这里说的“合适位置”分两种情况,(一)当新收到的数据段恰好紧挨着某一个乱序块的头部排列时,其前恰好有一个0序列号记录;(二)当新收到的数据段恰好紧挨着某一个乱序块的尾部排列时,其后恰好有一个0序列号记录(0序列号记录表示该处有一个或多个数据段还没有收到,从而使其前后的数据段在序列号上无法连续);
(4)对于第四种情况,表中相应位置应恰好有一个序列号为0的记录,此时TCP接收端只需将该记录值由0改为该段首字节序列号即可;
(5)对于第五种情况,如果表的最后一个记录不为0,需要在最后一个记录之后先追加一个序列号为0的记录(以表示此间有一个至少由一个段构成的空隙),再追加一个序列号非0的记录,值为新收到数据段首字节的32-bit序列号;如果表的最后一个记录序列号为0,则直接追加一个序列号非0的记录即可;赋值方法同前;
(6)对于第六种情况,需要先在表的合适位置找到对应的0序列号记录,在其后插入一个新纪录;新纪录的序列号值为新收到数据段首字节的32-bit序列号;然后,再插入一个序列号为0的记录(以表示在原较大空隙间生成了一个新的单段乱序块,但并没能完全填补该空隙)。
3.基于段的SACK格式如说明书附图中图2所示:其中,EMU(explicitmeasurementunit)是新定义的字段,为一字节长度,作为标示空隙长度的测量单位;如果接收端收到的数据段中有小于256字节(因为一字节最大只能表示255)的段,则以实际收到的段中最小段的长度(单位:字节)作为EMU字段的值;否则,EMU字段的值设为0,表示默认值(如256);后面则用单字节长度的offset(偏移量)交替表示空隙和乱序块的长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津职业技术师范大学,未经天津职业技术师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410780253.5/1.html,转载请声明来源钻瓜专利网。