CN107925516A - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN107925516A CN107925516A CN201680048976.3A CN201680048976A CN107925516A CN 107925516 A CN107925516 A CN 107925516A CN 201680048976 A CN201680048976 A CN 201680048976A CN 107925516 A CN107925516 A CN 107925516A
- Authority
- CN
- China
- Prior art keywords
- ipv4
- header
- data
- bit
- option
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据传输方法和装置,该方法包括:在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;所述Option字段包括标识位、长度位和数据位,所述第二IPv4数据报文的互联网协议标识IPID为所述第一IPv4数据报头的IPID与所述Option字段的数据位的比特数之和;根据所述第二IPv4数据报头和传输数据生成IPv4数据报文;发送所述IPv4数据报文,避免了在一定周期内,接收端会出现两个或多个不是同一个IPv4数据报文的分片报文的IPID相同、从而将IPv4数据报文错误组合的情况,满足了未来有线或无线数据高速传输的业务需求。
Description
本发明实施例涉及通信技术,尤其涉及一种数据传输方法和装置。
标准化组织第三代合作伙伴计划(Third Generation Partnership Project,简称3GPP)定义的长期演进(Long Term Evolution,简称LTE)及LTE的演进版本(Long Term Evolution-Advance,简称LTE-A)无线通信网络标准为第4代无线通信标准(the 4th Generation mobile communication,简称4G)。4G网络依赖于互联网协议(Internet Protocol,简称IP)技术进行数据传输,而且,目前4G网络数据传输大多数采用互联网协议第四版本(Internet Protocol Version 4,简称IPv4)。
采用IPv4进行数据传输的过程中,每个中间设备(如基站,核心网,路由器等)都有最大传输单元(Maximum Transmission Unit,简称MTU)限制,若传输数据报文大小超过MTU,则会将数据报文分成多个不超过MTU大小的分片报文进行传输,其中,每个分片报文的标识Flg的值为1,表示该报文为分片报文。为了在接收端对分片的数据报文进行重组,每个IPv4数据报文的报头中都定义了16bit的互联网协议标识(Identification of IP,简称IPID)字段,IPID对应的十进制值为0~65535。在一定周期内,若接收端识别出多个报文均为分片报文、且这些分片报文的IPID相同,则认为是同一个数据报文的分片报文,若IPID不相同,则认为不是同一个数据报文。
但是,随着未来有线或者无线网络的发展,数据传输速率越来越高,使用IPv4进行数据高速传输时,在一定周期内,接收端时常会出现两个或多个不是同一个数据报文的分片报文的IPID相同的情况,从而错误的将IPID相同的报文重组,导致数据传输出现差错,甚至出现业务中断。
发明内容
本发明提供一种数据传输方法和装置,避免了在一定周期内,接收端会出现两个或多个不是同一个IPv4数据报文的分片报文的IPID相同、从而将
IPv4数据报文错误组合的情况,满足了未来有线或无线数据高速传输的业务需求。
第一方面,本发明实施例提供一种数据传输方法,包括:在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;所述Option字段包括标识位、长度位和数据位,所述第二IPv4数据报文的互联网协议标识IPID为所述第一IPv4数据报头的IPID与所述Option字段的数据位的比特数之和;根据所述第二IPv4数据报头和传输数据生成IPv4数据报文;发送所述IPv4数据报文。本实施例中,由于在标准的IPv4数据报文的报头中添加的Option字段,使得第二IPv4数据报文的IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特数之和,也即最终生成的IPv4数据报文中IPID的最大值超过65535,当IPv4数据报文的IPID超过65535时可以继续增大,不会从0开始更新,避免了在一定周期内,接收端会出现两个或多个不是同一个IPv4数据报文的分片报文的IPID相同、从而将IPv4数据报文错误组合的情况,满足了未来有线或者无线数据高速传输的业务需求。
结合第一方面,在第一方面的第一种可能实现方式中,若所述Option字段的数据位的比特数小于16,则所述在第一IPv4数据报头的尾部添加选项Option字段之后,所述方法还包括:在所述Option字段的数据位之后添加填充字段,以使所述Option字段的数据位与所述填充字段的比特数之和为16。本实施例中,若Option字段的数据位的比特数小于16,则在Option字段的数据位之后添加填充字段,以使Option字段的数据位与填充字段的比特数之和为16,不仅使得IPv4数据报文的IPID的最大值超过65535,避免了在接收端会出现两个或多个不是同一个数据报文的分片报文的IPID相同的情况,满足未来有线及无线网络业务发展的需要,而且,解决了计算头部校验和时由于Option字段未占满4Byte时造成的计算不准确的问题,操作简单,效率高。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述方法还包括:更新所述第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。本实施例中,添加Option字段之后适应性的更新其它字段的值,保证了IPv4数据报文的准确性和可靠性。
结合第一方面的第一种或第二种可能实现方式,在第一方面的第三种可能实现方式中,所述Option字段的标识位包括复制位、功能选项位和选项编号。
结合第一方面的第一种至第三种中的任一种可能实现方式,在第一方面的第四种可能实现方式中,所述发送所述IPv4数据报文,包括:所述更新第二IPv4数据报头的头部校验和,包括:将所述第二IPv4数据报头的各字段的值进行16比特对齐,并将所述头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将所述第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将所述第二头部校验和进行比特翻转,获取更新的头部校验和。
第二方面,本发明实施例提供一种数据传输方法,包括:接收互联网协议第4版本IPv4数据报文;所述IPv4数据报文的报头包括Option字段,所述Option字段包括标识位、长度位和数据位;根据所述IPv4数据报头的IPID与所述Option字段的数据位的比特数之和对所述IPv4数据报文进行解析。本实施例中,由于在IPv4数据报文的报头中添加了Option字段,使得IPID的最大值超过65535,也即当IPv4数据报文的IPID超过65535时可以继续增大,不会从0开始更新,避免了在接收端会出现两个或多个不是同一个数据报文的分片报文的IPID相同的情况,满足了未来有线或无线数据高速传输的业务需求。
结合第二方面,在第二方面的第一种可能实现方式中,所述Option字段的标识位包括复制位、功能选项位和选项编号。
第三方面,本发明实施例提供一种数据传输装置,包括:
添加模块,在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;所述Option字段包括标识位、长度位和数据位,所述第二IPv4数据报文的互联网协议标识IPID为所述第一IPv4数据报头的IPID与所述Option字段的数据位的比特数之和;
生成模块,用于根据所述第二IPv4数据报头和传输数据生成IPv4数据报文;
发送模块,用于发送所述IPv4数据报文。
结合第三方面,在第三方面的第一种可能实现方式中,若所述Option字
段的数据位的比特数小于16,则所述添加模块还用于在所述Option字段的数据位之后添加填充字段,以使所述Option字段的数据位与所述填充字段的比特数之和为16。
结合第三方面或第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述装置还包括:
更新模块,用于更新所述第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
结合第三方面的第一种或第二种可能实现方式,在第三方面的第三种可能实现方式中,所述Option字段的标识位包括复制位、功能选项位和选项编号。
结合第三方面的第一种至第三种中的任一种可能实现方式,在第三方面的第四种可能实现方式中,所述添加模块更新第二IPv4数据报头的头部校验和,包括:
所述添加模块将所述第二IPv4数据报头的各字段的值进行16比特对齐,并将所述头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将所述第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将所述第二头部校验和进行比特翻转,获取更新的头部校验和。
第三方面提供的装置用于执行第一方面提供的数据传输方法,其实现原理和有益效果类似,此处不再赘述。
第四方面,本发明实施例提供一种数据传输装置,包括:
接收模块,用于接收互联网协议第4版本IPv4数据报文;所述IPv4数据报文的报头包括Option字段,所述Option字段包括标识位、长度位和数据位;
解析模块,用于根据所述IPv4数据报头的IPID与所述Option字段的数据位的比特数之和对所述IPv4数据报文进行解析。
结合第四方面,在第四方面的第一种可能实现方式中,所述Option字段的标识位包括复制位、功能选项位和选项编号。
第四方面提供的装置用于执行第二方面提供的数据传输方法,其实现原理和有益效果类似,此处不再赘述。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的数据传输方法的应用场景示意图;
图2为本发明实施例一提供的数据传输方法的流程图;
图3为本发明实施例二提供的数据传输方法的流程图;
图4为本发明实施例提供的计算IPv4数据报文的头部校验和的方法流程图;
图5为本发明实施例三提供的数据传输装置的结构示意图;
图6为本发明实施例四提供的数据传输装置的结构示意图;
图7为本发明实施例五提供的数据传输装置的结构示意图;
图8为本发明实施例六提供的设备的结构示意图。
图1为本发明提供的数据传输方法的应用场景示意图,该数据传输方法适应于移动网络,固网,物联网等所有使用IPv4技术的网络。如图1所示,该场景包括发送端1、中间设备2、中间设备3、中间设备4、和接收端5。其中,发送端1用于按照约定的协议生成IPv4数据报文,并将IPv4数据报文发送给接收端5,接收端5接收到IPv4数据报文之后按照约定的协议对该报文进行解析,发送端1和接收端5可以为服务器、终端等设备。中间设备用于按照约定的协议对IPv4数据报文进行转发,中间设备可以为基站,核心网,路由器等,另外,该场景中中间设备不是必须的,可以包括多个或者多层中间设备,也可以不包括中间设备,图1中仅示意性的示出3个中间设备。
图2为本发明实施例一提供的数据传输方法的流程图,如图2所示,本实施例的方法可以包括:
步骤101、在第一IPv4数据报头的尾部添加选项(Option)字段,生成第二IPv4数据报头;Option字段包括标识位、长度位和数据位,第二IPv4数据报文的IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特
数之和。
在本实施例中,第一Pv4数据报头的IPID为标准的IPv4报文中的16bit的IPID,也即标准的IPv4报文的报头中的Identification字段,Option字段用于对标准的IPv4报文中的16bit的IPID进行扩展,其中,Option字段的标识位表示该Option字段用于扩展IPID,长度位表示整个Option字段的长度,数据位表示扩展的IPID的长度。标准的IPv4报文的IPID字段的长度为16bit,也即IPID的最大值为65535,本实施例中,发送端在IPv4数据报文的报头的尾部添加Option字段对IPID进行扩展,即16bit的原IPID与Option字段的数据位的比特数之和为生成的IPv4数据报文的IPID,使得IPv4数据报文的IPID的长度大于16bit,也即IPID的最大值超过65535。可以将Option字段的数据位设置为16bit,将IPID由标准中的16bit扩展到32bit的长度,也即将IPv4协议支持的Identification范围从65535扩展到4294836225,相当于将IPv4数据报文的IPID扩展到与IPv6的Identification一样的范围。
表1示出了本发明一实施例提供的IPv4数据报文的格式。
表1
表1中的Option字段的数据位的长度为16bit,如表1所示,第二IPv4数据报头包括IPv4协议版本(Ver)、报头长度(Internet Header Length,
简称IHL)、服务类型(Tos)、报文总长度(total length)、IP标识(Identification)、分片报文标志位(Flg)、分片报文的偏移量(Fragment offset)、生存时间(Time)、协议类型(Protocol)、头部校验和(Header Checksum)、源地址(source address)、目标地址(destination address)、Option字段的标识位(Opt.code)、Option字段的长度位(Opt.len)、Option字段的数据位(Option value),其中,Identification为标准的IPv4协议中定义的16bit的IPID。
表2示出了标准的IPv4数据报文的格式。如表2所示,第一IPv4数据报头从Ver字段开始,到destination address字段结束。
表2
从表1和表2对比可以得出,标准的IPv4数据报头中的Identification字段仅有16bit,报头长度是20Byte,IPv4数据报文的总长度(Total Length)为1500Byte,Header Checksum的值为0xc7a4。而本实施例中的IPv4数据报头中不仅包括Identification字段,还包括Option字段,第二IPv4数据报头从Ver开始,到option value结束,报头长度增加了4个字节,即变成了24Byte,IPv4数据报文的总长度(Total Length)为1504Byte,Header Checksum的值为0x3c9c。
步骤102、根据第二IPv4数据报头和传输数据生成IPv4数据报文。
如表1所示,生成第二IPv4数据报头之后,在data字段添加传输数据即
可生成IPv4数据报文。
步骤103、发送IPv4数据报文。
在本实施例中,发送端直接将IPv4数据报文发送给接收端,也可以通过中间设备将IPv4报文转发给接收端,例如,将IPv4数据报文转发给转发路径中的下一跳的路由器,该路由器又将IPv4数据报文转发给其它的中间设备,最终经过多次转发之后发送给接收端。
上述步骤101-103由发送端执行,相应地,接收端具体执行以下步骤:接收互联网协议第4版本IPv4数据报文;根据IPv4数据报头的IPID与Option字段的数据位的比特数之和对IPv4数据报文进行解析;IPv4数据报文的报头包括Option字段,Option字段包括标识位、长度位和数据位。
在本实施例中,接收端接收发送端发送的IPv4数据报文之后,根据表1中所示的Identification+Option value对数据IPv4数据报文进行解析,例如,若接收端识别出多个IPv4数据报文均为分片报文、且Identification+Option value的值相同,则将该些IPv4数据报文组合为一个IPv4数据报文。
本实施例提供的数据传输方法,在第一IPv4数据报头的尾部添加Option字段,生成第二IPv4数据报头,根据第二IPv4数据报头和传输数据生成IPv4数据报文,并将IPv4数据报文发送给接收端,以使接收端根据IPv4数据报头的IPID与Option字段的数据位的比特数之和对IPv4数据报文进行解析,由于在标准的IPv4数据报文的报头中添加的Option字段,使得第二IPv4数据报文的IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特数之和,也即最终生成的IPv4数据报文中IPID的最大值超过65535,当IPv4数据报文的IPID超过65535时可以继续增大,不会从0开始更新,避免了在一定周期内,接收端会出现两个或多个不是同一个IPv4数据报文的分片报文的IPID相同、从而将IPv4数据报文错误组合的情况,满足了未来有线或者无线数据高速传输的业务需求。
可选地,在图2所示实施例中,若Option字段的数据位的比特数小于16,则在第一IPv4数据报头的尾部添加选项Option字段之后,该方法还包括:在Option字段的数据位之后添加填充字段,以使Option字段的数据位与填充字段的比特数之和为16。
表3示出了本发明另一实施例提供的IPv4数据报文的格式。如表3所示,
当Option字段的数据位为8bit时,Option字段未占满4Byte,因此,在Option字段的Option value之后添加了8bit的填充(Padding)字段,Padding字段是为了计算Header Checksum时用来进行16bit对齐,并没有实际的意义。
表3
可选地,在本发明中,还可以将Option字段的数据位的比特数设置的更长,例如,将Option字段的数据位设置为24bit,则需要在Option字段后设置Padding字段,若将Option字段的数据位设置为32bit,则不需要添加Padding字段。
图3为本发明实施例二提供的数据传输方法的流程图,如图3所示,该方法包括以下步骤:
步骤201、在第一IPv4数据报头的尾部添加Option字段,生成第二IPv4数据报头;Option字段包括标识位、长度位和数据位,第二IPv4数据报文的IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特数之和。
可选地,Option字段的标识位包括复制位、功能选项位和选项编号。
在本实施例中,Option字段的标识位Opt.code包含8bit,其中,1bit用于设置复制位(copied flag),当copied flag为0时,表示非复制(not copied);当copied flag为1时,表示复制(copied)。2bits用于设置功能选项位(option
class),当option class为0时,表示该Option字段为控制指令(control);当option class为1或者3时,表示该Option字段为保留位(reserved for future use);当option class为1时,表示该Option字段为调试和校验位(debugging and measurement)。5bits用于设置选项编号(option number),选项编号用于表示Option字段的类型,不同的选项编号表示不同用途的Option字段。
表4示出了Option字段的格式,如表4所示,目前,协议中已经定义了8种其它用途的Option字段,并且,这8种Option字段在协议中已有明确的定义,此处不再赘述。本实施例增加第9种Option字段,用于扩展IPID。
表4
如表4所示,本实施例提供的第9种Option字段的copied flag为1,表示复制,option class为0,表示该Option字段为control,option number为10,10代表该Option字段用于扩展IPID。优选地,本实施例中还可以使用目前RFC791协议中未使用的11~32的任一值作为option number值。
步骤202、更新第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
如表1所示,若Option value的长度为16bit,则第二IPv4数据报头从Ver字段开始到Option value字段结束,第二IPv4数据报头的长度IHL=6,对应的IPv4数据报文的总长度为第二IPv4数据报头的长度加上数据字段(data)的长度,则对应的IPv4数据报文的总长度Total Length=0x 05dc(1504),头部校验和Header Checksum=0x3c9c。
如表3所示,若Option value的长度为8bit,则第二IPv4数据报头从Ver字段开始到Padding字段结束,第二IPv4数据报头的长度IHL=6,对应的IPv4数据报文的总长度Total Length=0x05dc(1504),头部校验和Header Checksum=0x3c9d。
图4为本发明实施例提供的计算IPv4数据报文的头部校验和的方法流程图,该方法的执行主体为发送端。表5示出了标准的IPv4数据报文中计算Header Checksum的每个步骤的结果,表6示出了本发明实施例提供的IPv4数据报文中计算Header Checksum的每个步骤的结果。
表5
表6
如图4所示,该方法包括以下步骤:
步骤301、将第二IPv4数据报头的各字段的值进行16比特对齐,并将头部校验和设置为0。
如表5和表6所示,将IPv4数据报文的报头中各字段进行16bit对齐,由于需要计算Header Checksum,先将Header Checksum设置为0。
需要说明的是,表6中示出的为opt.Value为16bit的情况,若opt.Value为8bit的情况,还包括padding字段,则opt.Value对应的值为opt.Value与padding的比特数之和。
步骤302、将对齐后的各字段的值求和,获取第一头部校验和。
如表5所示,标准的IPv4数据报文,求和得到的十六进制的第一头部校
验和为“23859”,如表6所示,本实施例中的IPv4数据报文,求和得到的十六进制的第一头部校验和为“2C361”。
步骤303、重新将第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和。
如表5和表6所示,再一次将IPv4数据报文的报头中的各个字段16bit对齐,其中,若第一头部校验和字段的值超过16bit,则将超过16bit的部分与低4bit位相加,则标准的IPv4数据报文的第二头部校验和对应的数值为“385B”,本实施例中的IPv4数据报文的第二头部校验和对应的数值为“C363”。
步骤304、将第二头部校验和进行比特翻转,获取更新的头部校验和。
在表5中,先将“385B”转换为二进制数“11100001011011”,进行比特翻转后得到的二进制数为“1100011110100100”,对应的十六进制数为“c7a4”,也即,表5中最终计算得到的标准的IPv4数据报文的Header Checksum为“c7a4”。
在表6中,先将“C363”转换为二进制数“1100001101100011”,进行比特翻转后得到放入二进制数为“0011110010011100”,对应的十六进制数为“3C9C”,也即,表6中最终计算得到的本实施例的IPv4数据报文的Header Checksum为“3C9C”。
步骤203、根据第二IPv4数据报头和传输数据生成IPv4数据报文。
步骤204、发送IPv4数据报文。
本实施例提供的数据传输方法,在第一IPv4数据报头的尾部添加Option字段,生成第二IPv4数据报头之后,计算并更新第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和,根据第二IPv4数据报头和传输数据生成IPv4数据报文,将IPv4数据报文发送给接收端,以使接收端根据Identification与Option value的比特数之和对IPv4数据报文进行解析,以确定多个IPv4数据报文是否为同一个IPv4数据报文的分片报文,由于在IPv4数据报文的报头中添加了Option字段,使得IPID的最大值超过65535,也即当IPv4数据报文的IPID超过65535时可以继续增大,不会从0开始更新,避免了在接收端会出现两个或多个不是同一个数据报文的分片报文的IPID相同的情况,满足了数据高速传输的业务需求。
图5为本发明实施例三提供的数据传输装置的结构示意图,如图5所示,该装置包括添加模块11、生成模块12和发送模块13。其中,添加模块11在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;Option字段包括标识位、长度位和数据位,第二IPv4数据报文的互联网协议标识IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特数之和。生成模块12用于根据第二IPv4数据报头和传输数据生成IPv4数据报文。发送模块13用于发送IPv4数据报文。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选地,若Option字段的数据位的比特数小于16,则添加模块11还用于在Option字段的数据位之后添加填充字段,以使Option字段的数据位与填充字段的比特数之和为16。
图6为本发明实施例四提供的数据传输装置的结构示意图,如图6所示,该装置还包括更新模块14。更新模块14用于更新第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
可选地,Option字段的标识位包括复制位、功能选项位和选项编号。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选地,添加模块11更新第二IPv4数据报头的头部校验和,包括:添加模块11将第二IPv4数据报头的各字段的值进行16比特对齐,并将头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将第二头部校验和进行比特翻转,获取更新的头部校验和。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明实施例五提供的数据传输装置的结构示意图,如图7所示,该装置包括接收模块21和解析模块22。其中,接收模块21用于接收互联网协议第4版本IPv4数据报文;IPv4数据报文的报头包括Option字段,Option字段包括标识位、长度位和数据位。解析模块22用于根据IPv4数据报头的IPID与Option字段的数据位的比特数之和对IPv4数据报文进行解析。
可选地,Option字段的标识位包括复制位、功能选项位和选项编号。
本实施例的装置是与图5和图6对应的接收端的装置,其实现原理和技术效果与图2或3所示方法实施例的技术方案类似,此处不再赘述。
图8为本发明实施例六提供的设备的结构示意图,如图8所示,该设备包括处理器31和发送接口32,该设备还可以包括接收接口33和存储器34,发送接口32、接收接口33分别与处理器31耦合。其中,发送接口32和接收接口33可以为有线连接的插线端口,也可以为无线收发装置,例如,发送接口32为无线发射器,接收接口33为无线接收器。处理器31可包含一个或多个多核处理器和/或存储器34。处理器31可以是一个通用处理器,专用集成电路(application specific integrated circuit,ASIC),或数字信号处理器(DSP)。存储器34可为非瞬时性的存储介质,与处理器31相耦合,用于保存不同类型的数据。存储器34可包含只读存储器(read only memory,ROM),随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。存储器34可用于保存实现图2或图3所述相关方法的指令。
处理器31在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;Option字段包括标识位、长度位和数据位,第二IPv4数据报文的互联网协议标识IPID为第一IPv4数据报头的IPID与Option字段的数据位的比特数之和;根据第二IPv4数据报头和传输数据生成IPv4数据报文。发送接口32用于发送IPv4数据报文。
可选地,若Option字段的数据位的比特数小于16,则处理器31还用于在Option字段的数据位之后添加填充字段,以使Option字段的数据位与填充字段的比特数之和为16。
可选地,处理器31还用于更新第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
可选地,Option字段的标识位包括复制位、功能选项位和选项编号。
可选地,处理器31更新第二IPv4数据报头的头部校验和,包括:处理器31将第二IPv4数据报头的各字段的值进行16比特对齐,并将头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将第二
头部校验和进行比特翻转,获取更新的头部校验和。
本实施例的装置,可以用于执行图2或3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种设备,该设备的结构与图8所示的设备的结构相同,在本实施例中,接收接口用于接收互联网协议第4版本IPv4数据报文;IPv4数据报文的报头包括Option字段,Option字段包括标识位、长度位和数据位。处理器根据IPv4数据报头的IPID与Option字段的数据位的比特数之和对IPv4数据报文进行解析。
可选地,Option字段的标识位包括复制位、功能选项位和选项编号。
本实施例的设备,可以用于执行图2或图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
- 一种数据传输方法,其特征在于,包括:在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;所述Option字段包括标识位、长度位和数据位,所述第二IPv4数据报文的互联网协议标识IPID为所述第一IPv4数据报头的IPID与所述Option字段的数据位的比特数之和;根据所述第二IPv4数据报头和传输数据生成IPv4数据报文;发送所述IPv4数据报文。
- 根据权利要求1所述的方法,其特征在于,若所述Option字段的数据位的比特数小于16,则所述在第一IPv4数据报头的尾部添加选项Option字段之后,所述方法还包括:在所述Option字段的数据位之后添加填充字段,以使所述Option字段的数据位与所述填充字段的比特数之和为16。
- 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:更新所述第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
- 根据权利要求1-3任一项所述的方法,其特征在于,所述Option字段的标识位包括复制位、功能选项位和选项编号。
- 根据权利要求2-4任一项所述的方法,其特征在于,所述更新第二IPv4数据报头的头部校验和,包括:将所述第二IPv4数据报头的各字段的值进行16比特对齐,并将所述头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将所述第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将所述第二头部校验和进行比特翻转,获取更新的头部校验和。
- 一种数据传输方法,其特征在于,包括:接收互联网协议第4版本IPv4数据报文;所述IPv4数据报文的报头包括Option字段,所述Option字段包括标识位、长度位和数据位;根据所述IPv4数据报头的IPID与所述Option字段的数据位的比特数之 和对所述IPv4数据报文进行解析。
- 根据权利要求6所述的方法,其特征在于,所述Option字段的标识位包括复制位、功能选项位和选项编号。
- 一种数据传输装置,其特征在于,包括:添加模块,在第一互联网协议第4版本IPv4数据报头的尾部添加选项Option字段,生成第二IPv4数据报头;所述Option字段包括标识位、长度位和数据位,所述第二IPv4数据报文的互联网协议标识IPID为所述第一IPv4数据报头的IPID与所述Option字段的数据位的比特数之和;生成模块,用于根据所述第二IPv4数据报头和传输数据生成IPv4数据报文;发送模块,用于发送所述IPv4数据报文。
- 根据权利要求8所述的装置,其特征在于,若所述Option字段的数据位的比特数小于16,则所述添加模块还用于在所述Option字段的数据位之后添加填充字段,以使所述Option字段的数据位与所述填充字段的比特数之和为16。
- 根据权利要求8或9所述的装置,其特征在于,所述装置还包括:更新模块,用于更新所述第二IPv4数据报头的长度、对应的IPv4数据报文的总长度和头部校验和。
- 根据权利要求8-10任一项所述的装置,其特征在于,所述Option字段的标识位包括复制位、功能选项位和选项编号。
- 根据权利要求9-11任一项所述的装置,其特征在于,所述添加模块更新第二IPv4数据报头的头部校验和,包括:所述添加模块将所述第二IPv4数据报头的各字段的值进行16比特对齐,并将所述头部校验和设置为0;将对齐后的各字段的值求和,获取第一头部校验和;重新将所述第一头部校验和与其它字段的值进行16比特对齐,获取第二头部校验和;将所述第二头部校验和进行比特翻转,获取更新的头部校验和。
- 一种数据传输装置,其特征在于,包括:接收模块,用于接收互联网协议第4版本IPv4数据报文;所述IPv4数据报文的报头包括Option字段,所述Option字段包括标识位、长度位和数据 位;解析模块,用于根据所述IPv4数据报头的IPID与所述Option字段的数据位的比特数之和对所述IPv4数据报文进行解析。
- 根据权利要求13所述的装置,其特征在于,所述Option字段的标识位包括复制位、功能选项位和选项编号。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/073381 WO2017132911A1 (zh) | 2016-02-03 | 2016-02-03 | 数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107925516A true CN107925516A (zh) | 2018-04-17 |
Family
ID=59500331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680048976.3A Pending CN107925516A (zh) | 2016-02-03 | 2016-02-03 | 数据传输方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107925516A (zh) |
WO (1) | WO2017132911A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150476A (zh) * | 2022-06-20 | 2022-10-04 | 浪潮思科网络科技有限公司 | 一种eigrp协议报文压缩方法、系统、设备及介质 |
CN115174702A (zh) * | 2022-09-08 | 2022-10-11 | 深圳华锐分布式技术股份有限公司 | 基于rdma协议的数据传输方法、装置、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205425A (zh) * | 2020-09-02 | 2022-03-18 | 中国移动通信有限公司研究院 | 一种报文传输方法、装置、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5332854B2 (ja) * | 2009-04-20 | 2013-11-06 | ソニー株式会社 | 無線送信機、無線送信方法、無線受信機および無線受信方法 |
CN101567852B (zh) * | 2009-05-20 | 2011-08-24 | 中兴通讯股份有限公司 | Ip报文网络地址转换的方法及装置 |
WO2011120470A2 (zh) * | 2011-05-09 | 2011-10-06 | 华为技术有限公司 | 媒体流性能监控方法及设备 |
CN103532672B (zh) * | 2013-10-22 | 2017-06-16 | 芮雄丽 | 一种sdn网络中分片报文乱序的处理方法及应用 |
-
2016
- 2016-02-03 WO PCT/CN2016/073381 patent/WO2017132911A1/zh active Application Filing
- 2016-02-03 CN CN201680048976.3A patent/CN107925516A/zh active Pending
Non-Patent Citations (2)
Title |
---|
NTERNET STANDARD: "INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION", 《RFC:791》 * |
Z. WANG: "EIP: The Extended Internet Protocol,A Framework for Maintaining Backward Compatibility", 《NETWORK WORKING GROUP RFC:1385》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150476A (zh) * | 2022-06-20 | 2022-10-04 | 浪潮思科网络科技有限公司 | 一种eigrp协议报文压缩方法、系统、设备及介质 |
CN115150476B (zh) * | 2022-06-20 | 2024-04-12 | 浪潮思科网络科技有限公司 | 一种eigrp协议报文压缩方法、系统、设备及介质 |
CN115174702A (zh) * | 2022-09-08 | 2022-10-11 | 深圳华锐分布式技术股份有限公司 | 基于rdma协议的数据传输方法、装置、设备及介质 |
CN115174702B (zh) * | 2022-09-08 | 2022-11-22 | 深圳华锐分布式技术股份有限公司 | 基于rdma协议的数据传输方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017132911A1 (zh) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240040018A1 (en) | Communication method, communications device, and storage medium | |
WO2022078509A1 (zh) | IPv6报文的扩展头封装方法及装置 | |
US8743879B2 (en) | Label switched routing to connect low power network domains | |
CN106233700A (zh) | 用于将蓝牙设备集成到邻居感知网络中的方法和装置 | |
US10880369B2 (en) | Session persistence method, device, and storage medium | |
WO2019223795A1 (zh) | 报文传输方法、通信装置和系统 | |
Klauck et al. | Enhanced DNS message compression-Optimizing mDNS/DNS-SD for the use in 6LoWPANs | |
WO2021197141A1 (zh) | 业务处理方法、装置、设备及存储介质 | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN107925516A (zh) | 数据传输方法和装置 | |
WO2022143395A1 (zh) | 一种冗余路径创建方法、装置及系统 | |
KR102579060B1 (ko) | 라우팅 정보 전송 방법, 패킷 전송 방법 및 관련 장치 | |
US10645184B2 (en) | Information transmission method, gateway, and controller | |
EP2936765B1 (en) | Method and apparatus for handling messages | |
US11251905B2 (en) | Method for receiving code block stream, method for transmitting code block stream, and communications apparatus | |
WO2019096332A1 (zh) | 报文头压缩机制确定方法、设备及系统 | |
KR101304971B1 (ko) | 센서 개인 영역 네트워크에서의 패킷의 포워딩 | |
WO2020259465A1 (zh) | 一种数据传输的方法、终端及通信系统 | |
CN111277580B (zh) | 节点数据发送方法、接收方法以及传输方法 | |
CN111740908B (zh) | 通信方法及相关设备 | |
WO2019242428A1 (zh) | 信息传输方法及装置 | |
WO2015096734A1 (zh) | 一种业务数据的下行传输方法及分组数据网关 | |
WO2018045521A1 (zh) | 无线网络中传输信令的方法和装置 | |
US20220094769A1 (en) | Message Decapsulation Method and Device, Message Encapsulation Method and Device, Electronic Device, and Storage Medium | |
US8774202B2 (en) | Methods, systems, and computer readable media for generating general packet radio service tunneling protocol (GTP) encapsulated real-time transport protocol (RTP) packets in a long term evolution (LTE) node simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180417 |
|
WD01 | Invention patent application deemed withdrawn after publication |