[发明专利]基于分块校验与确认的卫星网络TCP协议性能增强方法有效
申请号: | 201410373029.4 | 申请日: | 2014-07-31 |
公开(公告)号: | CN104092707B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 彭华;张亚生 | 申请(专利权)人: | 中国电子科技集团公司第五十四研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/00 |
代理公司: | 河北东尚律师事务所13124 | 代理人: | 王文庆 |
地址: | 050081 河北省石家*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分块 校验 确认 卫星网络 tcp 协议 性能 增强 方法 | ||
1.基于分块校验与确认的卫星网络TCP协议性能增强方法,其特征在于包括以下步骤:
(1)依据标准TCP协议的规定,数据的发送端与接收端之间通过三次握手建立TCP连接;
(2)发送端按照设定的分块长度计算出待发TCP数据包的分块数,并对分块依次序编号;发送端基于待发TCP数据包及计算出的分块数,生成带分块校验选项的TCP数据包,并向接收端发送该TCP数据包;
(3)接收端收到TCP数据包后,首先依据标准TCP协议的规定,提取TCP数据包包头中的2字节标准校验和,并对整个TCP数据包进行校验;
如果接收端对整个TCP数据包的校验通过,则接收端正常接收该TCP数据包,并依据标准TCP协议,生成ACK确认包回送给发送端,之后,转入步骤(7);
如果接收端对整个数据包的校验未通过,则接收端检测该TCP数据包包头选项区中是否包含分块校验选项;如果检测到分块校验选项,则执行步骤(4);如果未检测到分块校验选项,则依据标准TCP协议的规定,丢弃该TCP数据包,并向发送端回送与确认字节的确认号重复的ACK确认包,之后,转入步骤(7);
(4)接收端从数据包分块校验选项中提取TCP数据包包头校验和字节,并对TCP数据包包头进行校验;
如果接收端对TCP数据包包头校验通过,则执行步骤(5);
如果接收端对TCP数据包包头校验未通过,则认为数据包彻底损坏,就丢弃该数据包,并向发送端回送与确认字节的确认号重复的ACK确认包,之后,转入步骤(7);
(5)接收端从数据包分块校验选项中提取选项长度,用选项长度减去3得到数据包分块数;进而从分块校验选项中提取各个分块的校验和,并对各个分块分别进行校验;
对于校验未通过的分块,记录其在本数据包内的编号;并对校验通过的分块进行接收,对校验未通过的分块进行丢弃;
(6)接收端基于步骤(5)中计算的数据包分块数和记录的未通过校验的分块编号,填写分块确认选项的选项编号、选项长度、待确认数据包的总分块数和错误分块标记,并将分块确认选项添加到与确认字节的确认号重复的ACK确认包包头的选项区;而后,将该带有分块确认选项的与确认字节的确认号重复的ACK确认包回送给发送端;
(7)发送端收到ACK确认包后,检测ACK确认包包头选项中是否带有分块确认选项;
如果带有分块确认选项,则发送端从分块确认选项中提取接收端未成功接收的数据分块的编号,并以ACK确认包中的ACK确认号为起点,结合设定的分块长度,找到这些分块的起始字节和结束字节,进而将这些分块分别单独组包重传;
如果没有分块确认选项,则发送端依据标准TCP协议对ACK确认包的处理规定,判断该ACK确认包是否是重复的;如果不是重复的,则正常传输后续数据包,而后转入步骤(3);如果是重复的,则判断重复次数是否达到3次,如果重复没有达到3次,则继续传输后续数据包,而后转入步骤(3);如果重复达到3次,则发送端重传与确认字节的确认号重复的ACK确认包指示的需要重传的数据包,而后转入步骤(3)。
2.根据权利要求1所述的基于分块校验与确认的卫星网络TCP协议性能增强方法,其特征在于:步骤(2)中所述的分块校验选项具体格式为:第1个字节为选项编号66;第2个字节为选项长度,取值范围为5至7,对应的数据包分块数为2至4;第3个字节为TCP数据包包头的CRC-8校验和;第4至7个字节为第1至4个分块的CRC-8校验和。
3.根据权利要求1所述的基于分块校验与确认的卫星网络TCP协议性能增强方法,其特征在于:步骤(2)中所述的生成带分块校验选项的TCP数据包的方法,包括步骤:
(101)发送端根据分块数,分别计算各个分块的CRC-8校验和,而后填写分块校验选项的选项编号、选项长度以及各分块校验和字段,分块校验选项的TCP数据包包头校验和字节填为0;
(102)发送端将上述TCP数据包包头校验和字节填为0的分块校验选项添加到TCP包头选项区,并将TCP包头的2字节标准校验和填为0;而后,发送端对包括选项区在内的整个TCP包头计算CRC-8校验和,并将该校验和填入分块校验选项的TCP数据包包头校验和字节;
(103)发送端依据标准TCP协议的规定,计算整个TCP数据包的2字节标准校验和,并将之填入TCP包头中的规定位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第五十四研究所,未经中国电子科技集团公司第五十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410373029.4/1.html,转载请声明来源钻瓜专利网。