一种报文处理方法及相关设备与流程
未命名
07-14
阅读:271
评论:0
1.本技术实施例涉及网络技术领域,尤其涉及一种报文处理方法及相关设备。
背景技术:
2.随着人工智能、大数据等新兴业务的快速增长,对网络设备能够提供低延时的报文转发能力的需求越来越强。影响报文转发延时的主要因素包括:报文的解析效率与封装效率等。网络层协议通过如下过程完成数据传送任务:将所传输的数据作为载荷,为载荷添加头部封装,并将封装后的头部与载荷作为一个报文向外发送,途径的路由节点通过解析报文头部读取传输指令完成数据传输任务。网络层协议头部包括基础头部和扩展头部,基础头部为网络完成传输所需的必选部分;扩展头部为可选部分,扩展头部为网络执行特殊网络能力而额外增加的部分。
3.目前,互联网协议第6版(internet protocol version 6,ipv6)采用下一个头部(next header)的方式指示扩展头部的存在。ipv6的基础头部为定长,且基础头部中包含next header字段,当next header字段为特定取值时,表示基础头部的后续字段为扩展头部。扩展头部表示方法为next header,长度(length),选项(options)的方式。其中,扩展头部中next header字段和基础头部中next header字段的语义相同。即扩展头部中next header字段为特定取值时,后续字段仍为扩展头部,直至next header字段数值不为特殊字段时,表示后续字段为载荷。
4.但是,上述采用next header的方式会导致在解析报文时,需要遍历所有next header字段才可以判定特定的扩展头部,解析效率较低。
技术实现要素:
5.本技术实施例提供了一种报文处理方法及相关设备,网络设备可以通过第一报文中的第一指示信息确定网络设备所关心的特定的扩展头部。
6.本技术实施例第一方面提供了一种报文处理方法,可以应用于网络层的报文封装与解析场景。该方法包括:接收第一通信设备发送的第一报文,第一报文包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,类型与传输用户数据的路径中通信设备实现的功能相关;基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
7.本技术实施例中,第二通信设备接收第一通信设备发送的第一报文,由于第一报文中包括的第一指示信息用于指示至少一个扩展头部的类型。因此,第二通信设备可以基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。相较于现有技术中需要遍历所有next header字段才可以判定特定的扩展头部,通过第一指示信息的方式可以提升第二通信设备解析第一报文的效率。
8.可选地,在第一方面的一种可能的实现方式中,上述的扩展头部中存在待处理的扩展头部,方法还包括:基于待处理的扩展头部执行目标类型对应的操作,目标类型为待处
理的扩展头部的类型。
9.该种可能的实现方式中,在第一报文包括第二通信设备待处理的扩展头部的情况下,第二通信设备可以基于待处理的扩展头部执行目标类型对应的操作。相较于现有技术中需要遍历所有next header字段才可以判定特定的扩展头部,进而基于特定的扩展头部进行处理相应操作,本技术实施例中的第二通信设备可以通过第一指示信息指示的扩展头部的类型执行相应的操作,减少确定特定扩展头部的时间,可以提升解析第一报文的效率。
10.可选地,在第一方面的一种可能的实现方式中,上述的第一报文包括至少两个扩展头部,第一指示信息用于指示至少两个扩展头部的类型以及至少两个扩展头部在第一报文中的位置。
11.该种可能的实现方式中,在第一报文包括至少两个扩展头部的情况下,第二通信设备还可以基于第一指示信息确定第一报文中至少两个扩展头部的位置,进而可以提升第二通信设备处理第一报文的效率。
12.可选地,在第一方面的一种可能的实现方式中,上述的第一指示信息包括多个比特位,多个比特位中的每个比特位用于指示第一报文中是否存在相应类型的扩展头部;第一指示信息中用于指示存在相应类型的扩展头部的各比特位的顺序与至少两个扩展头部在第一报文中的位置顺序存在特定的映射关系。例如,顺序一致或顺序相反等。
13.该种可能的实现方式中,通过第一指示信息中各比特与至少两个扩展头部在第一报文的位置之间的映射关系,第二通信设备可以基于第一指示信息快速定位扩展头部的位置,可以提升第二通信设备解析第一报文的效率。
14.可选地,在第一方面的一种可能的实现方式中,上述的多个比特位中个比特位为1表示第一报文中存在相应类型的扩展头部。
15.该种可能的实现方式中,第一指示信息中的1比特用于指示扩展头部的类型,具体的,比特位为1表示第一报文中存在相应类型的扩展头部,该种方式中第一指示信息所占的个比特位较小,可以提升第一报文的封装效率。
16.可选地,在第一方面的一种可能的实现方式中,上述的扩展头部的类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。
17.该种可能的实现方式中,扩展头部的类型可以是ipv6协议中涉及的类型,还可以是根据实际需要设置的类型,可以使得本技术实施例的方法应用于ipv6协议与其他协议。
18.可选地,在第一方面的一种可能的实现方式中,上述的第一报文还包括第二指示信息,第二指示信息用于指示第一报文存在至少一个扩展头部。
19.该种可能的实现方式中,第二通信设备可以先通过第二指示信息判断第一报文是否包括扩展头部。在包括扩展头部的情况下,再基于第一指示信息确定扩展头部的类型。在不包括扩展头部的情况下,可以不用管第一指示信息,进而可以提升第二通信设备的解析效率。
20.可选地,在第一方面的一种可能的实现方式中,上述的第一报文采用比特图偏移取值bov方式封装,第一报文包括基础头部与至少一个扩展头部,基础头部包括比特图、第一报文的存活时间ttl字段、第一报文的源地址字段与目的地址字段,比特图包括第三指示信息、第一指示信息以及扩展指示位,第三指示信息用于指示第一报文中存在ttl字段、源
地址字段以及目的地址字段,扩展指示位用于确定比特图的长度。
21.该种可能的实现方式中,举例在bov场景下,第一报文结构的示例。对于原有的bov方式,当bitmap已经配置了前序很多比特位功能时,新设计的功能只能申请bitmap越来越后面的位置,此时封装效率就会非常低(bitmap很长),通过在bov中引入第一指示信息可以避免由于新设计的功能使得bitmap过长,从而导致封装效率急速下降的问题。
22.本技术实施例第二方面提供了一种报文处理方法,可以应用于网络层的报文封装与解析场景。该方法包括:生成第一报文,第一报文的头部包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,述所类型与传输用户数据的路径中通信设备实现的功能相关;向第二通信设备发送第一报文。
23.本技术实施例中,一方面,第一通信设备在生成第一报文的过程中,通过在第一报文中加入第一指示信息,由于第一指示信息用于指示第一报文中扩展头部的类型,且第一指示信息所占的个比特位较小,可以提升第一报文的封装效率。另一方面,在传输路径上的后续设备(例如第二通信设备)解析和/或转发第一报文的过程中,可以使得传输路径上的后续设备基于该第一指示信息指示第一报文存在的扩展头部的类型快速确定待处理的扩展头部,进而提升后续设备解析第一报文以及转发第一报文的效率。
24.可选地,在第二方面的一种可能的实现方式中,上述步骤还包括:接收第二网络设备发送的互联网控制报文协议icmp信息,icmp信息用于指示第二网络设备无法转发第一报文;对第一报文进行分片,并向第二网络设备发送分片后的第一报文。
25.该种可能的实现方式中,在第一报文过大导致第二通信设备不能进行转发时,第一通信设备还会接收到icmp信息,进而对第一报文进行分片,并向第二通信设备发送分片后的第一报文,从而使得第二通信设备可以正常转发第一报文中的数据。
26.可选地,在第二方面的一种可能的实现方式中,上述的第一报文包括至少两个扩展头部,第一指示信息用于指示至少两个扩展头部的类型以及至少两个扩展头部在第一报文中的位置。
27.该种可能的实现方式中,在第一报文包括至少两个扩展头部的情况下,第二通信设备还可以基于第一指示信息确定第一报文中至少两个扩展头部的位置,进而可以提升第二通信设备处理第一报文的效率。
28.可选地,在第二方面的一种可能的实现方式中,上述的第一指示信息包括多个比特位,多个比特位中的每个比特位用于指示第一报文中是否存在相应类型的扩展头部;第一指示信息中用于指示存在相应类型的扩展头部的各比特位的顺序与至少两个扩展头部在第一报文中的位置顺序存在特定的映射关系。例如,顺序一致或顺序相反等。
29.该种可能的实现方式中,通过第一指示信息中各比特与至少两个扩展头部在第一报文的位置之间的映射关系,第二通信设备可以基于第一指示信息快速定位扩展头部的位置,可以提升第二通信设备解析第一报文的效率。
30.可选地,在第二方面的一种可能的实现方式中,上述的多个比特位中个比特位为1表示第一报文中存在相应类型的扩展头部。
31.该种可能的实现方式中,第一指示信息中的1比特用于指示扩展头部的类型,具体的,比特位为1表示第一报文中存在相应类型的扩展头部,该种方式中第一指示信息所占的个比特位较小,可以提升第一报文的封装效率。
32.可选地,在第二方面的一种可能的实现方式中,上述的扩展头部的类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。
33.该种可能的实现方式中,扩展头部的类型可以是ipv6协议中涉及的类型,还可以是根据实际需要设置的类型,可以使得本技术实施例的方法应用于ipv6协议与其他协议。
34.可选地,在第二方面的一种可能的实现方式中,上述的第一报文还包括第二指示信息,第二指示信息用于指示第一报文存在至少一个扩展头部。
35.该种可能的实现方式中,第二通信设备可以先通过第二指示信息判断第一报文是否包括扩展头部。在包括扩展头部的情况下,再基于第一指示信息确定扩展头部的类型。在不包括扩展头部的情况下,可以不用管第一指示信息,进而可以提升第二通信设备的解析效率。
36.可选地,在第二方面的一种可能的实现方式中,上述的第一报文采用比特图偏移取值bov方式封装,第一报文包括基础头部与至少一个扩展头部,基础头部包括比特图、第一报文的存活时间ttl字段、第一报文的源地址字段与目的地址字段,比特图包括第三指示信息、第一指示信息以及扩展指示位,第三指示信息用于指示第一报文中存在ttl字段、源地址字段以及目的地址字段,扩展指示位用于确定比特图的长度。
37.该种可能的实现方式中,举例在bov场景下,第一报文结构的示例。对于原有的bov方式,当bitmap已经配置了前序很多比特位功能时,新设计的功能只能申请bitmap越来越后面的位置,此时封装效率就会非常低(bitmap很长),通过在bov中引入第一指示信息可以避免由于新设计的功能使得bitmap过长,从而导致封装效率急速下降的问题。
38.本技术实施例第三方面提供了一种报文处理方法,可以应用于网络层的报文封装与解析场景。该方法包括:接收第一通信设备发送的第一报文,第一报文包括第二指示信息与用户数据,第二指示信息用于指示第一报文是否存在扩展头部;基于第二指示信息确定第一报文中是否包括扩展头部。
39.本技术实施例中,第二通信设备可以通过第一报文中的第二指示信息判断第一报文是否包括扩展头部。可以使得第二通信设备快速确定第一报文是否包括扩展头部,进而提升解析第一报文的效率。
40.可选地,在第三方面的一种可能的实现方式中,上述的第二指示信息用于指示第一报文存在扩展头部,第一报文还包括第一指示信息,第一指示信息用于指示至少一个扩展头部的类型,类型与传输用户数据的路径中通信设备实现的功能相关;上述步骤还包括:基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
41.该种可能的实现方式中,第二通信设备可以先通过第二指示信息判断第一报文是否包括扩展头部。在包括扩展头部的情况下,再基于第一指示信息确定扩展头部的类型。在不包括扩展头部的情况下,可以不用管第一指示信息,进而可以提升第二通信设备的解析效率。
42.本技术实施例第四方面提供了一种报文处理方法,可以应用于网络层的报文封装与解析场景。该方法包括:生成第一报文,第一报文包括第二指示信息与用户数据,第二指示信息用于指示第一报文是否存在扩展头部;向第二通信设备发送第一报文。
43.本技术实施例中,第一通信设备通过在第一报文中增加第二指示信息,使得第二
通信设备可以通过第一报文中的第二指示信息判断第一报文是否包括扩展头部。可以使得第二通信设备快速确定第一报文是否包括扩展头部,进而提升解析第一报文的效率。
44.本技术实施例第五方面提供了一种第二通信设备,可以应用于网络层的报文封装与解析场景。该第二通信设备包括:接收单元,用于接收第一通信设备发送的第一报文,第一报文包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,类型与传输用户数据的路径中通信设备实现的功能相关;确定单元,用于基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
45.可选地,在第五方面的一种可能的实现方式中,上述的扩展头部中存在待处理的扩展头部,第二通信设备还包括:执行单元,用于基于待处理的扩展头部执行目标类型对应的操作,目标类型为待处理的扩展头部的类型。
46.可选地,在第五方面的一种可能的实现方式中,上述的第一报文包括至少两个扩展头部,第一指示信息用于指示至少两个扩展头部的类型以及至少两个扩展头部在第一报文中的位置。
47.可选地,在第五方面的一种可能的实现方式中,上述的第一指示信息包括多个比特位,多个比特位中的每个比特位用于指示第一报文中是否存在相应类型的扩展头部;第一指示信息中用于指示存在相应类型的扩展头部的各比特位的顺序与至少两个扩展头部在第一报文中的位置顺序存在映射关系。
48.可选地,在第五方面的一种可能的实现方式中,上述的多个比特位中个比特位为1表示第一报文中存在相应类型的扩展头部。
49.可选地,在第五方面的一种可能的实现方式中,上述的扩展头部的类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。
50.可选地,在第五方面的一种可能的实现方式中,上述的第一报文还包括第二指示信息,第二指示信息用于指示第一报文存在至少一个扩展头部。
51.可选地,在第五方面的一种可能的实现方式中,上述的第一报文采用比特图偏移取值bov方式封装,第一报文包括基础头部与至少一个扩展头部,基础头部包括比特图、第一报文的存活时间ttl字段、第一报文的源地址字段与目的地址字段,比特图包括第三指示信息、第一指示信息以及扩展指示位,第三指示信息用于指示第一报文中存在ttl字段、源地址字段以及目的地址字段,扩展指示位用于确定比特图的长度。
52.本技术实施例第六方面提供了一种第一通信设备,可以应用于网络层的报文封装与解析场景。该第一通信设备包括:生成单元,用于生成第一报文,第一报文的头部包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,述所类型与传输用户数据的路径中通信设备实现的功能相关;发送单元,用于向第二通信设备发送第一报文。
53.可选地,在第六方面的一种可能的实现方式中,上述的第一通信设备还包括:接收单元,用于接收第二网络设备发送的互联网控制报文协议icmp信息,icmp信息用于指示第二网络设备无法转发第一报文;分片单元,用于对第一报文进行分片,并向第二网络设备发送分片后的第一报文。
54.可选地,在第六方面的一种可能的实现方式中,上述的第一报文包括至少两个扩展头部,第一指示信息用于指示至少两个扩展头部的类型以及至少两个扩展头部在第一报文中的位置。
55.可选地,在第六方面的一种可能的实现方式中,上述的第一指示信息包括多个比特位,多个比特位中的每个比特位用于指示第一报文中是否存在相应类型的扩展头部;第一指示信息中用于指示存在相应类型的扩展头部的各比特位的顺序与至少两个扩展头部在第一报文中的位置顺序存在映射关系。
56.可选地,在第六方面的一种可能的实现方式中,上述的多个比特位中个比特位为1表示第一报文中存在相应类型的扩展头部。
57.可选地,在第六方面的一种可能的实现方式中,上述的扩展头部的类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。
58.可选地,在第六方面的一种可能的实现方式中,上述的第一报文还包括第二指示信息,第二指示信息用于指示第一报文存在至少一个扩展头部。
59.可选地,在第六方面的一种可能的实现方式中,上述的第一报文采用比特图偏移取值bov方式封装,第一报文包括基础头部与至少一个扩展头部,基础头部包括比特图、第一报文的存活时间ttl字段、第一报文的源地址字段与目的地址字段,比特图包括第三指示信息、第一指示信息以及扩展指示位,第三指示信息用于指示第一报文中存在ttl字段、源地址字段以及目的地址字段,扩展指示位用于确定比特图的长度。
60.本技术实施例第七方面提供了一种第二通信设备,可以应用于网络层的报文封装与解析场景。该第二通信设备包括:接收单元,用于接收第一通信设备发送的第一报文,第一报文包括第二指示信息与用户数据,第二指示信息用于指示第一报文是否存在扩展头部;确定单元,用于基于第二指示信息确定第一报文中是否包括扩展头部。
61.可选地,在第七方面的一种可能的实现方式中,上述的第二指示信息用于指示第一报文存在扩展头部,第一报文还包括第一指示信息,第一指示信息用于指示至少一个扩展头部的类型,类型与传输用户数据的路径中通信设备实现的功能相关;上述确定单元,还用于基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
62.本技术实施例第八方面提供了一种第一通信设备,可以应用于网络层的报文封装与解析场景。该第一通信设备包括:生成单元,用于生成第一报文,第一报文包括第二指示信息与用户数据,第二指示信息用于指示第一报文是否存在扩展头部;发送单元,用于向第二通信设备发送第一报文。
63.本技术实施例第九方面提供了一种第二通信设备,该第二通信设备用于执行前述第一方面或第一方面的任意可能的实现方式中的方法,或者执行前述第三方面或第三方面的任意可能的实现方式中的方法。
64.本技术实施例第十方面提供了一种第一通信设备,该第一通信设备用于执行前述第二方面或第二方面的任意可能的实现方式中的方法,或者执行前述第四方面或第四方面的任意可能的实现方式中的方法。
65.本技术实施例第十一方面提供了一种通信系统,包括前述第九方面的第二通信设
备,和/或前述第十方面的第二通信设备。
66.本技术实施例第十二方面提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法;或者以执行第二方面或第二方面任意一种可能的实现方式中的方法;或者以执行第三方面或第三方面任意一种可能的实现方式中的方法;或者以执行第四方面或第四方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,cpu)、微控制器(micro controller unit,mcu)、微处理器(micro processing unit,mpu)、数字信号处理器(digital signal processing,dsp)、片上系统(system on chip,soc)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或可编辑逻辑器件(programmable logic device,pld)的形式实现。
67.本技术实施例第十三方面提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法;使得计算机执行上述第二方面或第二方面的任一种可能执行的方法;使得计算机执行上述第三方面或第三方面的任一种可能执行的方法;使得计算机执行上述第四方面或第四方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,rom)、可编程rom(programmable rom,prom)、可擦除的prom(erasable prom,eprom)、flash存储器、电eprom(electrically eprom,eeprom)以及硬盘驱动器(hard drive)。
68.本技术实施例第十四方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法;或者使得计算机执行前述第二方面或第二方面的任意可能的实现方式中的方法;或者使得计算机执行前述第三方面或第三方面的任意可能的实现方式中的方法;或者使得计算机执行前述第四方面或第四方面的任意可能的实现方式中的方法。
69.其中,第五、第九、第十一、第十二、第十三、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
70.其中,第六、第十、第十一、第十二、第十三、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。
71.其中,第七、第九、第十一、第十二、第十三、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第三方面或第三方面不同可能实现方式所带来的技术效果,此处不再赘述。
72.其中,第八、第十、第十一、第十二、第十三、第十四方面或者其中任一种可能实现方式所带来的技术效果可参见第四方面或第四方面不同可能实现方式所带来的技术效果,此处不再赘述。
73.从以上技术方案可以看出,本技术实施例具有以下优点:第二通信设备接收第一通信设备发送的第一报文,由于第一报文中包括的第一指示信息用于指示至少一个扩展头部的类型。相较于现有技术中需要遍历所有next header字段才可以判定特定的扩展头部。
本实施例中第二通信设备可以基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。可以减少确定特定的扩展头部的时长,进而可以提升第二通信设备解析第一报文的效率。
附图说明
74.图1为本发明实施例提供的一种通信系统示意图;
75.图2为本技术实施例提供的一种报文处理方法一个流程示意图;
76.图3至图8为本技术实施例提供的第一报文的几种结构示意图;
77.图9为本技术实施例提供的一种报文处理方法另一个流程示意图;
78.图10为本技术实施例提供的第一报文的另一种结构示意图;
79.图11为本技术实施例提供的第二通信设备的一个结构示意图;
80.图12为本技术实施例提供的第一通信设备的一个结构示意图;
81.图13为本技术实施例提供的第二通信设备的另一个结构示意图;
82.图14为本技术实施例提供的第一通信设备的另一个结构示意图;
83.图15为本技术实施例提供的通信设备的结构示意图。
具体实施方式
84.本技术实施例提供了一种报文处理方法及相关设备,网络设备可以通过第一报文中的第一指示信息确定网络设备所关心的特定的扩展头部。
85.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
86.另外,在本技术实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
87.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:包括单独存在a,存在a和b,以及单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
88.为了便于理解,下面先对本技术实施例主要涉及的相关术语和概念进行介绍。
89.1、网络层
90.网络层是开放式系统互联模型(open system interconnection model,osi模型)中的第三层{传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)模型中的网际层},提供路由和寻址的功能,使得两端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。另外,由于tcp/ip协议体系中的网络层功能由ip协议规定和实现,故又称ip层。路由器(router)工作在网络层。
91.2、ip协议
92.ip协议是tcp/ip协议簇中的重要协议,是tcp/ip协议簇的运作核心。ip定义了寻址方法和数据报的封装结构。ip协议是一个无连接的服务,负责在源地址和目的地址之间传送数据报,其主要功能就是把数据报在互连的网络上传送,将数据报在一个模块间通过路由处理网络地址传送到目的地址。例如在ip协议中,通过ip地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。常用的ip协议版本包括ip第四版(ipv4)与ip第六版(ipv6)。
93.3、互联网控制报文协议(internet control message protocol,icmp)
94.icmp协议是一种面向无连接的协议,用于传输出错报告控制信息。icmp属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制核状态信息等。当遇到ip数据无法访问目标、ip路由器无法按当前的传输速率转发数据包等情况时,会自动发送icmp消息。另外,icmp是tcp/ip模型中网络层的重要成员,与ip协议、地址解析协议(address resolution protocol,arp)、反向地址转换协议(reverse address resolution protocol,rarp)协议以及互联网组管理协议(internet group manage protocol,igmp)协议共同构成tcp/ip模型中的网络层。
95.4、封装
96.封装是指在传输之前为数据添加额外的协议头信息的过程。笼统地讲,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。
97.5、解封装
98.解封装,就是封装的逆过程,拆解协议包,处理包头中的信息,取出净荷中的业务信息数据封装和解封装是一对逆过程。
99.6、基础头部(header)
100.基础头部,也可以称为头部,本技术实施例为了与扩展头部区分,称为基础头部。主要包括用于寻址与路由的控制信息。也可以理解为,基础头部是数据包中固定存在的控制信息。例如:对于ipv4数据包来说,基础头部大小为20个八位字节,即160位。对于ipv6数据包来说,基础头部大小为40个八位字节,即320位。
101.7、扩展头部(extension header)
102.扩展头部主要包括用于实现特殊功能(例如:路由、时间戳、分片和超大分组等)。例如:通过在ipv6的基础头部之后增加扩展头部实现上述特殊功能。也可以理解为,扩展头部是数据包中可选的控制信息。
103.8、类型长度取值(tag/type length value,tlv)
104.tlv是指由数据的类型tag/type、数据的长度length、数据的值value组成的结构体,几乎可以描述任意数据类型。其中,在tlv的定义中,可以知道它包括三个域,分别为:标签域(tag),长度域(length),内容域(value)。这里的长度域的值实际上就是内容域的长度。
105.9、比特图偏移取值(bitmap offset value,bov)
106.bov封装方式是一种新型的头部封装方式,其不区分基础头部与扩展头部,所有字段均由bitmap表指示。bitmap是一组由0和1构成的二进制序列,其长度由前序特定字段
(bitmap length)指定,当bitmap某个特定比特值为1时,其表示后续某个特定的字段存在,且该字段的位置由对应offset字段数值表示,该字段的值由value字段数值表示。在特定场景下,value字段可约定长度,此时offset字段可省略以节省封装开销。需要注意的是,本技术实施例中后续所提的bov是在此基础上做的改进,即在基础头部的bitmap中增加第一指示信息和/或第二指示信息。当bitmap已经配置了前序很多比特位功能时,新设计的功能只能申请bitmap越来越后面的位置,此时封装效率就会非常低(bitmap很长),通过在bov中引入第一指示信息和/或第二指示信息可以避免由于新设计的功能导致封装效率急速下降的问题。
107.图1给出了一种通信系统示意图。该通信系统可以包括:第一终端设备101、第二终端设备102、第一转发设备103以及第二转发设备104。其中,第一终端设备101通过第一转发设备103、第二转发设备104与第二终端设备102进行通信。
108.第一终端设备101与第二终端设备102传输数据的具体过程可以包括:第一终端设备101将做传输的数据作为载荷,为载荷添加头部封装,并将头部封装与载荷作为一个报文向第一转发设备103发送。第一转发设备103接收到第一终端设备101发送的报文,解析该报文的头部得到传输路径,并基于该传输路径向第二转发设备104转发该报文。第二转发设备104执行的操作与第一转发设备103类似。最后,第二终端设备102接收第二转发设备104转发的报文,解析报文得到载荷中的数据,进而实现第一终端设备101与终端设备103之间的数据传输。
109.可以理解的是,在上述传输数据的过程中,第一转发设备103与第二转发设备104也可以基于报文的扩展头部进行某些处理(例如:身份验证标头、封装安全有效负载、分片等),还可以在报文的头部中增加或修改扩展头部(例如:增加路由类型的扩展头部),并向下一跳设备发送更新后的报文。
110.本技术实施例中,仅以两个终端设备(即第一终端设备101与第二终端设备102)、两个转发设备(即第一转发设备103与第二转发设备104)为例进行示意性说明。在实际应用中,本技术实施例中的通信系统可以有更多或更少的转发设备以及终端设备,本技术实施例对转发设备以及终端设备的数目不进行限定。
111.本技术实施例中的第一转发设备103与第二转发设备104可以是任意一种具有无线/有线收发功能的中间网络设备。例如,在网络层,第一转发设备103与第二转发设备104可以是路由器。
112.本技术实施例中的终端设备(即第一终端设备101或第二终端设备102)是一种具有无线/有线收发功能的设备,可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。该终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、可穿戴终端设备等等。本技术的实施例对应用场景不做限定。终端设备有时也可以称为终端、用户设备(user equipment,ue)、接入终端设备、车
载终端、工业控制终端、ue单元、ue站、移动站、移动台、远方站、远程终端设备、移动设备、ue代理或ue装置等。终端设备也可以是固定的或者移动的。另外,终端设备也可以是用于实现ue功能的芯片系统。
113.一般情况下,上述第一转发设备103与第二转发设备104要做的处理是由报文中的扩展头部决定的。目前,互联网协议第6版(internet protocol version 6,ipv6)采用下一个头部(next header)的方式指示扩展头部的存在。ipv6的基础头部为定长,且基础头部中包含next header字段,当next header字段为特定取值时,表示基础头部的后续字段为扩展头部。扩展头部表示方法为next header,长度(length),选项(options)的方式。其中,扩展头部中next header字段和基础头部中next header字段的语义相同。即扩展头部中next header字段为特定取值时,后续字段仍为扩展头部,直至next header字段数值不为特殊字段时,表示后续字段为载荷。
114.但是,上述采用next header的方式会导致在解析报文时,需要遍历所有next header字段才可以判定特定的扩展头部,解析效率较低。
115.为了解决上述问题,本技术实施例提供了一种报文处理方法,网络设备可以通过第一报文中的第一指示信息确定网络设备所关心的特定的扩展头部。
116.下面结合图1所示的通信系统对本技术实施例中的报文处理方法进行描述。请参阅图2,本技术实施例提供的报文处理方法的一个实施例包括步骤201至步骤204。其中,第一通信设备与第二通信设备可以是前述图1中的任意两个设备,例如:第一通信设备是前述图1所示中的第一终端设备101,第二通信设备是前述图1所示中的第一转发设备103。又例如:第一通信设备是前述图1所示中的第一转发设备103,第二通信设备是前述图1所示中的第二转发设备104。再例如:第一通信设备是前述图1所示中的第二转发设备104,第二通信设备是前述图1所示中的第二终端设备102等等。具体此处不做限定。另外,该方法可以由通信设备(第一通信设备或第二通信设备)执行,也可以由通信设备的部件(例如处理器、芯片、或芯片系统等)执行。可以理解的是,第一通信设备与第二通信设备可以是芯片或具有收发功能的单元或实体设备。若第一通信设备发送报文,则第二通信设备接收报文;若第二通信设备发送报文,则第一通信设备接收报文。本技术实施例中以第一通信设备为发送端设备,第二通信设备为接收端设备为例进行说明。
117.步骤201,第一通信设备生成第一报文。
118.本技术实施例中的第一通信设备与第二通信设备可以是前述图1中的任意两个设备,具体此处不做限定。下面在没有说明的情况下,仅以第一通信设备是前述图1中所示的第一终端设备,第二通信设备是前述图1中所示的第一转发设备为例进行描述。
119.可选地,第一通信设备是前述图1中的第一终端设备,第一终端设备在获取需要向第二终端设备传输的用户数据之后,在用户数据的基础上增加基础头部和/或扩展头部进行封装得到第一报文。其中,用户数据也可以称为载荷(payload)。扩展头部的长度和编码方式由具体协议或实际需要设置,此处不做限定。另外,若存在扩展头部,扩展头部位于基础头部与载荷之间。例如,第一报文的结构可以如图3所示,需要注意的是,图3所示的结构并不对基础头部、扩展头部、载荷所占的字节做限定,例如,载荷所占的字节可能比基础头部所占的字节更多或更少。
120.本技术实施例中的第一报文包括第一指示信息、至少一个扩展头部与载荷,第一
指示信息用于指示至少一个扩展头部的类型,该类型与传输用户数据的路径中通信设备实现的功能(例如:路由、加密和认证等)相关。或者理解为,该第一指示信息指示的类型是第一报文中存在的扩展头部类型,即第一指示信息可以用于指示对应类型的扩展头部是否存在。
121.可选地,在第一报文包括至少两个扩展头部的情况下,第一指示信息除了用于指示至少两个扩展头部的类型之外,还可以用于指示至少两个扩展头部在第一报文中的位置。具体的,第一指示信息中指示第一报文存在的扩展头部类型的顺序与至少两个扩展头部在第一报文中的位置顺序存在特定的映射关系(例如:顺序一致、顺序相反等)。只要是可以根据第一指示信息确定出扩展头部在第一报文中的位置即可,例如,第一指示信息的第1个比特位可以对应第一报文中的第1个扩展头部的位置,或者对应第一报文中的第2个扩展头部的位置等等,具体此处不做限定。
122.本技术实施例中,可以基于第一指示信息中指示存在扩展头部类型的顺序、扩展头部中的长度以及预设的扩展头部定长中的至少一项确定扩展头部在第一报文中的位置。
123.另外,对于第一指示信息中几比特对应一个扩展头部类型不做限定。为了有利于减小报文长度,减少报文的收发开销,本文仅以1比特用于指示一个扩展头部的类型为例进行描述。例如:第一指示信息包括3比特,这3比特分别用于指示三个扩展头部的类型,第一指示信息中的第一个比特用于指示第一报文中第一个扩展头部的类型,第一指示信息中的第二个比特用于指示第一报文中第二个扩展头部的类型,第一指示信息中的第三个比特用于指示第一报文中第三个扩展头部的类型。可以理解的是,也可以是第一指示信息中2比特或更多比特用于指示一个扩展头部的类型,具体此处不做限定。
124.可选地,本技术实施例中扩展头部的类型以及第一顺序可以如表1所示,其中,第一顺序为第一指示信息的指示顺序。
125.表1
[0126][0127]
其中,本技术实施例中的至少一个扩展头部可以是上述表1中的至少一种。另外,上述6种扩展头部的类型、数量与第一顺序只是举例,在实际应用中,可以根据实际需要对扩展头部的类型、扩展头部类型的数量、扩展头部的数量以及第一顺序进行设置。下面结合表1描述第一顺序。具体的,第一指示信息中的第1个比特位用于指示扩展头部r(即路由类型)是否存在。第一指示信息中的第2个比特位用于指示扩展头部f(即分片类型)是否存在。第一指示信息中的第3个比特位用于指示扩展头部a(即身份验证标头类型)是否存在。第一指示信息中的第4个比特位用于指示扩展头部e(即封装安全有效负载类型)是否存在。第一
指示信息中的第5个比特位用于指示扩展头部h(即逐跳类型)是否存在。第一指示信息中的第6个比特位用于指示扩展头部d(即目的地类型)是否存在。
[0128]
另外,一个类型可以对应报文中的一个或多个扩展头部,例如:逐跳选项类型可以对应一个或多个扩展头部,具体此处不做限定。
[0129]
可选地,该第一报文包括基础头部、至少一个扩展头部与载荷。其中,基础头部包括第一指示信息与其他字段。其他字段为传输该第一报文必须有的头部信息,例如:对于ip报文来说,该其他字段可以包括:版本字段、首部长度字段、服务类型字段、报文总长度字段、存活时间(time to live,ttl)字段、源ip地址、目标ip地址字段等等。
[0130]
可选地,第一指示信息包括多个比特位,多个比特位中的每个比特位用于指示第一报文中是否存在相应类型的扩展头部。例如:第一指示信息包括6比特,每个比特位用“0”或“1”来指示是否存在相应类型的扩展头部。具体的,个比特位为1表示存在相应类型的扩展头部,个比特位为0表示不存在相应类型的扩展头部。
[0131]
示例1:以第一报文包括上述表1中6种扩展头部类型、第一指示信息为6比特、第一指示信息中的每比特用于指示一类扩展头部是否存在、第一指示信息指示6种扩展头部类型的顺序与6种扩展头部类型在第一报文中的顺序一致(例如表1的位序)、且每类扩展头部的数量是1个为例,对第一报文的结构进行描述。如图4所示,第一报文包括基础头部、扩展头部以及载荷。基础头部包括第一指示信息与其他字段,扩展头部包括r、f、a、e、h、d六种类型的扩展头部。第一指示信息的6比特分别为“11111”,其中,第一指示信息中为“1”的个比特位用于指示对应类型的扩展头部存在,第一指示信息中为“0”的个比特位用于指示对应类型的扩展头部不存在。即第一指示信息中的第1个比特位为“1”,用于指示扩展头部r(即路由类型)存在。第一指示信息中的第2个比特位为“1”,用于指示扩展头部f(即分片类型)存在。第一指示信息中的第3个比特位为“1”,用于指示扩展头部a(即身份验证标头类型)存在。第一指示信息中的第4个比特位为“1”,用于指示扩展头部e(即封装安全有效负载类型)存在。第一指示信息中的第5个比特位为“1”,用于指示扩展头部h(即逐跳类型)存在。第一指示信息中的第6个比特位为“1”,用于指示扩展头部d(即目的地类型)存在。可以看出,第一报文存在六种类型的扩展头部,且六种类型的扩展头部在第一报文中的排序与第一指示信息指示存在六种扩展头部类型的顺序一致。
[0132]
图4仅以6种扩展头部类型都存在(即第一指示信息的6比特分别为“111111”)为例,对于第一报文不包括全部6种类型的情况可以如图5所示。下面只描述图5与图4的区别点,类似的地方不在赘述。
[0133]
示例2:图5中第一指示信息的6比特为“111101”,即第一指示信息中的第1个比特位为“1”,用于指示扩展头部r(即路由类型)存在。第一指示信息中的第2个比特位为“1”,用于指示扩展头部f(即分片类型)存在。第一指示信息中的第3个比特位为“1”,用于指示扩展头部a(即身份验证标头类型)存在。第一指示信息中的第4个比特位为“1”,用于指示扩展头部e(即封装安全有效负载类型)存在。第一指示信息中的第5个比特位为“0”,用于指示扩展头部h(即逐跳类型)不存在。第一指示信息中的第6个比特位为“1”,用于指示扩展头部d(即目的地类型)存在。可以看出,第一报文存在五种类型的扩展头部,且五种类型的扩展头部在第一报文中的排序与第一指示信息指示存在五种扩展头部类型的顺序一致(即不考虑指示不存在扩展头部类型顺序的个比特位)。或者理解为,在确定相应类型的扩展头部的位
置,还要结合第一指示信息中为“0”的比特位的数量,如图5的示例可知,由于,第一指示信息中有1个比特位为“0”,则第一指示信息中第6个比特位用于指示的扩展头部其实在扩展头部中的第5个位置。第一指示信息的第5个比特位为0,用于表示第5个比特位所指示的类型对应的扩展头部不存在,由表1可知,第5个比特位用于指示h类型。即第一报文不存在类型h的扩展头部。
[0134]
可选地,第一报文还包括第二指示信息,该第二指示信息用于指示第一报文存在至少一个扩展头部。该种情况下,通信设备可以先基于第二指示信息判断第一报文是否存在扩展头部,在确定第二指示信息指示第一报文中存在第一报文的情况下。通信设备再通过第一指示信息进一步确定第一报文中存在扩展头部对应的类型,进而确定第一报文中是否存在需要自己待处理的扩展头部。可以理解的是,在第一报文不存在扩展头部的情况下,指示扩展头部类型的第一指示信息也没必要存在。即在第二指示信息指示第一报文不存在扩展头部的情况下,第一报文也可以不存在第一指示信息。
[0135]
可选地,第二指示信息用1比特指示第一报文存在至少一个扩展头部。例如:第二指示信息中的1比特为“1”,指示第一报文存在至少一个扩展头部。
[0136]
示例性3:如图6所示,第一报文包括基础头部、扩展头部与载荷。基础头部包括第二指示信息、第一指示信息以及其他字段。第一指示信息与其他字段与之前图4对应的描述类似,此处不再赘述。
[0137]
本技术实施例中第一指示信息与第二指示信息在基础头部中的位置、以及第一指示信息中的多个比特位是否连续不做限定,可以根据实际需要与所用协议的规范设置,具体此处不做限定。
[0138]
可选地,第一报文采用比特图偏移取值(bov)方式封装,第一报文包括基础头部、至少一个扩展头部与载荷,基础头部包括比特图(bitmap)、存活时间ttl字段、源地址字段与目的地址字段,bitmap包括第三指示信息、第一指示信息以及扩展指示位,第三指示信息用于指示第一报文中存在ttl字段、源地址字段以及目的地址字段,扩展指示位用于确定比特图的长度。其中,对于bov方式的描述可以参考之前的描述,具体此处不再赘述。例如,扩展指示位可以指示bitmap后是否扩展预设的字节。下面仅以扩展步长是1字节(即8比特)为例进行描述。
[0139]
示例4:以第一报文采用bov方式封装,且bitmap字段的扩展步长为8比特(例如bitmap为16比特)为例。其中,扩展步长为8比特可以理解为:bitmap字段的长度是8比特或8比特的倍数,bitmap中每8个比特的最后一个比特(可以称为扩展指示位)用于表示是否扩展bitmap。若扩展指示位为“1”,则表示bitmap向后扩展1个8位比特。若扩展指示位为“0”,则表示bitmap不再向后扩展。第一报文的结构可以如图7所示。第一报文包括基础头部、扩展头部以及载荷。基础头部包括bitmap、存活时间(ttl)字段、源地址字段与目的地址字段。bitmap包括第三指示信息、第一指示信息以及扩展指示位。其中,第三指示信息为3比特(“111”)。第三指示信息中的第1个比特位为“1”,用于指示第一报文存在存活时间字段。第三指示信息中的第2个比特位为“1”,用于指示第一报文存在目的地址字段。第三指示信息中的第3个比特位为“1”,用于指示第一报文存在源地址字段。bitmap中的第8个比特位与第16个比特位为扩展指示位,由于bitmap包括16个比特位,第16个比特位的取值为“0”,说明第16位后续并不做bitmap扩充。同时第8个比特位的取值为“1”,说明第8位后扩展了1个8位
比特。bitmap中的第10个比特位至第15个比特位为第一指示信息。第一指示信息为6比特(“000001”)。其中,第一指示信息指示扩展类型的顺序如前面的表1所述。即bitmap中的第10个比特位用于指示扩展头部r(即路由类型)是否存在。bitmap中的第11个比特位用于指示扩展头部f(即分片类型)是否存在。bitmap中的第12个比特位用于指示扩展头部a(即身份验证标头类型)是否存在。bitmap中的第13个比特位用于指示扩展头部e(即封装安全有效负载类型)是否存在。bitmap中的第14个比特位用于指示扩展头部h(即逐跳类型)是否存在。bitmap中的第15个比特位用于指示扩展头部d(即目的地类型)是否存在。具体地,由图7可以看出,bitmap中的第10个比特位为“0”,用于指示扩展头部r(即路由类型)不存在。bitmap中的第11个比特位为“0”,用于指示扩展头部f(即分片类型)不存在。bitmap中的第12个比特位为“0”,用于指示扩展头部a(即身份验证标头类型)不存在。bitmap中的第13个比特位为“0”,用于指示扩展头部e(即封装安全有效负载类型)不存在。bitmap中的第14个比特位为“0”,用于指示扩展头部h(即逐跳类型)不存在。bitmap中的第15个比特位为“1”,用于指示扩展头部d(即目的地类型)存在。且扩展头部d的取值如图7中的扩展头部所示。
[0140]
可以理解的是,bitmap字段的长度、扩展步长、第一指示信息在bitmap中的位置等等上述只是举例,在实际应用中,可以根据需要或协议规范设置,此处不做限定。
[0141]
示例5:在示例4的基础上,第一报文中的bitmap还可以包括第二指示信息,用于指示第一报文是否存在扩展头部。第一报文如图8所示,与图7相似的地方此处不再赘述。图8与图7不同的是,bitmap第9个比特位的取值,该示例中,以第二指示信息为bitmap的第9个比特位为例,第9个比特位为“1”,用于表示第一报文存在扩展头部。
[0142]
可以理解的是,第三指示信息、第二指示信息以及第一指示信息在bitmap中的位置可以根据实际需要设置,具体此处不做限定。
[0143]
步骤202,第一通信设备向第二通信设备发送第一报文。相应的,第二通信设备接收第一通信设备发送的第一报文。
[0144]
第一通信设备生成第一报文之后,向第二通信设备发送第一报文。相应的,第二通信设备接收第一通信设备发送的第一报文。
[0145]
步骤203,第二通信设备基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
[0146]
第二通信设备接收到第一报文之后,可以解析第一报文的基础头部得到第一指示信息,由于第一指示信息用于指示第一报文中扩展头部的类型。第二通信设备可以基于第一报文中存在的扩展头部的类型确定第一报文中是否存在第二通信设备待处理的扩展头部。
[0147]
若存在第二通信设备待处理的扩展头部,则执行步骤204。若不存在第二通信设备待处理的扩展头部,则第二通信设备向下一跳设备转发该第一报文。
[0148]
下面举例描述第二通信设备如何基于第一指示信息确定第一报文中是否存在第二通信设备待处理的扩展头部。
[0149]
可选地,由于第一指示信息指示第一报文中扩展头部的类型,第二通信设备可以基于第一指示信息确定第一报文中扩展头部的类型。
[0150]
可以理解的是,第一指示信息指示类型的顺序是第一通信设备与第二通信设备预先设置的,即第二通信设备已经获取到了如表1所示的第一顺序。
[0151]
示例性的,延续上述示例1,第二通信设备在接收如图4所示的第一报文之后,可以确定第一指示信息为“111111”,进而确定第一报文包括六种扩展头部类型,分别为扩展头部r、扩展头部f、扩展头部a、扩展头部e、扩展头部h以及扩展头部d。
[0152]
示例性的,延续上述示例2,第二通信设备在接收如图5所示的第一报文之后,可以确定第一指示信息为“111101”,进而确定第一报文包括五种扩展头部类型,分别为扩展头部r、扩展头部f、扩展头部a、扩展头部e以及扩展头部d。
[0153]
示例性的,延续上述示例4,第二通信设备在接收如图7所示的第一报文之后,可以确定第一指示信息为“000001”,进而确定第一报文包括一种扩展头部类型,为扩展头部d。
[0154]
可选地,若第一报文中存在路由类型的扩展头部,且路由选项中的目的地址是第二通信设备的地址,则路由类型的扩展头部是第二通信设备待处理的扩展头部。若第一报文中存在路由类型的扩展头部,且路由选项中的目的地址不是第二通信设备的地址,则路由类型的扩展头部不是第二通信设备待处理的扩展头部。
[0155]
可选地,若第一报文中存在分片类型的扩展头部,且第二通信设备不能将第一报文完整的发给下一跳设备,则向第一通信设备发送icmp信息,该icmp信息用于指示源端对第一报文进行分片,重新发送分片后的报文。当然,若第一报文中存在分片类型的扩展头部,且第二通信设备是目标节点(即传输路径上的目的端),由于目标节点需要整合分片,因此分片类型的扩展头部是待处理的扩展头部。
[0156]
可选地,若第一报文中存在身份验证标头类型的扩展头部,且第二通信设备为传输路径上的中间设备(即不是源端与目的端),则身份验证标头类型的扩展头部不是第二通信设备待处理的扩展头部。若第一报文中存在身份验证标头类型的扩展头部,且第二通信设备为传输路径上的源端或目的端,则身份验证标头类型的扩展头部是第二通信设备待处理的扩展头部。
[0157]
可选地,若第一报文中存在封装安全有效负载类型的扩展头部,且第二通信设备为传输路径上的中间设备(即不是源端与目的端),则封装安全有效负载类型的扩展头部不是第二通信设备待处理的扩展头部。若第一报文中存在封装安全有效负载类型的扩展头部,且第二通信设备为传输路径上的源端或目的端,则封装安全有效负载类型的扩展头部是第二通信设备待处理的扩展头部。
[0158]
可选地,若第一报文中存在逐跳选项类型的扩展头部,由于逐跳选项是指传输用户数据的路径上所有节点都需要检查的选项,则第二通信设备可以确定第一报文中的逐跳选项类型的扩展头部为待处理的扩展头部。
[0159]
可选地,若第一报文中存在目的地选项类型的扩展头部,由于目的地选项是指传输用户数据的路径上最后一跳设备(即目标节点)才会处理的选项。若第二通信设备是最后一跳设备,则第二通信设备可以确定第一报文中的目的地选项类型的扩展头部为待处理的扩展头部。若第二通信设备不是最后一跳设备,则第二通信设备可以确定第一报文中的目的地选项类型的扩展头部并不是待处理的扩展头部。
[0160]
可以理解的是,第二通信设备待处理的扩展头部可以根据实际需要设置,上述的描述只是举例,具体此处不做限定。
[0161]
步骤204,第二通信设备基于待处理的扩展头部执行目标类型对应的操作。本步骤是可选地。
[0162]
可选地,若第二通信设备确定第一报文中存在第二通信设备待处理的扩展头部,则第二通信设备可以基于第一指示信息中指示存在扩展头部类型的顺序、扩展头部中的长度以及预设的扩展头部定长中的至少一项确定扩展头部在第一报文中的位置。并基于待处理的扩展头部执行目标类型对应的操作。
[0163]
示例性的,延续上述示例1,第二通信设备在接收如图4所示的第一报文之后,可以确定第一指示信息为“111111”,进而确定第一报文包括六种扩展头部类型,分别为扩展头部r、扩展头部f、扩展头部a、扩展头部e、扩展头部h以及扩展头部d。该种情况下,第一指示信息指示类型的顺序与扩展头部中各类型扩展头部出现的顺序一致。
[0164]
示例性的,延续上述示例2,第二通信设备在接收如图5所示的第一报文之后,可以确定第一指示信息为“111101”,进而确定第一报文包括五种扩展头部类型,分别为扩展头部r、扩展头部f、扩展头部a、扩展头部e以及扩展头部d。由于第一指示信息中有1个比特位为“0”,则第一指示信息中第6个比特位用于指示的扩展头部其实在扩展头部中的位置为6-1=5,即在扩展头部中的第5个位置。
[0165]
示例性的,延续上述示例4,第二通信设备在接收如图7所示的第一报文之后,可以确定第一指示信息为“000001”,进而确定第一报文包括一种扩展头部类型,为扩展头部d。由于第一指示信息中有5个比特位为“0”,则第一指示信息中第6个比特位用于指示的扩展头部其实在扩展头部中的位置为6-5=1,即在扩展头部中的第1个位置。
[0166]
与步骤203类似,本步骤包括多种情况,下面分别描述。
[0167]
可选地,若待处理的扩展头部包括路由类型的扩展头部,则第二通信设备都将第二通信设备地址(例如ip地址)填入基础头部,方便后续跟踪第一报文的传输路径。
[0168]
可选地,若待处理的扩展头部包括分片类型的扩展头部,且第二通信设备不能将第一报文完整的发给下一跳设备,则向第一通信设备发送第四指示信息,该第四指示信息用于指示源端对第一报文进行分片,重新发送分片后的报文。当然,若第一报文中存在分片类型的扩展头部,且第二通信设备是目标节点(即传输路径上的目的端),则第二通信设备通过分片类型的扩展头部整合多个分组,进而得到完整的用户数据。
[0169]
可选地,若待处理的扩展头部包括身份验证标头类型的扩展头部,且第二通信设备为传输路径上的源端或目的端,则第二通信设备为第一报文提供认证、完整性校验、重放保护等处理中的至少一项。
[0170]
可选地,若待处理的扩展头部包括封装安全有效负载类型的扩展头部,且第二通信设备为传输路径上的源端或目的端,则第二通信设备为第一报文提供认证、完整性校验、重放保护、加密等处理中的至少一项。
[0171]
可选地,若待处理的扩展头部包括逐跳选项类型的扩展头部,则第二通信设备对第一报文进行增加或更改基础头部中的信息。例如:在基础头部中填入转发第一报文的时间戳,以便于后续测量传输路径路由之间第一报文的传输时长。又例如,在基础头部中填入第二通信设备的地址,以便于后续追踪第一报文的传输路径。又例如:第二通信设备可以基于逐跳选项类型的扩展头部查确定转发表,并根据转发表进行转发操作。
[0172]
可选地,若待处理的扩展头部包括目的地址类型的扩展头部,且第二通信设备为传输路径上的目的端,则第二通信设备对第一报文进行处理,该处理与第二通信设备可以实现的功能相关,具体此处不做限定。
[0173]
在一种可能实现的方式中,本技术实施例提供的报文处理方法包括步骤201至步骤203。该种方式下,第二通信设备可以基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。相较于现有技术中需要遍历所有next header字段才可以判定特定的扩展头部,通过第一指示信息的方式可以提升第二通信设备解析第一报文的效率。
[0174]
在另一种可能实现的方式中,本技术实施例提供的报文处理方法包括步骤201至步骤204。该种方式下,第二通信设备可以根据第一指示信息确定第一报文中是否存在第二通信设备待处理的扩展头部,进而在存在待处理头部的情况下,第二通信设备可以执行相应的操作。相较于现有技术,可以提升第二通信设备解析第一报文以及转发第一报文的效率。
[0175]
本技术实施例中,一方面,第一通信设备在生成第一报文的过程中,通过在第一报文中加入第一指示信息,由于第一指示信息用于指示第一报文中扩展头部的类型,且第一指示信息所占的个比特位较小,可以提升第一报文的封装效率。另一方面,在传输路径上的后续设备(例如第二通信设备)解析和/或转发第一报文的过程中,可以使得传输路径上的后续设备基于该第一指示信息指示第一报文存在的扩展头部的类型快速确定待处理的扩展头部,进而提升后续设备解析第一报文以及转发第一报文的效率。另一方面,对于原有的bov方式,当bitmap已经配置了前序很多比特位功能时,新设计的功能只能申请bitmap越来越后面的位置,此时封装效率就会非常低(bitmap很长),通过在bov中引入第一指示信息可以避免由于新设计的功能使得bitmap过长,从而导致封装效率急速下降的问题。
[0176]
请参阅图9,本技术实施例提供的报文处理方法的另一个实施例包括步骤901至步骤904。其中,第一通信设备与第二通信设备的描述与前述图2所示实施例中的描述类似,此处不再赘述。
[0177]
步骤901,第一通信设备生成第一报文。
[0178]
本步骤中的第一报文与前述图2中步骤201所描述的第一报文的描述类似,此处不再赘述。不同的是,本步骤中的第一报文包括第二指示信息,不一定包括第一指示信息。该第二指示信息用于指示第一报文是否存在扩展头部。
[0179]
在一种可能实现的方式中,第二指示信息指示第一报文存在扩展头部,第一报文除了第二指示信息,还包括第一指示信息。该种情况下,可以参考前述图2所示实施例中对于第一报文包括第二指示信息的描述与举例,此处不再赘述。
[0180]
可以理解的是,第二指示信息可以是1个比特位或更多的个比特位,即可以用1个比特位指示第一报文是否存在扩展头部,也可以用更多的个比特位指示第一报文是否存在扩展头部。本技术实施例仅以第二指示信息用1个比特位指示第一报文是否存在扩展头部为例进行描述。另外,第二指示信息在第一报文中的位置可以根据实际需要设置,具体此处不做限定。
[0181]
示例性的,若第二指示信息为“1”,用于指示第一报文存在扩展头部,则第一报文如前述图6所示,还包括第二指示信息,用于指示第一报文中存在的扩展头部的类型。在另一种可能实现的方式中,第二指示信息指示第一报文不存在扩展头部,第一报文不包括第一指示信息。
[0182]
示例性的,若第二指示信息为“0”,用于指示第一报文中不存在扩展头部,则第一
报文如图10所示,第一报文包括基础头部与载荷,基础头部包括第二指示信息与其他字段。关于其他字段与载荷的描述可以参考之前的描述,此处不再赘述。
[0183]
步骤902,第一通信设备向第二通信设备发送第一报文。相应的,第二通信设备接收第一通信设备发送的第一报文。
[0184]
本步骤与前述图2所示实施例中的步骤202所描述的类似,此处不再赘述。
[0185]
步骤903,第二通信设备基于第二指示信息确定第一报文是否存在扩展头部。
[0186]
第二通信设备接收到第一报文之后,可以基于第一报文中的第二指示信息确定第一报文中是否存在扩展头部。
[0187]
示例性的,延续上述举例,若第二指示信息为“0”,则第二通信设备确定第一报文中不存在扩展头部。若第二指示信息为“1”,则第二通信设备确定第一报文中存在扩展头部。
[0188]
若第一报文中存在扩展头部,则执行步骤904。若第一报文中不存在第二指示信息,则第二通信设备向下一跳设备转发第一报文。
[0189]
步骤904,基于第一指示信息确定第一报文中是否存在待处理的扩展头部。本步骤是可选地。
[0190]
本步骤与前述图2所示实施例中的步骤203类似,此处不再赘述。
[0191]
本实施例中,一方面,通过在第一报文中引入第二指示信息,可以使得传输路径上的通信设备判断第一报文中是否存在扩展头部。若第一报文存在扩展头部,通信设备可以再基于第一指示信息确定扩展头部的类型,进而可以确定是否有待处理的扩展头部,相较于ipv6或原始bov的方案提升了解析效率,提升通信设备对第一报文的解析效率,例如,相比于现有技术ipv6免去了解析next header的计算开销。另一方面,在传输路径上的后续设备(例如第二通信设备)解析和/或转发第一报文的过程中,可以使得传输路径上的后续设备基于第一指示信息指示第一报文存在的扩展头部的类型快速确定待处理的扩展头部,进而提升后续设备解析第一报文以及转发第一报文的效率。
[0192]
上面对本技术实施例中的报文处理方法进行了描述,下面对本技术实施例中的通信设备进行描述,本技术实施例提供的通信设备(例如第一通信设备与第二通信设备)可以应用于网络层的报文封装与解析场景。
[0193]
请参阅图11,本技术实施例提供的第二通信设备的一个实施例包括:
[0194]
接收单元1101,用于接收第一通信设备发送的第一报文,第一报文包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,类型与传输用户数据的路径中通信设备实现的功能相关;
[0195]
确定单元1102,用于基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。
[0196]
可选地,在扩展头部中存在待处理的扩展头部的情况下,本实施例的第二通信设备还包括:执行单元1103,用于基于待处理的扩展头部执行目标类型对应的操作,目标类型为待处理的扩展头部的类型。
[0197]
本实施例中,第二通信设备中各单元所执行的操作与前述图2至图8所示实施例中描述的类似,此处不再赘述。
[0198]
本实施例中,接收单元1101接收第一通信设备发送的第一报文,由于第一报文中
包括的第一指示信息用于指示至少一个扩展头部的类型。因此,确定单元1102可以基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。相较于现有技术中需要遍历所有next header字段才可以判定特定的扩展头部,通过第一指示信息的方式可以提升第二通信设备解析第一报文的效率。
[0199]
请参阅图12,本技术实施例提供的第一通信设备的一个实施例包括:
[0200]
生成单元1201,用于生成第一报文,第一报文的头部包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型,述所类型与传输用户数据的路径中通信设备实现的功能相关;
[0201]
发送单元1202,用于向第二通信设备发送第一报文。
[0202]
可选地,本实施例中的第一通信设备还包括:接收单元1203,用于接收第二网络设备发送的互联网控制报文协议icmp信息,icmp信息用于指示第二网络设备无法转发第一报文;
[0203]
可选地,本实施例中的第一通信设备还包括:分片单元1204,用于对第一报文进行分片,并向第二网络设备发送分片后的第一报文。
[0204]
本实施例中,第一通信设备中各单元所执行的操作与前述图2至图8所示实施例中描述的类似,此处不再赘述。
[0205]
本实施例中,一方面,生成单元1201在生成第一报文的过程中,通过在第一报文中加入第一指示信息,由于第一指示信息用于指示第一报文中扩展头部的类型,且第一指示信息所占的个比特位较小,可以提升第一报文的封装效率。另一方面,在传输路径上的后续设备(例如第二通信设备)解析和/或转发第一报文的过程中,可以使得传输路径上的后续设备基于该第一指示信息指示第一报文存在的扩展头部的类型快速确定待处理的扩展头部,进而提升后续设备解析第一报文以及转发第一报文的效率。
[0206]
请参阅图13,本技术实施例提供的第二通信设备的另一个实施例包括:
[0207]
接收单元1301,用于接收第一通信设备发送的第一报文,第一报文包括第二指示信息,第二指示信息用于指示第一报文是否存在扩展头部。
[0208]
确定单元1302,用于基于第二指示信息确定第一报文中是否包括扩展头部。
[0209]
本实施例中,第二通信设备中各单元所执行的操作与前述图9所示实施例中描述的类似,此处不再赘述。
[0210]
本实施例中,第二通信设备可以通过第一报文中的第二指示信息判断第一报文是否包括扩展头部。可以使得第二通信设备快速确定第一报文是否包括扩展头部,进而提升解析第一报文的效率。
[0211]
请参阅图14,本技术实施例提供的第一通信设备的另一个实施例包括:
[0212]
生成单元1401,用于生成第一报文,第一报文包括第二指示信息与用户数据,第二指示信息用于指示第一报文是否存在扩展头部。
[0213]
发送单元1402,向第二通信设备发送第一报文。
[0214]
本实施例中,第一通信设备中各单元所执行的操作与前述图9所示实施例中描述的类似,此处不再赘述。
[0215]
本实施例中,第一通信设备通过在第一报文中增加第二只是信息,可以使得第二通信设备通过第二指示信息快速确定第一报文是否包括扩展头部,进而提升解析第一报文
的效率。
[0216]
参阅图15,本技术提供的另一种通信设备的结构示意图。可以应用于网络层的报文封装与解析场景,该通信设备可以是前述图2至图10所示实施例中的第一通信设备或第二通信设备。该通信设备可以包括处理器1501、存储器1502和通信接口1503。该处理器1501、存储器1502和通信接口1503通过线路互联。其中,存储器1502中存储有程序指令和数据。
[0217]
一种可能实现的方式中,存储器1502中存储了前述图2至图10对应的实施方式中,由第二通信设备执行的步骤对应的程序指令以及数据。处理器1501,用于执行前述图2至图10所示实施例中任一实施例所示的由第二通信设备执行的步骤。通信接口1503可以用于进行报文的接收和发送,用于执行前述图2至图10所示实施例中任一实施例中第二通信设备执行的与获取、发送、接收相关的步骤。
[0218]
另一种可能实现的方式中,存储器1502中存储了前述图2至图10对应的实施方式中,由第一通信设备执行的步骤对应的程序指令以及数据。处理器1501,用于执行前述图2至图10所示实施例中任一实施例所示的由第一通信设备执行的步骤。通信接口1503可以用于进行报文的接收和发送,用于执行前述图2至图10所示实施例中任一实施例中第一通信设备执行的与获取、发送、接收相关的步骤。
[0219]
可以理解的是,通信设备可以包括相对于图15更多或更少的部件,本技术对此仅仅是示例性说明,并不作限定。
[0220]
另外,本技术实施例提供一种通信系统,该通信系统包括如前述图11所示的第二通信设备,和/或如前述图12所示的第一通信设备。或者该通信系统包括如前述图13所示的第二通信设备,和/或如前述图14所示的第一通信设备。
[0221]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0222]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0223]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
[0224]
当使用软件实现集成的单元时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、
数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0225]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
技术特征:
1.一种报文处理方法,其特征在于,所述方法包括:接收第一通信设备发送的第一报文,所述第一报文包括第一指示信息、至少一个扩展头部以及用户数据,所述第一指示信息用于指示所述至少一个扩展头部的类型,所述类型与传输所述用户数据的路径中通信设备实现的功能相关;基于所述第一指示信息确定所述至少一个扩展头部中是否存在所述第二通信设备待处理的扩展头部。2.根据权利要求1所述的方法,其特征在于,所述扩展头部中存在所述待处理的扩展头部,所述方法还包括:基于所述待处理的扩展头部执行目标类型对应的操作,所述目标类型为所述待处理的扩展头部的类型。3.根据权利要求1或2所述的方法,其特征在于,所述第一报文包括至少两个扩展头部,所述第一指示信息用于指示所述至少两个扩展头部的类型以及所述至少两个扩展头部在所述第一报文中的位置。4.根据权利要求3所述的方法,其特征在于,所述第一指示信息包括多个比特位,所述多个比特位中的每个比特位用于指示所述第一报文中是否存在相应类型的扩展头部;所述第一指示信息中用于指示存在所述相应类型的扩展头部的各比特位的顺序与所述至少两个扩展头部在所述第一报文中的位置顺序存在映射关系。5.根据权利要求4所述的方法,其特征在于,所述多个比特位中个比特位为1表示所述第一报文中存在相应类型的扩展头部。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述扩展头部的所述类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一报文还包括第二指示信息,所述第二指示信息用于指示所述第一报文存在所述至少一个扩展头部。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一报文采用比特图偏移取值bov方式封装,所述第一报文包括基础头部与所述至少一个扩展头部,所述基础头部包括比特图、所述第一报文的存活时间ttl字段、所述第一报文的源地址字段与目的地址字段,所述比特图包括第三指示信息、所述第一指示信息以及扩展指示位,所述第三指示信息用于指示所述第一报文中存在所述ttl字段、所述源地址字段以及所述目的地址字段,所述扩展指示位用于确定所述比特图的长度。9.一种报文处理方法,其特征在于,所述方法包括:生成第一报文,所述第一报文的头部包括第一指示信息、至少一个扩展头部以及用户数据,所述第一指示信息用于指示所述至少一个扩展头部的类型,述所类型与传输所述用户数据的路径中通信设备实现的功能相关;向所述第二通信设备发送所述第一报文。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:接收所述第二网络设备发送的互联网控制报文协议icmp信息,所述icmp信息用于指示所述第二网络设备无法转发所述第一报文;对所述第一报文进行分片,并向所述第二网络设备发送分片后的第一报文。
11.根据权利要求9或10所述的方法,其特征在于,所述第一报文包括至少两个扩展头部,所述第一指示信息用于指示所述至少两个扩展头部的类型以及所述至少两个扩展头部在所述第一报文中的位置。12.根据权利要求11所述的方法,其特征在于,所述第一指示信息包括多个比特位,所述多个比特位中的每个比特位用于指示所述第一报文中是否存在相应类型的扩展头部;所述第一指示信息中用于指示存在所述相应类型的扩展头部的各比特位的顺序与所述至少两个扩展头部在所述第一报文中的位置顺序存在映射关系。13.根据权利要求12所述的方法,其特征在于,所述多个比特位中个比特位为1表示所述第一报文中存在相应类型的扩展头部。14.根据权利要求9至13中任一项所述的方法,其特征在于,所述扩展头部的所述类型包括路由类型、分片类型、身份验证标头类型、封装安全有效负载类型、逐跳选项类型、目的地选项类型中的至少一种。15.根据权利要求9至14中任一项所述的方法,其特征在于,所述第一报文还包括第二指示信息,所述第二指示信息用于指示所述第一报文存在所述至少一个扩展头部。16.根据权利要求9至15中任一项所述的方法,其特征在于,所述第一报文采用比特图偏移取值bov方式封装,所述第一报文包括基础头部与所述至少一个扩展头部,所述基础头部包括比特图、所述第一报文的存活时间ttl字段、所述第一报文的源地址字段与目的地址字段,所述比特图包括第三指示信息、所述第一指示信息以及扩展指示位,所述第三指示信息用于指示所述第一报文中存在所述ttl字段、所述源地址字段以及所述目的地址字段,所述扩展指示位用于确定所述比特图的长度。17.一种第二通信设备,其特征在于,所述第二通信设备包括:接收单元,用于接收第一通信设备发送的第一报文,所述第一报文包括第一指示信息、至少一个扩展头部以及用户数据,所述第一指示信息用于指示所述至少一个扩展头部的类型,所述类型与传输所述用户数据的路径中通信设备实现的功能相关;确定单元,用于基于所述第一指示信息确定所述至少一个扩展头部中是否存在所述第二通信设备待处理的扩展头部。18.根据权利要求17所述的设备,其特征在于,所述扩展头部中存在所述待处理的扩展头部,所述第二通信设备还包括:执行单元,用于基于所述待处理的扩展头部执行目标类型对应的操作,所述目标类型为所述待处理的扩展头部的类型。19.一种第一通信设备,其特征在于,所述第一通信设备包括:生成单元,用于生成第一报文,所述第一报文的头部包括第一指示信息、至少一个扩展头部以及用户数据,所述第一指示信息用于指示所述至少一个扩展头部的类型,述所类型与传输所述用户数据的路径中通信设备实现的功能相关;发送单元,用于向所述第二通信设备发送所述第一报文。20.根据权利要求19所述的设备,其特征在于,所述第一通信设备还包括:接收单元,用于接收所述第二网络设备发送的互联网控制报文协议icmp信息,所述icmp信息用于指示所述第二网络设备无法转发所述第一报文;分片单元,用于对所述第一报文进行分片,并向所述第二网络设备发送分片后的第一
报文。21.一种第二通信设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述第二通信设备执行如权利要求1至8中任一项所述的方法。22.一种第一通信设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述第一通信设备执行如权利要求9至16中任一项所述的方法。23.一种通信系统,其特征在于,包括如权利要求21所述的第二通信设备,和/或如权利要求22所示的第一通信设备。24.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。25.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求9至16中任一项所述的方法。
技术总结
本申请实施例提供了一种报文处理方法及相关设备,可以应用于网络层的报文封装与解析场景。该方法包括:接收第一通信设备发送的第一报文,第一报文包括第一指示信息、至少一个扩展头部以及用户数据,第一指示信息用于指示至少一个扩展头部的类型;基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。由于第一报文中包括的第一指示信息用于指示至少一个扩展头部的类型。因此,第二通信设备可以基于第一指示信息确定至少一个扩展头部中是否存在第二通信设备待处理的扩展头部。相较于现有技术中需要遍历所有下一个头部字段才可以判定特定的扩展头部,通过第一指示信息的方式可以提升第二通信设备解析第一报文的效率。解析第一报文的效率。解析第一报文的效率。
技术研发人员:李广鹏 贾溢豪
受保护的技术使用者:华为技术有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:基于联合学习的数据样本处理方法及装置与流程 下一篇:一种波长选择开关的制作方法
