The invention provides a method for transmitting data packet in network transmission protocol with length limitation, which is characterized by: in the transmission layer, the sender divides the large data packet into several data slices that can be successfully sent at one time, the receiver receives all data slices of a data packet, assembles the data packet sequentially and sends them to the application layer; and when the sender divides the data slice, the sender sends the data slice sequentially. Increase the header structure to ensure the accurate transmission of data slices; after receiving a complete data package, the receiver strips the header structure and sends it to the application layer after assembly. The technical scheme of the invention will play an important role in the network service program, can provide network operation efficiency, and has great market value in the communication industry.
【技术实现步骤摘要】
用于有长度限制的网络传输协议中分片传输数据包的方法
本专利技术涉及一种分片传输大数据包的方法,可用于使用有长度限制的网络传输协议传输超过协议限制的最大长度的数据包。
技术介绍
在某些应用场景中,网络传输使用的传输协议对传输的数据包存在长度限制,而应用层要传输的大数据包可能会超出限制长度,例如:用lora等串口协议传输超过256字节的数据包。lora可用于无线远距离传输,但传输速度极慢,传输的数据包太大会非常耗时且不稳定。为满足这些特定的应用场景,需要在应用层限制数据包的大小;这样使得应用层的业务逻辑受到传输层的限制,不利用应用层的开发和维护。
技术实现思路
本专利技术提供了一种新的对大数据包进行分片重组的传输方法。本专利技术技术方案提供一种用于有长度限制的网络传输协议中分片传输数据包的方法,在传输层,发送端将大数据包分割成若干可以一次发送成功的数据片,接收端收到一个数据包的全部的数据片后,按顺序组装数据包完毕后发送给应用层;发送端分割数据片时,增加保证数据片准确传输的头部结构;接收端收齐一个完整的数据包后,剥离头部结构,组装完毕后发往应用层;增加头部结构的实现方式为,在每片数据的头部增加一个片头部,片头部包含下列字段,片id,按数据片在数据包的位置顺序从1开始编号;片size,提供本数据片的内容的长度;数据包id,标记应用层传输过来的要发送的数据包,从0开始累加,当累加到数据类型允许的最大值时,重新从0开始累加;Flag,标识是否分片;对于数据包的第一个数据片增加数据包头部,数据包头部包含数据包长度。而且,对于数据包的第一个数据片增加数据包头部时,数据包头部包 ...
【技术保护点】
1.一种用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:在传输层,发送端将大数据包分割成若干可以一次发送成功的数据片,接收端收到一个数据包的全部的数据片后,按顺序组装数据包完毕后发送给应用层;发送端分割数据片时,增加保证数据片准确传输的头部结构;接收端收齐一个完整的数据包后,剥离头部结构,组装完毕后发往应用层;增加头部结构的实现方式为,在每片数据的头部增加一个片头部,片头部包含下列字段,片id,按数据片在数据包的位置顺序从1开始编号;片size,提供本数据片的内容的长度;数据包id,标记应用层传输过来的要发送的数据包,从0开始累加,当累加到数据类型允许的最大值时,重新从0开始累加;Flag,标识是否分片;对于数据包的第一个数据片增加数据包头部,数据包头部包含数据包长度。
【技术特征摘要】
1.一种用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:在传输层,发送端将大数据包分割成若干可以一次发送成功的数据片,接收端收到一个数据包的全部的数据片后,按顺序组装数据包完毕后发送给应用层;发送端分割数据片时,增加保证数据片准确传输的头部结构;接收端收齐一个完整的数据包后,剥离头部结构,组装完毕后发往应用层;增加头部结构的实现方式为,在每片数据的头部增加一个片头部,片头部包含下列字段,片id,按数据片在数据包的位置顺序从1开始编号;片size,提供本数据片的内容的长度;数据包id,标记应用层传输过来的要发送的数据包,从0开始累加,当累加到数据类型允许的最大值时,重新从0开始累加;Flag,标识是否分片;对于数据包的第一个数据片增加数据包头部,数据包头部包含数据包长度。2.根据权利要求1所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:对于数据包的第一个数据片增加数据包头部时,数据包头部包含crc校验字段,用于传输层对数据可靠性进行校验,确保接收到的数据完全正确。3.根据权利要求1所述用于有长度限制的网络传输协议中分片传输数据包的方法,其特征在于:在传输层,需要发送数据包时,判断数据包的长度是否超过网络传输协议限制,如果未超过,则在数据前增加片头部,其中,片id为1;flag为0,表示未分片;如果超过限制,则需要分片,将数据分成符合网络传输协议限制的若干片...
【专利技术属性】
技术研发人员:王鑫鹏,南亮,
申请(专利权)人:武汉虹信通信技术有限责任公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。