报文处理方法、流规范传输方法、设备、系统及存储介质与流程

文档序号:33512555发布日期:2023-03-22 01:26阅读:39来源:国知局
报文处理方法、流规范传输方法、设备、系统及存储介质与流程
报文处理方法、流规范传输方法、设备、系统及存储介质
1.本技术要求于2021年9月16日提交的申请号为202111086203.3、发明名称为“一种flowspec的规则”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及通信技术领域,特别涉及报文处理方法、流规范传输方法、设备、系统及存储介质。


背景技术:

3.随着通信技术的发展,对业务报文进行处理的需求越来越多。在处理业务报文时,可应用流规范(flow specification,flowspec)。其中,flowspec是一个n元组,包括多个规则以及与各个规则对应的动作。


技术实现要素:

4.本技术提供了一种报文处理方法、流规范传输方法、设备、系统及存储介质,以提高规则的管理效率,并提高业务报文的处理效率。
5.第一方面,提供了一种报文处理方法,以第一网络设备执行该方法为例,该方法包括:第一网络设备获取第一业务报文以及多个流规范flowspec规则组,所述多个flowspec规则组中的任一个flowspec规则组用于指示处理业务报文的规则集合,不同flowspec规则组对应不同的优先级;所述第一网络设备确定目标flowspec规则组,所述目标flowspec规则组是所述多个flowspec规则组中与所述第一业务报文匹配成功且优先级最高的flowspec规则组;所述第一网络设备根据所述目标flowspec规则组处理所述第一业务报文。
6.通过采用flowspec规则组来指示处理业务报文的规则集合,且不同flowspec规则组对应不同的优先级,基于flowspec规则组的优先级来确定用于处理业务报文的目标flowspec规则组,以便能够按照期望的顺序匹配业务报文对应的规则以及应用于特定动作,不仅使规则之间具有一定的层级关系,丰富了规则之间的层次结构,提高了规则的管理效率以及规则匹配的效率,还可提高业务报文的处理效率。
7.在一种可能的实现方式中,所述确定目标flowspec规则组,包括:基于各个flowspec规则组的优先级对所述多个flowspec规则组进行排序,按照排序的顺序将所述第一业务报文与对应的flowspec规则组进行匹配,直至确定出匹配成功的目标flowspec规则组停止。通过基于各个flowspec规则组的优先级对多个flowspec规则组进行排序,从而按照排序的顺序匹配到目标flowspec规则组后停止继续匹配,以避免浪费资源。
8.在一种可能的实现方式中,所述任一个flowspec规则组包括所述规则集合中的规则。由于flowspec规则组直接包括规则集合中的规则,因而通过flowspec规则组可直接对规则进行管理。
9.在一种可能的实现方式中,所述第一网络设备获取多个flowspec规则组,包括:接
收第二网络设备发送的流规范flowspec的多条规则以及各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述多个flowspec规则组。在发送规则时一并发送第一指示信息,由于第一指示信息能够用于指示flowspec规则组,因而使得第二网络设备能够基于第一指示信息快速确定该规则属于哪个flowspec规则组。
10.在一种可能的实现方式中,所述目标flowspec规则组对应多个flowspec规则子组,一个flowspec规则子组用于指示所述规则集合中的至少一条规则。通过对flowspec规则组进一步细分flowspec规则子组,以通过flowspec规则子组实现对流规范进行更加精细化的管理。
11.在一种可能的实现方式中,所述flowspec规则子组包括所述规则集合中的至少一条规则,所述第一网络设备获取多个flowspec规则组,包括:接收第二网络设备发送的流规范flowspec的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述多个flowspec规则组;对于任一flowspec规则组,按照所述任一flowspec规则组中的各条规则对应的第二指示信息将所述任一flowspec规则组中的规则分为至少一个flowspec规则子组。在发送规则时一并发送第一指示信息和第二指示信息,由于第一指示信息能够用于指示flowspec规则组,第二指示信息能够用于指示flowspec规则子组,因而使得第二网络设备能够基于第一指示信息和第二指示信息快速确定该规则属于哪个flowspec规则组内的哪个flowspec规则子组。
12.在一种可能的实现方式中,所述任一个flowspec规则组包括第一指示信息,所述第一指示信息与所述规则集合中的规则相对应。由于flowspec规则组包括与规则集合中的规则相对应的第一指示信息,因而可通过第一指示信息对属于同一flowspec规则组的规则进行管理。
13.在一种可能的实现方式中,所述目标flowspec规则组还包括多个flowspec规则子组,所述一个flowspec规则子组包括一个第二指示信息,一个flowspec规则子组用于指示所述规则集合中的至少一条规则,所述第二指示信息与所属flowspec规则子组指示的规则相对应。由于flowspec规则组包括多个flowspec规则子组,而flowspec规则子组包括与该flowspec规则子组指示的规则相对应的第二指示信息,因而可通过第二指示信息对属于同一flowspec规则子组的规则进行管理。
14.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
15.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
16.在一种可能的实现方式中,所述第一网络设备根据所述目标flowspec规则组处理所述第一业务报文,包括:在所述目标flowspec规则组指示的规则集合中确定目标规则,按照与所述目标规则对应的动作处理所述第一业务报文。在确定目标flowspec规则组之后,可在该目标flowspec规则组内确定用于处理第一业务报文的目标规则,提高了规则匹配的效率以及业务报文的处理效率。
17.在一种可能的实现方式中,所述在所述目标flowspec规则组指示的规则集合中确定与所述第一业务报文匹配成功的目标规则,包括:基于所述目标flowspec规则组包括多个flowspec规则子组,将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,将匹配成功的规则作为所述目标规则。在划分flowspec规则子组的情况下,按照flowspec规则子组的顺序进行规则匹配,实现了按照更加细粒度的顺序执行匹配操作,使得流规范的管理更加精细。
18.在一种可能的实现方式中,所述各个flowspec规则子组对应一个标识;所述将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组对应的标识为第一值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
19.响应于所述任一flowspec规则子组对应的标识为第二值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续所述任一flowspec规则子组内的匹配操作,直至所述任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配。可选地,该flowspec规则子组的标识以及该标识的值可提前配置。
20.在一种可能的实现方式中,所述将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组未包括标识,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与所述目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。通过flowspec规则子组是否具有标识以及标识的值来确定匹配方式,使得规则匹配的方式更加灵活。
21.在一种可能的实现方式中,所述flowspec为应用感知网络apn流规范;所述第一网络设备根据所述目标flowspec规则组处理所述第一业务报文,包括:所述第一网络设备在所述第一业务报文中或者所述第一业务报文的外层隧道对应的报文头中封装中添加与所述目标规则对应的apn特征信息,所述apn特征信息用于指示所述第一业务报文对应的应用或用户。将flowspec扩展为apn流规范,实现flowspec与apn的结合,通过apn流规范对第一业务报文进行处理,使得业务报文进入网络后,能够根据apn特征信息确定应用及需求,进而提供精细化的网络资源分配、传输路径调度和sla服务质量保证。
22.在一种可能的实现方式中,所述第一网络设备在所述第一业务报文中或者所述第一业务报文的外层隧道封装中添加与所述目标规则对应的应用感知网络apn特征信息,包括:所述第一网络设备在所述第一业务报文或者所述第一业务报文的外层隧道封装的参考位置添加与所述目标规则对应的应用感知网络apn特征信息,所述参考位置为所述目标规则对应的位置。
23.在一种可能的实现方式中,所述方法还包括:所述第一网络设备接收第二网络设备发送的第六版网际互联协议ipv6扩展头类型或者比特图,所述ipv6扩展头类型或者所述比特图用于指示所述参考位置。通过指定apn特征信息的添加位置,使得apn特征信息的添
加更加精准,提高处理速度。
24.在一种可能的实现方式中,当所述目标flowspec规则组包括多个flowspec规则子组时,所述目标规则为所述多个flowspec规则子组中匹配成功的多条规则,匹配成功的任一条规则对应所述apn特征信息的一部分。由于匹配成功的任一条规则对应apn特征信息的一部分,实现apn特征信息的分段化,便于分段管理。
25.在一种可能的实现方式中,所述匹配成功的多条规则按照匹配顺序各自对应所述apn特征信息的一部分,所述apn特征信息的一部分包括应用组id、应用id和用户组中的至少一种。
26.在一种可能的实现方式中,所述多个flowspec规则组包括apn规范组和非apn规范组,所述apn规范组的优先级高于所述非apn规范组的优先级,所述apn规范组指示的规则集合中的规则为应用感知网络apn流规范。通过按照是否为apn流规则将多个flowspec规则组分为apn规范组和非apn规范组,且由于apn规范组的优先级高于非apn规范组的优先级,因而可优先基于apn规范组对业务报文进行处理。
27.在一种可能的实现方式中,所述apn特征信息包括apn属性,所述apn属性包括apn标识id和apn参数中的至少一种,所述apn id为整体的标识或者为分段的标识。通过采用apn属性作为apn特征信息,apn属性可以为apn标识id和apn参数中的至少一种,且apn id为整体的标识或者为分段的标识,使得携带apn特征信息的方式更加灵活,能够满足不同的需求。
28.在一种可能的实现方式中,所述分段的标识包括应用组id、应用id和用户组中的至少一种,所述apn参数包括带宽、时延、丢包率、抖动中的至少一种。
29.在一种可能的实现方式中,所述外层隧道包括互联网协议第6版ipv6隧道、互联网协议第6版的段路由srv6隧道、多协议标签交换mpls隧道、虚拟扩展局域网vxlan隧道或通用路由封装gre隧道。外层隧道的多样化,使得该方法能够适用更多的场景。
30.第二方面,提供了一种报文处理方法,所述方法包括:第一网络设备获取第一业务报文;所述第一网络设备确定目标流规范flowspec规则组,所述目标flowspec规则组包括多个flowspec规则子组,每个flowspec规则子组指示规则集合中的至少一条规则;所述第一网络设备按照所述多个flowspec规则子组的顺序,将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,根据匹配结果处理所述第一业务报文。通过对flowspec规则组进一步细分flowspec规则子组,以通过flowspec规则子组实现对流规范进行更加精细化的管理。
31.在一种可能的实现方式中,所述根据匹配结果处理所述第一业务报文,包括:按照与目标规则对应的动作处理所述第一业务报文,所述目标规则为所述多个flowspec规则子组指示的规则集合中与所述第一业务报文匹配成功的规则。
32.在一种可能的实现方式中,所述目标flowspec规则组是所述第一网络设备获取到的多个flowspec规则组中与所述第一业务报文匹配成功且优先级最高的flowspec规则组。
33.在一种可能的实现方式中,所述各个flowspec规则子组对应一个标识;所述将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将所述第一业务报文与任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组对应的标识为第一值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则
后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
34.响应于所述任一flowspec规则子组对应的标识为第二值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续所述任一flowspec规则子组内的匹配操作,直至所述任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配。可选地,该flowspec规则子组的标识以及该标识的值可提前配置。
35.在一种可能的实现方式中,所述将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组未包括标识,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与所述目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。通过flowspec规则子组是否具有标识以及标识的值来确定匹配方式,使得规则匹配的方式更加灵活。
36.在一种可能的实现方式中,所述flowspec规则子组包括所述规则集合中的至少一条规则,所述第一网络设备确定目标flowspec规则组,包括:接收第二网络设备发送的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述目标flowspec规则组;按照所述目标flowspec规则组中的各条规则对应的第二指示信息将所述目标flowspec规则组中的规则分为至少一个flowspec规则子组。
37.由于第一指示信息能够用于指示flowspec规则组,第二指示信息能够用于指示flowspec规则子组,因而使得第一网络设备能够基于第一指示信息和第二指示信息快速确定flowspec规则组及flowspec规则子组。
38.在一种可能的实现方式中,所述任一个flowspec规则组包括第一指示信息,所述第一指示信息与所述规则集合中的规则相对应;所述目标flowspec规则组还包括多个第二指示信息,一个第二指示信息对应一个flowspec规则子组,一个所述第二指示信息与所属flowspec规则子组指示的规则相对应。由于flowspec规则组包括与规则集合中的规则相对应的第一指示信息,目标flowspec规则组还包括多个与所属flowspec规则子组指示的规则相对应的第二指示信息,因而可通过第一指示信息和第二指示信息对目标flowspec规则组内属于同一flowspec规则子组的规则进行管理。
39.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识;所述任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
40.第三方面,提供了一种流规范传输方法,所述方法包括:第二网络设备向第一网络设备发送流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息;其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,以使所述第一网络设备按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
41.通过将flowspec的多条规则以及各条规则对应的第一指示信息发送给第一网络设备,由于第一指示信息能够用于指示flowspec规则组,因而使得第一网络设备能够基于第一指示信息快速确定各条规则属于哪个flowspec规则组,进而后续可基于flowspec规则组的优先级快速确定目标flowspec规则组,以基于目标flowspec规则组进行报文处理,提高处理效率。
42.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
43.在一种可能的实现方式中,所述方法还包括:所述第二网络设备向所述第一网络设备发送所述各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使所述第一网络设备按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
44.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
45.第四方面,提供了一种流规范传输方法,所述方法包括:第一网络设备接收第二网络设备发送的流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,所述优先级用于所述第一网络设备从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
46.在接收第二网络设备发送的flowspec的多条规则以及各条规则对应的第一指示信息后,由于第一指示信息能够用于指示flowspec规则组,因而使得第一网络设备能够基于第一指示信息快速确定各条规则属于哪个flowspec规则组,进而根据各个flowspec规则组的优先级快速确定目标flowspec规则组,便于后续基于flowspec规则组处理业务报文。
47.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
48.在一种可能的实现方式中,所述方法还包括:所述第一网络设备接收所述第二网络设备发送的所述各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;所述第二指示信息用于所述第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。通过将flowspec规则组划分flowspec规则子组,使第一网络设备在确定flowspec规则子组后,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组,不仅实现了flowspec的更加精细化的管理,且可提高后续对业务报文的处理效率。
49.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
50.第五方面,提供了一种流规范传输方法,所述方法包括:第二网络设备向第一网络设备发送流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息和第二指示信息;其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使所述第一网络设备根据所述第一指示信息确定flowspec规则组,根据所述第二指示信息
确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
51.通过将flowspec的多条规则以及各条规则对应的第一指示信息和第二指示信息一并发送给第一网络设备,由于第一指示信息能够用于指示flowspec规则组,第二指示信息能够用于指示flowspec规则子组,因而使得第一网络设备能够基于第一指示信息和第二指示信息快速确定各条规则属于哪个flowspec规则组内的哪个flowspec规则子组,便于后续提高业务报文的处理效率。
52.在一种可能的实现方式中,所述任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,以使所述第一网络设备按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。由于不同flowspec规则组的组标识对应不同的优先级,因而能够根据优先级快速确定目标flowspec规则组。
53.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
54.第六方面,提供了一种流规范传输方法,所述方法包括:第一网络设备接收第二网络设备发送的流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息和第二指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;所述第一指示信息用于所述第一网络设备确定flowspec规则组,所述第二指示信息用于所述第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
55.由于第一指示信息能够用于指示flowspec规则组,第二指示信息能够用于指示flowspec规则子组,因而接收到flowspec的多条规则以及各条规则对应的第一指示信息和第二指示信息后,能够基于第一指示信息和第二指示信息快速确定各条规则属于哪个flowspec规则组内的哪个flowspec规则子组,便于按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组,进一步提高后续业务报文的处理效率。
56.在一种可能的实现方式中,所述任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,所述优先级用于所述第一网络设备按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。由于不同flowspec规则组的组标识对应不同的优先级,因而能够根据优先级快速确定目标flowspec规则组。
57.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
58.第七方面,提供了一种报文处理装置,所述装置包括:
59.获取模块,用于获取第一业务报文以及多个流规范flowspec规则组,所述多个flowspec规则组中的任一个flowspec规则组用于指示处理业务报文的规则集合,不同flowspec规则组对应不同的优先级;
60.确定模块,用于确定目标flowspec规则组,所述目标flowspec规则组是所述多个flowspec规则组中与所述第一业务报文匹配成功且优先级最高的flowspec规则组;
61.处理模块,用于根据所述目标flowspec规则组处理所述第一业务报文。
62.在一种可能的实现方式中,所述确定模块,用于基于各个flowspec规则组的优先级对所述多个flowspec规则组进行排序,按照排序的顺序将所述第一业务报文与对应的flowspec规则组进行匹配,直至确定出匹配成功的目标flowspec规则组停止。
63.在一种可能的实现方式中,所述任一个flowspec规则组包括所述规则集合中的规则。
64.在一种可能的实现方式中,所述获取模块,用于接收第二网络设备发送的流规范flowspec的多条规则以及各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述至少一个flowspec规则组。
65.在一种可能的实现方式中,所述目标flowspec规则组对应多个flowspec规则子组,一个flowspec规则子组用于指示所述规则集合中的至少一条规则。
66.在一种可能的实现方式中,所述flowspec规则子组包括所述规则集合中的至少一条规则,所述获取模块,用于接收第二网络设备发送的流规范flowspec的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述多个flowspec规则组;对于任一flowspec规则组,按照所述任一flowspec规则组中的各条规则对应的第二指示信息将所述任一flowspec规则组中的规则分为至少一个flowspec规则子组。
67.在一种可能的实现方式中,所述任一个flowspec规则组包括第一指示信息,所述第一指示信息与所述规则集合中的规则相对应。
68.在一种可能的实现方式中,所述目标flowspec规则组还包括多个flowspec规则子组,所述一个flowspec规则子组包括一个第二指示信息,一个flowspec规则子组用于指示所述规则集合中的至少一条规则,所述第二指示信息与所属flowspec规则子组指示的规则相对应。
69.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
70.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
71.在一种可能的实现方式中,所述处理模块,用于在所述目标flowspec规则组指示的规则集合中确定目标规则,按照与所述目标规则对应的动作处理所述第一业务报文。
72.在一种可能的实现方式中,所述处理模块,用于基于所述目标flowspec规则组包括多个flowspec规则子组,将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,将匹配成功的规则作为所述目标规则。
73.在一种可能的实现方式中,所述各个flowspec规则子组对应一个标识;所述处理模块,用于将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组对应的标识为第一值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则
子组内的匹配操作,将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
74.响应于所述任一flowspec规则子组对应的标识为第二值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续所述任一flowspec规则子组内的匹配操作,直至所述任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配。
75.在一种可能的实现方式中,所述处理模块,用于将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组未包括标识,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与所述目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。
76.在一种可能的实现方式中,所述flowspec为应用感知网络apn流规范;
77.所述处理模块,用于在所述第一业务报文中或者所述第一业务报文的外层隧道封装中添加与所述目标规则对应的apn特征信息,所述apn特征信息用于指示所述第一业务报文对应的应用或用户。
78.在一种可能的实现方式中,所述处理模块,用于在所述第一业务报文或者所述第一业务报文的外层隧道封装的参考位置添加与所述目标规则对应的应用感知网络apn特征信息,所述参考位置为所述目标规则对应的位置。
79.在一种可能的实现方式中,所述装置还包括:
80.接收模块,用于接收第二网络设备发送的第六版网际互联协议ipv6扩展头类型或者比特图,所述ipv6扩展头类型或者所述比特图用于指示所述参考位置。
81.在一种可能的实现方式中,当所述目标flowspec规则组包括多个flowspec规则子组时,所述目标规则为所述多个flowspec规则子组中匹配成功的多条规则,匹配成功的任一条规则对应所述apn特征信息的一部分。
82.在一种可能的实现方式中,所述匹配成功的多条规则按照匹配顺序各自对应所述apn特征信息的一部分,所述apn特征信息的一部分包括应用组id、应用id和用户组中的至少一种。
83.在一种可能的实现方式中,所述多个flowspec规则组包括apn规范组和非apn规范组,所述apn规范组的优先级高于所述非apn规范组的优先级,所述apn规范组指示的规则集合中的规则为应用感知网络apn流规范。
84.在一种可能的实现方式中,所述apn特征信息包括apn属性,所述apn属性包括apn标识id和apn参数中的至少一种,所述apn id为整体的标识或者为分段的标识。
85.在一种可能的实现方式中,所述分段的标识包括应用组id、应用id和用户组中的至少一种,所述apn参数包括带宽、时延、丢包率、抖动中的至少一种。
86.在一种可能的实现方式中,所述外层隧道包括互联网协议第6版ipv6隧道、互联网协议第6版的段路由srv6隧道、多协议标签交换mpls隧道、虚拟扩展局域网vxlan隧道或通用路由封装gre隧道。
87.第八方面,提供了一种报文处理装置,所述装置包括:
88.获取模块,用于获取第一业务报文;
89.确定模块,用于确定目标流规范flowspec规则组,所述目标flowspec规则组包括多个flowspec规则子组,每个flowspec规则子组指示规则集合中的至少一条规则;
90.处理模块,用于按照所述多个flowspec规则子组的顺序,将所述第一业务报文与各个flowspec规则子组指示的规则进行匹配,根据匹配结果处理所述第一业务报文。
91.在一种可能的实现方式中,所述处理模块,用于按照与目标规则对应的动作处理所述第一业务报文,所述目标规则为所述多个flowspec规则子组指示的规则集合中与所述第一业务报文匹配成功的规则。
92.在一种可能的实现方式中,所述目标flowspec规则组是所述第一网络设备获取到的多个flowspec规则组中与所述第一业务报文匹配成功且优先级最高的flowspec规则组。
93.在一种可能的实现方式中,所述各个flowspec规则子组对应一个标识;所述处理模块,用于将所述第一业务报文与任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组对应的标识为第一值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
94.响应于所述任一flowspec规则子组对应的标识为第二值,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续所述任一flowspec规则子组内的匹配操作,直至所述任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将所述第一业务报文与下一个flowspec规则子组指示的规则进行匹配。
95.在一种可能的实现方式中,所述处理模块,用于将所述第一业务报文与所述目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于所述任一flowspec规则子组未包括标识,在所述任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止所述任一flowspec规则子组内的匹配操作,将所述第一业务报文与所述目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。
96.在一种可能的实现方式中,所述flowspec规则子组包括所述规则集合中的至少一条规则,所述确定模块,用于接收第二网络设备发送的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照所述各条规则对应的第一指示信息对所述各条规则进行分组,得到所述目标flowspec规则组;按照所述目标flowspec规则组中的各条规则对应的第二指示信息将所述目标flowspec规则组中的规则分为至少一个flowspec规则子组。
97.在一种可能的实现方式中,所述任一个flowspec规则组包括第一指示信息,所述第一指示信息与所述规则集合中的规则相对应;所述目标flowspec规则组还包括多个第二指示信息,一个第二指示信息对应一个flowspec规则子组,一个所述第二指示信息与所属flowspec规则子组指示的规则相对应。
98.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识;所述任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
99.第九方面,提供了一种流规范传输装置,所述装置包括:
100.发送模块,用于向第一网络设备发送流规范flowspec的多条规则以及所述多条规
则中的各条规则对应的第一指示信息;
101.其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,以使所述第一网络设备按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
102.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
103.在一种可能的实现方式中,所述发送模块,还用于向所述第一网络设备发送所述各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使所述第一网络设备按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
104.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
105.第十方面,提供了一种流规范传输装置,所述装置包括:
106.接收模块,用于接收第二网络设备发送的流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,所述优先级用于从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
107.在一种可能的实现方式中,任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
108.在一种可能的实现方式中,所述接收模块,还用于接收所述第二网络设备发送的所述各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;所述第二指示信息用于确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
109.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识。
110.第十一方面,提供了一种流规范传输装置,所述装置包括:
111.发送模块,用于向第一网络设备发送流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息和第二指示信息;
112.其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使所述第一网络设备根据所述第一指示信息确定flowspec规则组,根据所述第二指示信息确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
113.在一种可能的实现方式中,所述任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,以使所述第一网络设备按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
114.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
115.第十二方面,提供了一种流规范传输装置,所述装置包括:
116.接收模块,用于接收第二网络设备发送的流规范flowspec的多条规则以及所述多条规则中的各条规则对应的第一指示信息和第二指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;所述第一指示信息用于所述第一网络设备确定flowspec规则组,所述第二指示信息用于所述第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
117.在一种可能的实现方式中,所述任一条规则对应的第一指示信息为所述任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,所述优先级用于按照flowspec规则组的优先级顺序从所述flowspec的多个flowspec规则组中确定目标flowspec规则组。
118.在一种可能的实现方式中,任一条规则对应的第二指示信息为所述任一条规则所属flowspec规则子组的子组标识,所述子组标识用于确定所述flowspec规则子组的顺序。
119.第十三方面,提供了一种网络设备,该网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现如上任一所述的方法。
120.作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
121.作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
122.在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
123.第十四方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该通信装置执行上述任一方面的任一种可能的实施方式中的方法。
124.第十五方面,提供了一种通信系统,所述通信系统包括第一网络设备和第二网络设备;
125.所述第一网络设备用于执行上述任一方面中的第一网络设备所执行的方法,所述第二网络设备用于执行上述任一方面中的第二网络设备所执行的方法。
126.第十六方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现如上任一方面的任一种可能实现的方法。
127.第十七方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
128.第十八方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储
器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
129.第十九方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
130.图1为本技术实施例提供的一种实施环境示意图;
131.图2为本技术实施例提供的一种流量过滤动作的内容示意图;
132.图3为本技术实施例提供的一种apn id的格式示意图;
133.图4为本技术实施例提供的一种flowspec的结构示意图;
134.图5为本技术实施例提供的另一种flowspec的结构示意图;
135.图6为本技术实施例提供的另一种flowspec的结构示意图;
136.图7为本技术实施例提供的一种流规范传输方法的流程图;
137.图8为本技术实施例提供的另一种流规范传输方法的流程图;
138.图9为本技术实施例提供的一种组标识的结构示意图;
139.图10为本技术实施例提供的另一种流规范传输方法的流程图;
140.图11为本技术实施例提供的一种通信网络的结构示意图;
141.图12为本技术实施例提供的一种报文处理方法的流程图;
142.图13为本技术实施例提供的另一种flowspec的结构示意图;
143.图14为本技术实施例提供的另一种报文处理方法的流程图;
144.图15为本技术实施例提供的一种报文处理装置的结构示意图;
145.图16为本技术实施例提供的一种报文处理装置的结构示意图;
146.图17为本技术实施例提供的一种流规范传输装置的结构示意图;
147.图18为本技术实施例提供的一种流规范传输装置的结构示意图;
148.图19为本技术实施例提供的一种流规范传输装置的结构示意图;
149.图20为本技术实施例提供的一种流规范传输装置的结构示意图;
150.图21为本技术实施例提供的一种网络设备的结构示意图;
151.图22为本技术实施例提供的一种网络设备的结构示意图;
152.图23为本技术实施例提供的一种网络设备的结构示意图。
具体实施方式
153.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
154.随着对业务报文进行处理的需求越来越多,报文处理的方式也越来越多。例如,在处理业务报文时,可应用flowspec。本技术实施例提供了一种报文处理方法以及流规范传输方法,该报文处理方法以及流规范传输方法可应用于包括多个网络设备的通信网络中,该通信网络中的网络设备包括但不限于服务器、交换机、路由器、控制器等,本技术实施例不对网络设备的类型进行限定。
155.例如,该报文处理方法以及流规范传输方法的实施环境可如图1所示的通信网络。图1中,该通信网络包括网络设备101、网络设备102、网络设备103、网络设备104、设备105和设备106。其中,网络设备101可以是网络中的控制器、设备105和设备106可为终端设备或服务器等。网络设备102、网络设备103和网络设备104可为网络中的转发设备,例如路由器或交换机等。示例性地,在图1所示的通信网络中,网络设备101可向网络设备102发送flowspec,设备105与设备106之间发送的报文可以通过网络中的转发设备进行转发,例如,设备105可向网络设备102发送业务报文,网络设备102可根据flowspec对该业务报文进行处理。
156.其中,flowspec是一个n元组,包括多个规则(rule)以及与各个规则对应的动作(action)。如果一个报文匹配上了所有的规则,则说明这个报文匹配上了一个flowspec。征求意见(request for comments,rfc)8955和rfc8956分别定义了互联网协议第4版(internet protocol version 4,ipv4)和互联网协议第6版(internet protocol version 6,ipv6)的flowspec的规则和动作。其中,规则也可称为用于匹配的元素(components),action也可称为策略。
157.如图2所示,这个n元组被放置在边界网关协议(border gateway protocol,bgp)的网络层可达性信息(network layer reachability information,nlri)字段中。本技术实施例不对规则和动作的内容进行限定。例如,规则也即匹配的元素包括但不限于目的前缀(destination prefix)、源前缀(source prefix)、ip协议(ip protocol)、端口(port)、目的端口(destination port)、互联网控制报文协议(internet control message protocol,icmp)类型(type)、icmp码(code)、传输控制协议(transmission control protocol,tcp)标志(flags)、包长度(packet length)、区分服务码点(diffserv code point,dscp)、分段(fragment)。
158.示例性地,执行的action(动作或者策略)被放置在扩展团体属性(extended community)里。例如,以流量过滤动作为例,包括但不限于如下动作:
159.7.1.以字节为单位的流量率子类型0x06(traffic rate in bytes(traffic-rate-bytes)sub-type0x06);
160.7.2.数据包流量率子类型0x0c(traffic rate in packets(traffic-rate-packets)sub-type0x0c);
161.7.3.流量-动作子类型0x07(traffic-action(traffic-action)sub-type 0x07);
162.7.4.rt重定向子类型0x08(rt redirect(rt-redirect)sub-type 0x08);
163.7.5.流量标志子类型0x09(traffic marking(traffic-marking)sub-type 0x09);
164.7.6.路由器中与其他过滤机制的交互(interaction with other filtering mechanisms in routers);
165.7.7.关于流量过滤动作干扰(considerations on traffic filtering action interference)。
166.在处理业务报文时,网络设备获取flowspec,将业务报文与flowspec中的规则进行匹配。由于flowspec包括多条规则,相关技术中,flowspec的多条规则混合在一起,并不具有相关顺序,也不具有层级关系,结构单一,不仅导致规则的管理效率较低,也会使规则
匹配的效率较低,导致业务报文的处理效率也较低。
167.例如,flowspec中的规则包括基于五元组(5-tuple)的规则以及基于端口(ports)的规则等等。此外,随着各种各样的新应用不断涌现,不同的应用间的差异化服务和精细化运营的诉求日趋明显。为了使得网络能够有效感知应用的需求,从而为不同应用的业务流提供精细化的网络资源分配、传输路径调度和服务水平协议(service level agreement,sla)质量保障,应用感知网络(application-aware networking,apn)随之应运而生。因此,本技术实施例提供的方法可以将flowspec与apn相结合,扩展出apn flowspec。那么,flowspec中的规则还可以包括基于apn特征信息的规则。
168.示例性地,apn特征信息包括但不限于apn属性。可选地,apn属性包括apn id和apn参数中的至少一种。其中,apn参数包括但不限于带宽、时延、丢包率、抖动中的至少一种。apn id既可以是整体的标识,也可以是分段的标识,本技术实施例不对apn id的类型进行限定。apn id为分段的标识时,该分段的标识包括应用组id、应用id和用户组中的至少一种,可选地,分段的标识还可以包括流标识(flow id),sla等。例如,apn id可能的格式如图3所示。
169.针对多种类型的规则混合在一起的情况,所有规则都需要有效地组织起来,并按所需的顺序应用于特定的业务流。因此,本技术实施例提供的方法中,将flowspec中的规则进行分组,以flowspec规则组对规则进行管理。不同flowspec规则组具有对应的优先级,网络设备可通过优先级的顺序执行与业务报文的匹配操作,以便按照期望的顺序匹配业务流指定的规则以及应用于特定业务流的动作。如此,使规则之间具有一定的层级关系,丰富了规则之间的层次结构,提高了规则的管理效率以及规则匹配的效率,从而提高业务报文的处理效率。
170.本技术实施例不对规则分组的方式以及flowspec规则组的内容进行限定,例如,可按照是否为apn规范来分组,划分为apn规范组和非apn规范组。此外,为了区分不同的flowspec规则组,还可为每个flowspec规则组配置对应的第一指示信息,以通过该第一指示信息来指示对应的flowspec规则组。
171.可选地,在划分flowspec规则组的基础上,还可以在flowspec规则组内进一步划分flowspec规则子组,以通过flowspec规则子组实现更加精细化的管理。为了区分不同的flowspec规则子组,可为每个flowspec规则子组配置对应的第二指示信息,以通过该第二指示信息来指示对应的flowspec规则子组。
172.本技术实施例不对上述第一指示信息和第二指示信息的内容进行限定,为了配合流规范规则,本技术实施例提供的方法定义了组标识和子组标识,例如,采用2个八位字节(2octets)作为组id,采用另外2个八位字节作为子组id。示例性地,第一指示信息可以是组标识(group id),该第二指示信息可以是子组标识(sub-group id),如此,通过组标识指示flowspec规则组,通过子组标识指示flowspec规则子组。
173.为了便于理解,以划分多个flowspec规则组为如图4所示的两个flowspec规则组为例,分别包括组标识(group id)=1的flowspec规则组和组标识(group id)=0的flowspec规则组,每个flowspec规则组中包括多个规则。不难看出,通过多组flowspec规则组也可体现层级关系。
174.可选地,针对flowspec规则组再划分flowspec规则子组的情况,以图5所示的
flowspec规则组为例,group id=1的flowspec规则组划分了三个flowspec规则子组,分别为sub-group id=1的flowspec规则子组、sub-group id=2的flowspec规则子组和sub-group id=3的flowspec规则子组。
175.可选地,针对多个flowspec规则组且进一步划分了flowspec规则子组的情况,以图6所示的flowspec为例,图6中包括两个flowspec规则组,分别为group id=1的flowspec规则组和group id=0的flowspec规则组。其中,group id=1的flowspec规则组中包括3个flowspec规则子组,分别为sub-group id=1的flowspec规则子组、sub-group id=2的flowspec规则子组和sub-group id=3的flowspec规则子组。group id=0的flowspec规则组中包括1个sub-group id=0的flowspec规则子组。
176.需要说明的是,图4-图6中的flowspec规则组中包括的应用组id(app group id)和r.group id以及用户组标识(user group id)等仅为用于举例,并不进行限制。图6仅以flowspec规则组包括flowspec规则子组,flowspec规则子组内直接包括规则为例进行示例性说明,但并不用于限制flowspec规则子组的内容。可选地,flowspec规则子组内还可以不直接包括规则,而是包括用于指示flowspec规则子组的第二指示信息,例如flowspec规则子组的子组标识,并通过第二指示信息与flowspec规则子组指示的规则相对应,如此,实现基于第二指示信息对flowspec规则子组指示的规则进行管理。
177.无论flowspec规则组是否划分flowspec规则子组,以及flowspec规则子组是哪种内容,为了使得网络设备能够基于flowspec对业务报文进行处理,处理业务报文的网络设备需要先获取到flowspec。对此,本技术实施例提供了一种流规范传输方法。以在第一网络设备和第二网络设备之间传输flowspec为例,如图7所示,该方法包括如下步骤701和步骤702。
178.701,第二网络设备向第一网络设备发送flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息。
179.其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,以使第一网络设备按照flowspec规则组的优先级顺序从flowspec的至少一个flowspec规则组中确定目标flowspec规则组。
180.本技术实施例不对第一指示信息的内容进行限定,能够区分不同的flowspec规则组即可。示例性地,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
181.此外,本技术实施例不对第二网络设备向第一网络设备发送多条规则及各条规则对应的第一指示信息的顺序进行限定,可以将多条规则以及各条规则对应的第一指示信息一并发送给第一网络设备,也可以一条规则以及该条规则对应的第一指示信息发送完,再发送下一条规则以及对应的第一指示信息。
182.无论采用哪种发送多条规则以及各条规则对应的第一指示信息的顺序,各条规则及对应的第一指示信息可携带在控制报文中发送,也可携带在专用的ip报文中发送,本技术实施例不对用于发送规则及对应的第一指示信息的报文种类进行限定。
183.702,第一网络设备接收第二网络设备发送的flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级。
184.其中,该优先级用于第一网络设备按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。
185.第一网络设备接收多条规则以及各条规则对应的第一指示信息的顺序,可基于第二网络设备侧的发送顺序确定。例如,如果第二网络设备将多条规则及各条规则对应的第一指示信息一并发送给第一网络设备,则第一网络设备可同时接收多条规则及各条规则对应的第一指示信息。又例如,如果第二网络设备是一条规则及对应的第一指示信息发送完,然后再发送下一条规则和对应的第一指示信息,则第二网络设备按照发送顺序依次接收各条规则及对应的第一指示信息。
186.例如,第一网络设备接收第二网络设备发送的规则1以及规则1对应的第一指示信息、规则2以及规则2对应的第一指示信息、规则3以及规则3对应的第一指示信息。其中,规则1对应的第一指示信息为组标识1,规则2对应的第一指示信息为组标识1,规则3对应的第一指示信息为组标识2,则第一网络设备能够根据各条规则对应的第一指示信息确定规则1和规则2对应的第一指示信息均为组标识1,则确定规则1和规则2属于同一个flowspec规则组,也即属于组标识1所标识的flowspec规则组。第一网络设备也能够根据规则3对应的第一指示信息确定规则3为另一个由组标识2所标识的flowspec规则组。
187.如上图7仅以将flowspec的规则分为flowspec规则组为例进行了说明,由于flowspec的规则分为flowspec规则组,将flowspec的多条规则以及各条规则对应的第一指示信息发送给第一网络设备。由于第一指示信息能够用于指示flowspec规则组,使得第一网络设备能够基于第一指示信息快速确定各条规则属于哪个flowspec规则组,而不同flowspec规则组能够通过优先级顺序进行选用,因此,提高了规则管理效率,也便于提高后续基于该flowspec对业务报文进行处理的效率。
188.在本技术的一种可能的实现方式中,针对在flowspec规则组基础上进一步细分flowspec规则子组的情况,参见图8,该流规范传输方法在步骤701和步骤702基础上,还包括如下步骤703和步骤704。
189.703,第二网络设备向第一网络设备发送各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组。
190.由于属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使第一网络设备按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
191.本技术实施例不对第二指示信息的内容进行限定,能够区分同一flowspec规则组内的不同flowspec规则子组即可。示例性地,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
192.需要说明的是,该各条规则对应的第二指示信息既可以一并发送给第一网络设备,也可以依次发送,本技术实施例不对多条规则各自对应的第二指示信息的发送顺序进行限定。
193.704,第一网络设备接收第二网络设备发送的各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组。
194.其中,第二指示信息用于第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
195.需要说明的是,上述图8中第一指示信息与第二指示信息可被分开传输,也即未一起传输,除此之外,该第一指示信息与第二指示信息还可被一起传输。为了配合流规范规则,本技术实施例提供的方法定义了组标识和子组标识,子类型(sub-type)为tbd2。以如图9所示的结构为例,图9示出了由第二网络设备发送至第一网络设备的任一条规则,即上述各条规则中的每条规则可以单独发送。单独发送的任一条规则可以采取如图9所示的结构,即采用2个八位字节(2octets)作为组id,采用另外2个八位字节作为子组id。可选地,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级;任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。也就是说,第一指示信息可以是组标识(group id),该第二指示信息可以是子组标识(sub-group id),如此,通过组标识指示flowspec规则组,通过子组标识指示flowspec规则子组。
196.对此,本技术实施例提供了另一种流规范传输方法,参见图10,该方法包括如下步骤1001和步骤1002。
197.1001,第二网络设备向第一网络设备发送flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组。
198.第二网络设备通过向第一网络设备发送flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息和第二指示信息,以使第一网络设备根据第一指示信息确定flowspec规则组,根据第二指示信息确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
199.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,以使第一网络设备按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。可选地,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
200.此外,本技术实施例不对第二网络设备向第一网络设备发送多条规则以及第一指示信息和第二指示信息的顺序进行限定,可以将多条规则以及各条规则对应的第一指示信息和第二指示信息一并发送给第一网络设备,也可以一条规则以及该条规则对应的第一指示信息和第二指示信息发送完,再发送下一条规则以及对应的第一指示信息和第二指示信息。
201.无论采用哪种发送多条规则以及各条规则对应的第一指示信息和第二指示信息的顺序,各条规则及对应的第一指示信息和第二指示信息可携带在控制报文中发送,也可携带在专用的ip报文中发送,本技术实施例不对用于发送规则及对应的第一指示信息和第二指示信息的报文种类进行限定。
202.1002,第一网络设备接收第二网络设备发送的flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息和第二指示信息。
203.其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组。第一
指示信息用于第一网络设备确定flowspec规则组,第二指示信息用于第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
204.可选地,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级;该优先级用于第一网络设备按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。
205.例如,第一网络设备接收第二网络设备发送的规则1以及规则1对应的第一指示信息和第二指示信息、规则2以及规则2对应的第一指示信息和第二指示信息、规则3以及规则3对应的第一指示信息和第二指示信息、规则4以及规则4对应的第一指示信息和第二指示信息。其中,规则1对应的第一指示信息为组标识1,规则1对应的第二指示信息为子组标识1,规则2对应的第一指示信息为组标识1,规则2对应的第二指示信息为子组标识2,规则3对应的第一指示信息为组标识2,规则3对应的第二指示信息为子组标识1,规则4对应的第一指示信息为组标识2,规则4对应的第二指示信息为子组标识1。
206.因此,第一网络设备能够根据各条规则对应的第一指示信息确定规则1和规则2对应的第一指示信息均为组标识1,则确定规则1和规则2属于同一个flowspec规则组,也即属于组标识1所标识的flowspec规则组。且由于规则1对应的子组标识1和子组标识2不同,因而规则1和规则2属于同一flowspec规则组内的不同flowspec规则子组。第一网络设备也能够根据规则3和规则4对应的第一指示信息确定规则3和规则4属于另一个由组标识2所标识的flowspec规则组,并进一步根据规则3和规则4对应的第二指示信息确定规则3和规则4属于同一个flowspec规则子组。
207.可选地,第一网络设备接收多条规则以及各条规则对应的第一指示信息和第二指示信息的顺序,可基于第二网络设备侧的发送顺序确定。例如,如果第二网络设备将多条规则及各条规则对应的第一指示信息和第二指示信息一并发送给第一网络设备,则第一网络设备可同时接收多条规则及各条规则对应的第一指示信息和第二指示信息。又例如,如果第二网络设备是一条规则及对应的第一指示信息和第二指示信息发送完,然后再发送下一条规则和对应的第一指示信息和第二指示信息,则第二网络设备按照发送顺序依次接收各条规则及对应的第一指示信息和第二指示信息。
208.图10所示的方法,通过将flowspec的多条规则以及各条规则对应的第一指示信息和第二指示信息一并发送给第一网络设备,由于第一指示信息能够用于指示flowspec规则组,第二指示信息能够用于指示flowspec规则子组,因而使得第一网络设备能够基于第一指示信息和第二指示信息快速确定各条规则属于哪个flowspec规则组内的哪个flowspec规则子组,便于后续提高业务报文的处理效率。
209.示例性地,以将上述图7、图8或图10所示的流规范传输方法应用于图11所示的通信网络为例。如图11所示,该通信网络包括网络控制器1、设备2、路由器r1、路由器r2、路由器r3和设备3。网络控制器1为上述图7、图8或图10所示的第二网络设备,路由器r1为上述图7、图8或图10所示的第一网络设备。设备2和设备3之间传输业务报文,这些业务报文经过路由器r1,r2,r3进行转发,则在网络控制器1和路由器r1之间可采用上述图7、图8或图10所示的方法执行流规范传输过程。
210.接下来,针对基于flowspec处理业务报文的方式,本技术实施例提供了一种报文
处理方法,以第一网络设备处理第一业务报文为例,参见图12,该方法包括如下步骤1201至步骤1203。
211.1201,第一网络设备获取第一业务报文以及多个flowspec规则组,多个flowspec规则组中的任一个flowspec规则组用于指示处理业务报文的规则集合,不同flowspec规则组对应不同的优先级。
212.本技术实施例不对第一业务报文的种类进行限定,包括但不限于各种业务的报文。例如,第一业务报文为视频类业务报文,或者音频类业务报文,还可以为游戏类业务报文等等。第一网络设备可从上游网络设备接收该第一业务报文。例如,如图11所示的通信网络,以第一网络设备为路由器r1为例,该路由器r1可从设备2接收第一业务报文。为了能够对第一业务报文进行处理,第一网络设备还获取flowspec规则组。关于flowspec规则组的内容,包括但不限于如下几种情况。
213.情况a、任一个flowspec规则组包括规则集合中的规则。
214.在该情况a中,由于flowspec规则组直接包括规则集合中的规则,因而通过flowspec规则组可直接对规则进行管理。第一网络设备获取多个flowspec规则组,包括但不限于:接收第二网络设备发送的flowspec的多条规则以及各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组;按照各条规则对应的第一指示信息对各条规则进行分组,得到至少一个flowspec规则组。
215.第一网络设备接收第二网络设备发送的flowspec的多条规则以及各条规则对应的第一指示信息的方式,参见上述图7所示实施例的相关介绍,此处暂不赘述。可选地,如果第一网络设备在此次接收到第一业务报文之前,已经从第二网络设备侧获取过flowspec的多条规则以及各条规则对应的第一指示信息,并在第一网络设备本地存储了flowspec的多条规则以及各条规则对应的第一指示信息,则此次处理第一业务报文的时候,第一网络设备可从本地获取flowspec的多条规则以及各条规则对应的第一指示信息。
216.情况b、任一个flowspec规则组包括第一指示信息,第一指示信息与规则集合中的规则相对应。
217.该情况b与上述情况a不同的是,flowspec规则组并不直接包括规则,而是包括与规则对应的第一指示信息,如果多条规则均属于同一flowspec规则组,flowspec规则组仅包括一个第一指示信息即可,从而比直接包括多条规则而言,能够节省资源。且由于flowspec规则组包括与规则集合中的规则相对应的第一指示信息,因而可通过第一指示信息对属于同一flowspec规则组的规则进行管理。
218.无论是情况a还是情况b,在划分flowspec规则组的基础上,还可进一步划分flowspec规则子组,例如,任一flowspec规则组对应多个flowspec规则子组,一个flowspec规则子组用于指示规则集合中的至少一条规则。
219.本技术实施例不对flowspec规则子组的内容进行限定,能够用于指示规则集合中的至少一条规则即可。示例性地,flowspec规则子组包括规则集合中的至少一条规则,对此,第一网络设备获取多个flowspec规则组,包括:接收第二网络设备发送的flowspec的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组。
220.相应的,第一网络设备可按照各条规则对应的第一指示信息对各条规则进行分组,得到多个flowspec规则组;对于任一flowspec规则组,按照任一flowspec规则组中的各条规则对应的第二指示信息将任一flowspec规则组中的规则分为至少一个flowspec规则子组。
221.可选地,flowspec规则子组除了直接包括所指示的规则之外,还可以不直接包括所指示的规则,而是一个flowspec规则子组包括一个第二指示信息,一个flowspec规则子组用于指示规则集合中的至少一条规则,第二指示信息与所属flowspec规则子组指示的规则相对应。由于flowspec规则组包括多个flowspec规则子组,而flowspec规则子组包括与该flowspec规则子组指示的规则相对应的第二指示信息,因而可通过第二指示信息对属于同一flowspec规则子组的规则进行管理。
222.在一种可能的实现方式中,无论是上述哪种情况,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。可选地,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
223.例如,第一网络设备获取到的规则包括规则1和规则2,规则1对应的第一指示信息为组标识1,规则1对应的第二指示信息为子组标识1,规则2对应的第一指示信息为组标识1,规则2对应的第二指示信息为子组标识2。因此,第一网络设备能够根据各条规则对应的第一指示信息确定规则1和规则2对应的第一指示信息均为组标识1,则确定规则1和规则2属于同一个flowspec规则组,也即属于组标识1所标识的flowspec规则组包括规则1和规则2。在组标识1所标识的flowspec规则组内,由于规则1对应的子组标识1和子组标识2不同,因而规则1和规则2属于同一flowspec规则组内的不同flowspec规则子组,子组标识1标识的flowspec规则子组包括规则1,子组标识2标识的flowspec规则子组包括规则2。
224.1202,第一网络设备确定目标flowspec规则组,目标flowspec规则组是至少一个flowspec规则组中与第一业务报文匹配成功且优先级最高的flowspec规则组。
225.在一种可能的实现方式中,确定目标flowspec规则组,包括:基于各个flowspec规则组的优先级对多个flowspec规则组进行排序,按照排序的顺序将第一业务报文与对应的flowspec规则组进行匹配,直至确定出匹配成功的目标flowspec规则组停止。
226.关于基于各个flowspec规则组的优先级对多个flowspec规则组进行排序的方式,本技术实施例不进行限定。可选地,多个flowspec规则组包括apn规范组和非apn规范组,apn规范组的优先级高于非apn规范组的优先级,apn规范组指示的规则集合中的规则为apn流规范。因此,针对包括apn规范组和非apn规范组的多个flowspec规则组,按照优先级由高到底的顺序排序后,apn规范组的位置位于非apn规范组之前,将第一业务报文先与apn规范组进行匹配,一旦匹配成功,则无需再将第一业务报文与非apn规范组进行匹配。
227.例如,以组标识作为第一指示信息时,由于不同组标识对应不同的优先级,则可以按照组标识的大小来表示优先级高低。例如,以组标识的值越小,所标识的flowspec规则组的优先级越高为例,组标识为1的flowspec规则组的优先级高于组标识为2的flowspec规则组,则在对组标识为1的flowspec规则组和组标识为2的flowspec规则组按照优先级排序时,如果按照优先级由高到低的顺序排序,则组标识为1的flowspec规则组位于组标识为2的flowspec规则组之前。如果按照优先级由低到高的顺序排序,则组标识为1的flowspec规则组位于组标识为2的flowspec规则组之后。
228.基于各个flowspec规则组的优先级对多个flowspec规则组进行排序后,便可以按照排序的顺序将第一业务报文与对应的flowspec规则组进行匹配,本技术实施例不对匹配方式进行限定。由于flowspec规则组用于指示处理业务报文的规则集合,例如,可将第一业务报文与当前正在执行匹配操作的flowspec规则组所指示的规则集合中的各条规则进行匹配,直至确定出匹配成功的目标flowspec规则组。其中,匹配成功包括但不限于是指第一业务报文命中目标flowspec规则组所指示的规则集合中的至少一条规则。可选地,如果对flowspec规则组划分了flowspec规则子组,匹配成功还可以是指第一业务报文命中目标flowspec规则组的至少一个flowspec规则子组所指示的规则,本技术实施例不对匹配成功的条件进行限定。
229.由于第一网络设备是按照flowspec规则组的优先级顺序执行的匹配操作,直至确定出匹配成功的目标flowspec规则组停止,因而优先级位于目标flowspec规则组之后的其他flowspec规则组将无需再进行匹配操作,从而可以节省不必要的匹配操作,进而节省了资源。
230.1203,第一网络设备根据目标flowspec规则组处理第一业务报文。
231.可选地,第一网络设备根据目标flowspec规则组处理第一业务报文,包括:在目标flowspec规则组指示的规则集合中确定目标规则,按照与目标规则对应的动作处理第一业务报文。通过在该目标flowspec规则组内确定用于处理第一业务报文的目标规则,提高了规则匹配的效率以及业务报文的处理效率。
232.本技术实施例不对在目标flowspec规则组指示的规则集合中确定目标规则的方式进行限定,例如,可将第一业务报文与目标flowspec规则组指示的规则集合中的各条规则依次匹配,从而确定出匹配成功的目标规则。可选地,针对目标flowspec规则组包括多个flowspec规则子组的情况,在目标flowspec规则组指示的规则集合中确定与第一业务报文匹配成功的目标规则,包括:基于目标flowspec规则组包括多个flowspec规则子组,将第一业务报文与各个flowspec规则子组指示的规则进行匹配,将匹配成功的规则作为目标规则。在划分flowspec规则子组的情况下,通过按照flowspec规则子组的顺序进行规则匹配,实现了按照更加细粒度的顺序执行匹配操作,使得流规范的管理更加精细。
233.示例性地,各个flowspec规则子组对应一个标识,可选地,该flowspec规则子组的标识以及该标识的值可提前配置,本技术实施例不对各个flowspec规则子组对应的标识的值进行限定。将第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,根据标识的值不同,匹配操作之后包括但不限于如下两种处理方式。
234.处理方式一,响应于任一flowspec规则子组对应的标识为第一值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与下一个flowspec规则子组指示的规则进行匹配。本技术实施例不对第一值的数值进行限定,例如,该第一值为0。
235.处理方式二,响应于任一flowspec规则子组对应的标识为第二值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续任一flowspec规则子组内的匹配操作,直至任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将第一业务报文与下一个flowspec规则子组指示的规则进行匹配。本技术实施例不对第二值的
数值进行限定,例如,该第一值为1。
236.在一种可能的实现方式中,针对flowspec规则子组未包括标识的情况,将第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组未包括标识,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。
237.为了便于理解,接下来以图13所示的多个flowspec规则组,flowspec规则组包括flowspec规则子组,且flowspec规则子组包括至少一条规则为例,对本技术实施例提供的上述确定目标flowspec规则组、flowspec规则子组是否具有标识以及基于标识的值将第一业务报文与各个flowspec规则子组指示的规则进行匹配的方式进行举例说明。
238.如图13所示,多个flowspec规则组包括apn规范组(如图13中的非五元组的group0)和非apn的group1。其中,group0包括三个flowspec规则子组,分别为sub-group1对应的flowspec规则子组、sub-group2对应的flowspec规则子组和sub-group3对应的flowspec规则子组。group0包括的三个flowspec规则子组内均包括2条规则,且每个flowspec规则子组内的每条规则对应相同的动作。group1包括sub-group0对应的flowspec规则子组,该sub-group0对应的flowspec规则子组内也包括2条规则,且每条规则对应相同的动作。
239.按照优先级排序之后,group0对应的flowspec规则组位于group1对应的flowspec规则组,因此,将第一业务报文先与group0对应的flowspec规则组指示的规则集合内的规则进行匹配。既可以不按照顺序依次将第一业务报文与各个flowspec规则子组内的规则匹配,也可以按照子组标识将各个flowspec规则子组排序,按照顺序依次将第一业务报文与各个flowspec规则子组内的规则匹配。例如,将第一业务报文与group0中的sub-group1内的规则匹配,该sub-group1包括标识(即图13中的tflag)。如果第一业务报文与group0中的sub-group1内的第一条规则匹配成功,即第一条规则命中,若sub-group1包括的标识tflag=1,也即第二值,则继续在该sub-group1内进行下一条规则的匹配操作,直至sub-group1内的全部规则匹配完毕。若sub-group1包括的标识tflag=0,也即第一值,则停止在sub-group1执行匹配操作,继续下一个sub-group2执行匹配操作。
240.在sub-group2执行匹配操作时,如果sub-group2不包括标识,则在sub-group2内命中一个匹配成功的规则后,终止匹配操作,将第一业务报文与sub-group3的规则进行匹配。
241.在一种可能的实现方式中,flowspec为apn流规范;第一网络设备根据目标flowspec规则组处理第一业务报文,包括:第一网络设备在第一业务报文中或者第一业务报文的外层隧道封装中添加与目标规则对应的apn特征信息,apn特征信息用于指示第一业务报文对应的应用或用户。
242.本技术实施例不对apn特征信息进行限定,包括但不限于apn属性,示例性地,apn属性包括apn标识id和apn参数中的至少一种。apn参数包括但不限于带宽、时延、丢包率、抖动中的至少一种。其中,apn id可以为整体的标识或者为分段的标识。在一种可能的实现方式中,分段的标识包括应用组id、应用id和用户组中的至少一种。针对apn id为分段标识的
情况,当目标flowspec规则组包括多个flowspec规则子组时,目标规则为多个flowspec规则子组中匹配成功的多条规则,匹配成功的任一条规则对应apn特征信息的一部分。示例性地,匹配成功的多条规则按照匹配顺序各自对应apn特征信息的一部分。
243.在一种可能的实现方式中,第一网络设备在第一业务报文中或者第一业务报文的外层隧道封装中添加与目标规则对应的apn特征信息,包括:第一网络设备在第一业务报文或者第一业务报文的外层隧道封装的参考位置添加与目标规则对应的应用感知网络apn特征信息,参考位置为目标规则对应的位置。本技术实施例不对第一网络设备确定参考位置的方式进行限定,在一种可能的实现方式中,该方法还包括:第一网络设备接收第二网络设备发送的ipv6扩展头类型或者比特图,ipv6扩展头类型或者比特图用于指示参考位置。
244.此外,本技术实施例也不对第一业务报文的外层隧道的类型进行限定,可基于应用场景确定。在一种可能的实现方式中,外层隧道包括ipv6隧道、互联网协议第6版的段路由srv6隧道、多协议标签交换(multi-protocol label switching,mpls)隧道、虚拟扩展局域网(virtual extensible local area network,vxlan)隧道或通用路由封装(generic routing encapsulation,gre)隧道。
245.本技术实施例提供了一种报文处理方法,参见图14,该方法包括如下步骤1401-步骤1403。
246.1401,第一网络设备获取第一业务报文。
247.该步骤1401的处理方式可参考上述图12所示的方法中的步骤1201,此处不再赘述。
248.1402,第一网络设备确定目标流规范flowspec规则组,目标flowspec规则组包括多个flowspec规则子组,一个flowspec规则子组指示规则集合中的至少一条规则。
249.示例性地,目标flowspec规则组是第一网络设备获取到的多个flowspec规则组中与第一业务报文匹配成功且优先级最高的flowspec规则组。
250.在一种可能的实现方式中,flowspec规则子组包括规则集合中的至少一条规则,第一网络设备确定目标flowspec规则组,包括:接收第二网络设备发送的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照各条规则对应的第一指示信息对各条规则进行分组,得到目标flowspec规则组;按照目标flowspec规则组中的各条规则对应的第二指示信息将目标flowspec规则组中的规则分为至少一个flowspec规则子组。
251.可选地,任一个flowspec规则组包括第一指示信息,第一指示信息与规则集合中的规则相对应;目标flowspec规则组还包括多个第二指示信息,一个第二指示信息对应一个flowspec规则子组,一个第二指示信息与所属flowspec规则子组指示的规则相对应。
252.示例性地,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识;任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
253.需要说明的是,该步骤1402的处理方式可参考上述图12所示的方法中的步骤1202的相关介绍,此处不再赘述。
254.1403,第一网络设备按照多个flowspec规则子组的顺序,将第一业务报文与各个
flowspec规则子组指示的规则进行匹配,根据匹配结果处理第一业务报文。
255.在一种可能的实现方式中,各个flowspec规则子组对应一个标识;将第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将第一业务报文与任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组对应的标识为第一值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
256.响应于任一flowspec规则子组对应的标识为第二值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续任一flowspec规则子组内的匹配操作,直至任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将第一业务报文与下一个flowspec规则子组指示的规则进行匹配。
257.可选地,将第一业务报文与各个flowspec规则子组指示的规则进行匹配,包括:将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组未包括标识,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。
258.在一种可能的实现方式中,根据匹配结果处理第一业务报文,包括:按照与目标规则对应的动作处理第一业务报文,目标规则为匹配成功的规则。
259.需要说明的是,该步骤1403的处理方式可参考上述图12所示的方法中的步骤1202和步骤1203的相关介绍,此处不再赘述。
260.以上介绍了本技术实施例的报文处理方法,与上述方法对应,本技术实施例还提供了报文处理装置。图15是本技术实施例提供的一种报文处理装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图12所示的第一网络设备,该第一网络设备也可以是图1所示的网络设备102或图11所示的r1。基于图15所示的如下多个模块,该图15所示的报文处理装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图15所示,该装置包括:
261.获取模块1501,用于获取第一业务报文以及多个流规范flowspec规则组,多个flowspec规则组中的任一个flowspec规则组用于指示处理业务报文的规则集合,不同flowspec规则组对应不同的优先级;即获取模块1501用于执行上述图12所示的步骤1201;
262.确定模块1502,用于确定目标flowspec规则组,目标flowspec规则组是多个flowspec规则组中与第一业务报文匹配成功且优先级最高的flowspec规则组;即确定模块1502用于执行上述图12所示的步骤1202;
263.处理模块1503,用于根据目标flowspec规则组处理第一业务报文;即处理模块1503用于执行上述图12所示的步骤1203。
264.在一种可能的实现方式中,确定模块1502,用于基于各个flowspec规则组的优先级对多个flowspec规则组进行排序,按照排序的顺序将第一业务报文与对应的flowspec规则组进行匹配,直至确定出匹配成功的目标flowspec规则组停止。
265.在一种可能的实现方式中,任一个flowspec规则组包括规则集合中的规则。
266.在一种可能的实现方式中,获取模块1501,用于接收第二网络设备发送的流规范
flowspec的多条规则以及各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组;按照各条规则对应的第一指示信息对各条规则进行分组,得到至少一个flowspec规则组。
267.在一种可能的实现方式中,目标flowspec规则组对应多个flowspec规则子组,一个flowspec规则子组用于指示规则集合中的至少一条规则。
268.在一种可能的实现方式中,flowspec规则子组包括规则集合中的至少一条规则,获取模块,用于接收第二网络设备发送的流规范flowspec的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照各条规则对应的第一指示信息对各条规则进行分组,得到多个flowspec规则组;对于任一flowspec规则组,按照任一flowspec规则组中的各条规则对应的第二指示信息将任一flowspec规则组中的规则分为至少一个flowspec规则子组。
269.在一种可能的实现方式中,任一个flowspec规则组包括第一指示信息,第一指示信息与规则集合中的规则相对应。
270.在一种可能的实现方式中,目标flowspec规则组还包括多个flowspec规则子组,一个flowspec规则子组包括一个第二指示信息,一个flowspec规则子组用于指示规则集合中的至少一条规则,第二指示信息与所属flowspec规则子组指示的规则相对应。
271.在一种可能的实现方式中,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
272.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
273.在一种可能的实现方式中,处理模块1503,用于在目标flowspec规则组指示的规则集合中确定目标规则,按照与目标规则对应的动作处理第一业务报文。
274.在一种可能的实现方式中,处理模块1503,用于基于目标flowspec规则组包括多个flowspec规则子组,将第一业务报文与各个flowspec规则子组指示的规则进行匹配,将匹配成功的规则作为目标规则。
275.在一种可能的实现方式中,各个flowspec规则子组对应一个标识;处理模块,用于将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组对应的标识为第一值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
276.响应于任一flowspec规则子组对应的标识为第二值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续任一flowspec规则子组内的匹配操作,直至任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将第一业务报文与下一个flowspec规则子组指示的规则进行匹配。
277.在一种可能的实现方式中,处理模块1503,用于将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组未包括标识,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与目标flowspec规则组中的下一个
flowspec规则子组指示的规则进行匹配。
278.在一种可能的实现方式中,flowspec为应用感知网络apn流规范;
279.处理模块1503,用于在第一业务报文中或者第一业务报文的外层隧道封装中添加与目标规则对应的apn特征信息,apn特征信息用于指示第一业务报文对应的应用或用户。
280.在一种可能的实现方式中,处理模块1503,用于在第一业务报文或者第一业务报文的外层隧道封装的参考位置添加与目标规则对应的应用感知网络apn特征信息,参考位置为目标规则对应的位置。
281.在一种可能的实现方式中,该装置还包括:
282.接收模块,用于接收第二网络设备发送的ipv6扩展头类型或者比特图,ipv6扩展头类型或者比特图用于指示参考位置。
283.在一种可能的实现方式中,当目标flowspec规则组包括多个flowspec规则子组时,目标规则为多个flowspec规则子组中匹配成功的多条规则,匹配成功的任一条规则对应apn特征信息的一部分。
284.在一种可能的实现方式中,匹配成功的多条规则按照匹配顺序各自对应apn特征信息的一部分,apn特征信息的一部分包括应用组id、应用id和用户组中的至少一种。
285.在一种可能的实现方式中,多个flowspec规则组包括apn规范组和非apn规范组,apn规范组的优先级高于非apn规范组的优先级,apn规范组指示的规则集合中的规则为应用感知网络apn流规范。
286.在一种可能的实现方式中,apn特征信息包括apn属性,apn属性包括apn标识id和apn参数中的至少一种,apn id为整体的标识或者为分段的标识。
287.在一种可能的实现方式中,分段的标识包括应用组id、应用id和用户组中的至少一种,apn参数包括带宽、时延、丢包率、抖动中的至少一种。
288.在一种可能的实现方式中,外层隧道包括互联网协议第6版ipv6隧道、互联网协议第6版的段路由srv6隧道、多协议标签交换mpls隧道、虚拟扩展局域网vxlan隧道或通用路由封装gre隧道。
289.与上述方法对应,本技术实施例还提供了报文处理装置。图16是本技术实施例提供的一种报文处理装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图14附图所示的第一网络设备,该第一网络设备也可以是上述图1所示的网络设备102或图11所示的r1。基于图16所示的如下多个模块,该图16所示的报文处理装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图16所示,该装置包括:
290.获取模块1601,用于获取第一业务报文;即获取模块1601用于执行上述图14所示的步骤1401;
291.确定模块1602,用于确定目标流规范flowspec规则组,目标flowspec规则组包括多个flowspec规则子组,每个flowspec规则子组指示规则集合中的至少一条规则;即确定模块1602用于执行上述图14所示的步骤1402;
292.处理模块1603,用于按照多个flowspec规则子组的顺序,将第一业务报文与各个flowspec规则子组指示的规则进行匹配,根据匹配结果处理第一业务报文;即处理模块
1603用于执行上述图14所示的步骤1403。
293.在一种可能的实现方式中,处理模块1603,用于按照与目标规则对应的动作处理第一业务报文,目标规则为多个flowspec规则子组指示的规则集合中与第一业务报文匹配成功的规则。
294.在一种可能的实现方式中,目标flowspec规则组是第一网络设备获取到的多个flowspec规则组中与第一业务报文匹配成功且优先级最高的flowspec规则组。
295.在一种可能的实现方式中,各个flowspec规则子组对应一个标识;处理模块1603,用于将第一业务报文与任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组对应的标识为第一值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与下一个flowspec规则子组指示的规则进行匹配;
296.响应于任一flowspec规则子组对应的标识为第二值,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,继续任一flowspec规则子组内的匹配操作,直至任一flowspec规则子组指示的规则全部执行完匹配操作之后,再将第一业务报文与下一个flowspec规则子组指示的规则进行匹配。
297.在一种可能的实现方式中,处理模块1603,用于将第一业务报文与目标flowspec规则组中的任一flowspec规则子组指示的规则进行匹配,响应于任一flowspec规则子组未包括标识,在任一flowspec规则子组指示的规则中命中一个匹配成功的规则后,终止任一flowspec规则子组内的匹配操作,将第一业务报文与目标flowspec规则组中的下一个flowspec规则子组指示的规则进行匹配。
298.在一种可能的实现方式中,flowspec规则子组包括规则集合中的至少一条规则,确定模块1602,用于接收第二网络设备发送的多条规则以及与各条规则对应的第一指示信息和第二指示信息,对应相同第一指示信息的规则属于同一flowspec规则组,同一flowspec规则组内对应相同第二指示信息的规则属于同一flowspec规则子组;按照各条规则对应的第一指示信息对各条规则进行分组,得到目标flowspec规则组;按照目标flowspec规则组中的各条规则对应的第二指示信息将目标flowspec规则组中的规则分为至少一个flowspec规则子组。
299.在一种可能的实现方式中,任一个flowspec规则组包括第一指示信息,第一指示信息与规则集合中的规则相对应;目标flowspec规则组还包括多个第二指示信息,一个第二指示信息对应一个flowspec规则子组,一个第二指示信息与所属flowspec规则子组指示的规则相对应。
300.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识;任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
301.与上述方法对应,本技术实施例还提供了流规范传输装置。图17是本技术实施例提供的一种流规范传输装置的结构示意图,该装置应用于第二网络设备,该第二网络设备为上述图7或图8所示的第二网络设备,该第二网络设备可以是图1所示的网络设备101或图11所示的网络控制器1。基于图17所示的如下多个模块,该图17所示的流规范传输装置能够执行第二网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多
的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图17所示,该装置包括:
302.发送模块1701,用于向第一网络设备发送流规范flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息;
303.其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,以使第一网络设备按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。
304.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
305.在一种可能的实现方式中,发送模块1701,还用于向第一网络设备发送各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使第一网络设备按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
306.在一种可能的实现方式中,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识,子组标识用于确定flowspec规则子组的顺序。
307.与上述方法对应,本技术实施例还提供了流规范传输装置。图18是本技术实施例提供的一种流规范传输装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图7或图8所示的第一网络设备。基于图18所示的如下多个模块,该图18所示的流规范传输装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图18所示,该装置包括:
308.接收模块1801,用于接收第二网络设备发送的流规范flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,不同flowspec规则组对应不同的优先级,优先级用于从flowspec的多个flowspec规则组中确定目标flowspec规则组。
309.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级。
310.在一种可能的实现方式中,接收模块1801,还用于接收第二网络设备发送的各条规则对应的第二指示信息,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;第二指示信息用于确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
311.在一种可能的实现方式中,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识。
312.与上述方法对应,本技术实施例还提供了流规范传输装置。图19是本技术实施例提供的一种流规范传输装置的结构示意图,该装置应用于第二网络设备,该第二网络设备为上述图9附图所示的第二网络设备,该第二网络设备可以是图1所示的网络设备101或图11所示的网络控制器1。基于图19所示的如下多个模块,该图19所示的流规范传输装置能够执行第二网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图19所
示,该装置包括:
313.发送模块1901,用于向第一网络设备发送流规范flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息和第二指示信息;
314.其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组,以使第一网络设备根据第一指示信息确定flowspec规则组,根据第二指示信息确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
315.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,以使第一网络设备按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。
316.在一种可能的实现方式中,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识,子组标识用于确定flowspec规则子组的顺序。
317.与上述方法对应,本技术实施例还提供了流规范传输装置。图20是本技术实施例提供的一种流规范传输装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图9附图所示的第一网络设备。基于图20所示的如下多个模块,该图20所示的流规范传输装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图20所示,该装置包括:
318.接收模块201,用于接收第二网络设备发送的流规范flowspec的多条规则以及多条规则中的各条规则对应的第一指示信息和第二指示信息,其中,对应相同第一指示信息的规则属于同一flowspec规则组,属于同一flowspec规则组的规则中对应相同第二指示信息的规则属于同一flowspec规则子组;第一指示信息用于第一网络设备确定flowspec规则组,第二指示信息用于第一网络设备确定flowspec规则子组,按照flowspec规则子组的顺序遍历同一flowspec规则组中的各个flowspec规则子组。
319.在一种可能的实现方式中,任一条规则对应的第一指示信息为任一条规则所属flowspec规则组的组标识,不同组标识对应不同的优先级,优先级用于按照flowspec规则组的优先级顺序从flowspec的多个flowspec规则组中确定目标flowspec规则组。
320.在一种可能的实现方式中,任一条规则对应的第二指示信息为任一条规则所属flowspec规则子组的子组标识,子组标识用于确定flowspec规则子组的顺序。
321.应理解的是,上述图15-20提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
322.参见图21,图21示出了本技术一个示例性实施例提供的网络设备2000的结构示意图。图21所示的网络设备2000用于执行上述图7-图9、图12或图14所示的方法所涉及的操作。该网络设备2000例如是交换机、路由器或网络控制器等,该网络设备2000可以由一般性
的总线体系结构来实现。
323.如图21所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
324.处理器2001例如是通用中央处理器(central processing unit,cpu)、数字信号处理器(digital signal processor,dsp)、网络处理器(network processer,np)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing units,npu)、数据处理单元(data processing unit,dpu)、微处理器或者一个或多个用于实现本技术方案的集成电路。例如,处理器2001包括专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。pld例如是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的组合等等。
325.可选的,网络设备2000还包括总线。总线用于在网络设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图21中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
326.存储器2003例如是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
327.通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(ran)或无线局域网(wireless local area networks,wlan)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(ethernet)接口、快速以太(fast ethernet,fe)接口、千兆以太(gigabit ethernet,ge)接口,异步传输模式(asynchronous transfer mode,atm)接口,无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本技术实施例中,通信接口2004可以用于网络设备2000与其他设备进行通信。
328.在具体实现中,作为一种实施例,处理器2001可以包括一个或多个cpu,如图16中所示的cpu0和cpu1。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以
是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
329.在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图21中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
330.在具体实现中,作为一种实施例,网络设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
331.在一些实施例中,存储器2003用于存储执行本技术方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,网络设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的报文处理方法或者流规范传输。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本技术方案的程序代码或指令。
332.在具体实施例中,本技术实施例的网络设备2000可对应于上述各个方法实施例中的第一网络设备,网络设备2000中的处理器2001读取存储器2003中的指令,使图21所示的网络设备2000能够执行第一网络设备所执行的全部或部分操作。例如,网络设备2000可以是图1所示的网络设备102或图11所示的r1。
333.又例如,本技术实施例的网络设备2000可对应于上述各个方法实施例中的第二网络设备,网络设备2000中的处理器2001读取存储器2003中的指令,使图21所示的网络设备2000能够执行第二网络设备所执行的全部或部分操作。例如,网络设备2000可以是图1所示的网络设备101或图11所示的网络控制器1。
334.网络设备2000还可以对应于上述图15-16所示的报文处理装置,报文处理装置中的每个功能模块采用网络设备2000的软件实现。换句话说,报文处理装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
335.其中,图15-16所示的报文处理方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
336.网络设备2000还可以对应于上述图17-20所示的流规范传输装置,流规范传输装置中的每个功能模块采用网络设备2000的软件实现。换句话说,流规范传输装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
337.其中,图17-20所示的流规范传输方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可
以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
338.参见图22,图22示出了本技术另一个示例性实施例提供的网络设备2100的结构示意图,图22所示的网络设备2100用于执行上述图7-图9、图12或图14的流规范传输方法或报文处理方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,例如,网络设备2000可以是图1所示的网络设备102或图11所示的r1。该网络设备2100可以由一般性的总线体系结构来实现。
339.如图22所示,网络设备2100包括:主控板2110和接口板2130。
340.主控板也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
341.接口板2130也称为线路接口单元卡(line processing unit,lpu)、线卡(line card)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、pos(packet over sonet/sdh)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,pic)2133。
342.接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
343.网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,np)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至cpu(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用cpu实现软件转发,从而接口板中不需要转发芯片。
344.物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用cpu实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
345.可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡
2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
346.可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,sfu)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
347.主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-process communication,ipc)通道,主控板2110和接口板2130及接口板2140之间通过ipc通道进行通信。
348.在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
349.值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
350.图23是本技术实施例提供的另一种网络设备2200的结构示意图,该网络设备2200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)2201和一个或多个存储器2202,其中,该一个或多个存储器2202中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器2201加载并执行,以使该服务器实现上述各个方法实施例提供的报文处理方法或流规范传输方法。当然,该网络设备2200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该网络设备2200还可以包括其他用于实现设备功能的部件,在此不做赘述。
351.基于上述图21、图22及图23所示的网络设备,本技术实施例还提供了一种通信系统,该通信系统包括:第一网络设备和第二网络设备。可选的,第一网络设备为图21所示的网络设备2000或图22所示的网络设备2100或图23所示的网络设备2200,第二网络设备为为
图21所示的网络设备2000或图22所示的网络设备2100或图23所示的网络设备2200。
352.本技术实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一网络设备所需执行的方法。
353.本技术实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行远端服务器所需执行的方法。
354.本技术实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二网络设备所需执行的方法。
355.应理解的是,上述处理器可以是cpu,还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
356.进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
357.该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
358.本技术实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现如上任一所述的报文处理方法或流规范传输方法。
359.本技术实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
360.本技术实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的报文处理方法或流规范传输方法。
361.本技术实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的报文处理方法或流规范传输方法。
362.本技术实施例还提供了一种通信系统,该通信系统包括第一网络设备和第二网络设备,第一网络设备用于执行如图7、图8、图10、图12、图14中任一项所述的第一网络设备所执行的方法,所述第二网络设备用于执行如图7、图8、图10、图12、图14中任一项所述的第二网络设备所执行的方法。
363.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk))等。
364.本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
365.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
366.当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本技术实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可
以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
367.用于实现本技术实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
368.在本技术实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
369.信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
370.机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
371.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
372.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
373.该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术实施例方案的目的。
374.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
375.该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例中方法的全部或部
分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
376.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
377.还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
378.本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
379.应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
380.还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中的字符“/”,一般表示前后关联对象是一种“或”的关系。
381.还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
382.还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0383]
应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
[0384]
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1