[发明专利]用于有长度限制的网络传输协议中分片传输数据包的方法有效
| 申请号: | 201811042294.9 | 申请日: | 2018-09-07 |
| 公开(公告)号: | CN109257143B | 公开(公告)日: | 2021-07-06 |
| 发明(设计)人: | 王鑫鹏;南亮 | 申请(专利权)人: | 武汉虹信科技发展有限责任公司 |
| 主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L29/06;H04W28/06 |
| 代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 严彦 |
| 地址: | 430205 湖北省武*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 长度 限制 网络 传输 协议 分片 数据包 方法 | ||
1.一种用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:在传输层,发送端将大数据包分割成若干可以一次发送成功的数据片,接收端收到一个数据包的全部的数据片后,按顺序组装数据包完毕后发送给应用层;发送端分割数据片时,增加保证数据片准确传输的头部结构;接收端收齐一个完整的数据包后,剥离头部结构,组装完毕后发往应用层;
增加头部结构的实现方式为,
在每片数据的头部增加一个片头部,片头部包含下列字段,
片id,按数据片在数据包的位置顺序从1开始编号;
片size,提供本数据片的内容的长度;
数据包id,标记应用层传输过来的要发送的数据包,从0开始累加,当累加到数据类型允许的最大值时,重新从0开始累加;
Flag,标识是否分片;
对于数据包的第一个数据片增加数据包头部,数据包头部包含数据包长度。
2.根据权利要求1所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:对于数据包的第一个数据片增加数据包头部时,数据包头部包含crc校验字段,用于传输层对数据可靠性进行校验,确保接收到的数据完全正确。
3.根据权利要求1所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:在传输层,需要发送数据包时,判断数据包的长度是否超过网络传输协议限制,
如果未超过,则在数据前增加片头部,其中,片id为1;flag为0,表示未分片;
如果超过限制,则需要分片,将数据分成符合网络传输协议限制的若干片,在每片数据前加上片头部,并对各个字段赋值,其中片id从1开始,按顺序累加;flag标记为1,表示是分片数据。
4.根据权利要求3所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:接收端从网络上接收到数据后,首先读取数据的片头部;
如果片头部的flag标记为0,则表示此数据片是一个完整的数据包,去掉片头部后,直接将数据内容发送给应用层;
如果片头部的flag标记为1,则表示这是一个分片数据,读取片头部里的数据包id字段,在缓冲区里查找,是否有元素的数据包id字段和收到的数据片的数据包id相同;
所述一个元素的结构包含下列字段,
时间戳,第一次收到此数据包的数据片时的时间;
数据包id,此元素缓存的数据片所属的数据包的id;
数据包长度,存储在片id为1的数据片的头部中,没有收到此数据片时此字段赋值为0;
已收到的数据长度,每次收到一个新的正确的数据片,则将此字段的值加上收到的数据片的片长度;
数据片队列,存储收到的此数据包的数据片。
5.根据权利要求4所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:当在缓冲区里查找的结果是,没有元素的数据包id字段和收到的数据片的数据包id相同,说明收到了一个新的数据包,则在缓冲区里取一个未使用的元素,存储此数据片对应的数据包的数据,将元素的数据包id赋值为此数据片的数据包id,记录当前时间到元素的时间戳字段,将数据片加入到元素的数据片队列中。
6.根据权利要求4所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:当在缓冲区里查找的结果是,有元素的数据包id字段和收到的数据片的数据包id相同,说明收到了该元素所存储的数据包的一个数据片,遍历数据片队列,查找是否有片id重复,如果有,说明接收错误,丢弃此数据片,如果没有,将数据片加入到元素的数据片队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹信科技发展有限责任公司,未经武汉虹信科技发展有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811042294.9/1.html,转载请声明来源钻瓜专利网。





