一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

传输网络层可达信息的方法、装置、设备、系统及介质与流程

2023-02-19 09:27:12 来源:中国专利 TAG:

传输网络层可达信息的方法、装置、设备、系统及介质
1.本技术要求于2021年8月13日提交的申请号为202110932977.7、申请名称为“一种压缩路由报文长度的方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及通信技术领域,特别涉及一种传输网络层可达信息的方法、装置、设备、系统及介质。


背景技术:

3.虚拟私有网络(virtual private network,vpn)是基于边界网关协议(border gateway protocol,bgp)的控制面协议技术,它能够通过网络层可达信息(network layer reachable information,nlri),传递路由信息。
4.vpn中的一些网络设备承载了数十万甚至数百万的路由,并且建立较多的bgp邻居,例如这些网络设备可以为自治系统边界路由器(autonomous system boundary router,asbr)设备、路由反射器(route reflector,rr)设备。这些网络设备可以生成bgp报文,该bgp报文包括多个nlri,每个nlri中包括一个路由信息,向bgp邻居发送bgp报文,以实现路由交换。
5.对于bgp报文中的nlri,nlri的长度较长,而bgp报文的总长度有限,这样导致bgp报文能够携带的nlri数量有限,影响路由传递效率。


技术实现要素:

6.本技术提供了一种传输网络层可达信息的方法、装置、系统及存储介质,以提高路由传递效率。所述技术方案如下:
7.第一方面,本技术提供了一种传输网络层可达信息nlri的方法,由第一通信装置执行,在所述方法中,获取边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息。向第二通信装置发送该bgp消息。
8.其中,第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息,使得第二通信装置能够从第一nlri中解析得到第一路由的必要路由信息,保证第二通信装置能够正常使用第一路由。由于第一指示信息用于指示第二nlri不包括第二字段集合中的第一字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,减小了第一nlri的长度,从而增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
9.可选的,第一指示信息还用于指示第一nlri包括第二字段集合中的第二字段。这
样第二通信装置在得到第一nlri时,基于第一指示信息能够成功解析出第一nlri中的第二字段,从而能够从第二字段中得到第一路由的部分可选路由信息。
10.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括第一字段。其中,通过比特映射方式能够简便地指示第一字段,能够简化第二通信装置解析第一指示信息的过程。
11.可选的,第一指示信息以枚举的方式来指示第一nlri不包括第一字段。其中,通过枚举方式能够简便地指示第一字段,能够简化第二通信装置解析第一指示信息的过程。
12.可选的,该bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,该bgp消息包括公共信息字段和多个专用信息字段,其中,该公共信息字段用于承载该多个nlri的相同信息,该多个专用信息字段与该多个nlri一一对应,该多个专用信息字段中的每个专用信息字段用于承载该多个nlri中的每个nlri除该相同信息以外的信息。
13.其中,由于公共信息字段用于承载该多个nlri的相同信息,每个nlri对应的专用信息字段不用包括该相同信息,这样减小每个专用信息字段的长度,使得该公共信息字段和该多个专用信息字段的总长度小于该多个nlri的总长度,如此进一步增加bgp消息包括的路由个数,提高传递路由的效率。
14.可选的,第二nlri用于通告第二路由,第二nlri包括第三字段集合和第二指示信息,第三字段集合用于承载第二路由的必要路由信息,第二指示信息用于指示第二nlri不包括第四字段集合,第四字段集合中的每个字段分别用于承载第二路由的可选路由信息。由于第二指示信息用于指示第二nlri不包括第四字段集合,减小了第二nlri的长度,能够增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
15.可选的,该bgp消息包括第三nlri,其中第三nlri包括该公共信息字段和专用信息字段,其中,该多个nlri是第三nlri中的多个子nlri。如此,将该公共信息字段和多个专用信息字段封装在一个第三nlri中,简化bgp消息的结构。
16.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
17.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
18.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
19.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
20.压缩ip前缀路由;
21.压缩以太自动发现路由ethernet auto-discovery route;
22.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
23.压缩以太网段路由ethernet segment route。
24.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
25.可选的,该必要路由信息还包括:因特网协议第4版ipv4地址或因特网协议第6版ipv6地址。
26.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
27.可选的,该可选路由信息还包括:mpls label2。
28.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
29.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
30.第二方面,本技术提供了一种传输网络层可达信息nlri的方法,由第一通信装置执行,在所述方法中,获取边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息。向第二通信装置发送该bgp消息。
31.其中,第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息,使得第二通信装置能够从第一nlri中解析得到第一路由的必要路由信息,保证第二通信装置能够正常使用第一路由。由于第一指示信息用于指示第一nlri不包括第二字段集合,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,从而大幅减小了第一nlri的长度,增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
32.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括第二字段集合中的每个字段。其中,通过比特映射方式能够简便地指示第二字段集合中的每个字段,能够简化第二通信装置解析第一指示信息的过程。
33.可选的,第一指示信息以枚举的方式来指示第一nlri不包括第二字段集合。其中,通过枚举方式能够简便地指示第二字段集合中的每个字段,能够简化第二通信装置解析第一指示信息的过程。
34.可选的,该bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,该bgp消息包括公共信息字段和多个专用信息字段,其中,该公共信息字段用于承载该多个nlri的相同信息,该多个专用信息字段与该多个nlri一一对应,该多个专用信息字段中的每个专用信息字段用于承载该多个nlri中的每个nlri除该相同信息以外的信息。
35.其中,由于公共信息字段用于承载该多个nlri的相同信息,每个nlri对应的专用信息字段不用包括该相同信息,这样减小每个专用信息字段的长度,使得该公共信息字段和该多个专用信息字段的总长度小于该多个nlri的总长度,如此进一步增加bgp消息包括的路由个数,提高传递路由的效率。
36.可选的,该bgp消息包括第三nlri,其中第三nlri包括该公共信息字段和专用信息字段,其中,该多个nlri是第三nlri中的多个子nlri。如此,将该公共信息字段和多个专用信息字段封装在一个第三nlri中,简化bgp消息的结构。
37.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
38.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
39.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
40.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
41.压缩ip前缀路由;
42.压缩以太自动发现路由ethernet auto-discovery route;
43.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
44.压缩以太网段路由ethernet segment route。
45.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
46.可选的,该必要路由信息还包括:因特网协议第4版ipv4地址或因特网协议第6版ipv6地址。
47.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
48.可选的,该可选路由信息还包括:mpls label2。
49.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
50.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
51.第三方面,本技术提供了一种传输网络层可达信息nlri的方法,由第一通信装置执行,在所述方法中,接收边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息。基于该bgp消息获取第一路由。
52.其中,由于该bgp消息中的第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息,这样第一通信装置在接收到bgp消息后,能够从该bgp消息中的第一nlri中解析得到第一路由的必要路由信息,保证第一通信装置能够正常使用第一路由。由于第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,从而减小了第一nlri的长度,增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
53.可选的,第一指示信息还用于指示第一nlri包括第二字段集合中的第二字段。这样第一通信装置基于第一指示信息能够成功解析出第一nlri中的第二字段,从第二字段中得到第一路由的部分可选路由信息。
54.可选的,在该bgp消息中解析得到第一字段集合和第一指示信息。在第一指示信息指示第一nlri不包括第二字段集合,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息。在第一指示信息指示第一nlri还包括第二字段集合中的第二字段,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息和第二字段承载的路由信息。这样第一通信装置通过第一指示信息,能够准确地确定第一nlri是否包括第
一路由的部分可选路由信息,基于确定结果能够准确解析出第一nlri中的第一路由。
55.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括第一字段。其中,通过比特映射方式能够简便地指示第一字段,能够简化第一通信装置解析第一指示信息的过程。
56.可选的,第一指示信息以枚举的方式来指示第一nlri不包括第一字段。其中,通过枚举方式能够简便地指示第一字段,能够简化第一通信装置解析第一指示信息的过程。
57.可选的,该bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,该bgp消息包括公共信息字段和多个专用信息字段,其中,该公共信息字段用于承载该多个nlri的相同信息,该多个专用信息字段与该多个nlri一一对应,该多个专用信息字段中的每个专用信息字段用于承载该多个nlri中的每个nlri除该相同信息以外的信息。
58.其中,由于公共信息字段用于承载该多个nlri的相同信息,每个nlri对应的专用信息字段不用包括该相同信息,这样使得该公共信息字段和该多个专用信息字段的总长度小于该多个nlri的总长度,如此进一步增加bgp消息包括的路由个数,提高传递路由的效率。
59.可选的,该bgp消息包括第三nlri,其中第三nlri包括公共信息字段和专用信息字段,其中,多个nlri是第三nlri中的多个子nlri。如此,将该公共信息字段和多个专用信息字段封装在一个第三nlri中,简化bgp消息的结构。
60.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
61.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
62.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
63.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
64.压缩ip前缀路由;
65.压缩以太自动发现路由ethernet auto-discovery route;
66.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
67.压缩以太网段路由ethernet segment route。
68.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
69.可选的,必要路由信息还包括:因特网协议第4版ipv4地址或因特网协议第6版ipv6字址。
70.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
71.可选的,该可选路由信息还包括:mpls label2。
72.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
73.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
74.第四方面,本技术提供了一种传输网络层可达信息nlri的方法,由第一通信装置执行,在所述方法中,接收边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息。基于所述bgp消息获取第一路由。
75.其中,由于该bgp消息中的第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息,这样第一通信装置在接收到bgp消息后,能够从该bgp消息中的第一nlri中解析得到第一路由的必要路由信息,保证第一通信装置能够正常使用第一路由。由于第一指示信息用于指示第一nlri不包括第二字段集合,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,从而大幅度减小了第一nlri的长度,增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
76.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括第二字段集合中的每个字段。其中,通过比特映射方式能够简便地指示第二字段集合中的每个字段,能够简化第一通信装置解析第一指示信息的过程。
77.可选的,第一指示信息以枚举的方式来指示所述第一nlri不包括第二字段集合中的每个字段。其中,通过枚举的方式能够简便地指示第二字段集合中的每个字段,能够简化第一通信装置解析第一指示信息的过程。
78.可选的,该bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,该bgp消息包括公共信息字段和多个专用信息字段,其中,该公共信息字段用于承载该多个nlri的相同信息,所述多个专用信息字段与所述多个nlri一一对应,所述多个专用信息字段中的每个专用信息字段用于承载所述多个nlri中的每个nlri除所述相同信息以外的信息。
79.其中,由于公共信息字段用于承载该多个nlri的相同信息,每个nlri对应的专用信息字段不用包括该相同信息,这样使得该公共信息字段和该多个专用信息字段的总长度小于该多个nlri的总长度,如此进一步增加bgp消息包括的路由个数,提高传递路由的效率。
80.可选的,所述bgp消息包括第三nlri,其中所述第三nlri包括所述公共信息字段和所述专用信息字段,其中,所述多个nlri是所述第三nlri中的多个子nlri。如此,将该公共信息字段和多个专用信息字段封装在一个第三nlri中,简化bgp消息的结构。
81.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
82.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
83.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
84.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
85.压缩ip前缀路由;
86.压缩以太自动发现路由ethernet auto-discovery route;
87.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
88.压缩以太网段路由ethernet segment route。
89.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
90.可选的,必要路由信息还包括:ipv4地址或ipv6字址。
91.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
92.可选的,该可选路由信息还包括:mpls label2。
93.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
94.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
95.第五方面,本技术提供了一种传输网络层可达信息nlri的装置,包括收发单元和处理单元,收发单元用于执行在实现第一方面或第一方面任意可选方式中所述的传输网络层可达信息nlri的方法时,由第一通信装置执行的收发操作,处理单元用于执行除收发以外的其他操作。例如:在实现第一方面所述传输网络层可达信息nlri的方法时,处理单元用于获取bgp消息,收发单元用于向第二通信装置发送bgp消息。
96.第六方面,本技术提供了一种传输网络层可达信息nlri的装置,包括收发单元和处理单元,收发单元用于执行在实现第二方面或第二方面任意可选方式中所述的传输网络层可达信息nlri的方法时,由第一通信装置执行的收发操作,处理单元用于执行除收发以外的其他操作。例如:在实现第二方面所述传输网络层可达信息nlri的方法时,处理单元用于获取bgp消息,收发单元用于向第二通信装置发送bgp消息。
97.第七方面,本技术提供了一种传输网络层可达信息nlri的装置,包括收发单元和处理单元,收发单元用于执行在实现第三方面或第三方面任意可选方式中所述的传输网络层可达信息nlri的方法时,由第一通信装置执行的收发操作,处理单元用于执行除收发以外的其他操作。例如:在实现第三方面所述的传输网络层可达信息nlri的方法时,收发单元用于接收bgp消息,处理单元用于基于该bgp消息获取第一路由。
98.第八方面,本技术提供了一种传输网络层可达信息nlri的装置,包括收发单元和处理单元,收发单元用于执行在实现第四方面或第四方面任意可选方式中所述的传输网络层可达信息nlri的方法时,由第一通信装置执行的收发操作,处理单元用于执行除收发以外的其他操作。例如:在实现第四方面所述的传输网络层可达信息nlri的方法时,收发单元用于接收bgp消息,处理单元用于基于该bgp消息获取第一路由。
99.第九方面,本技术提供了一种传输网络层可达信息nlri的设备,所述设备包括处理器、存储器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,使得所述设备实现第一方面或第一方面任意可选方式所述的方法。
100.第十方面,本技术提供了一种传输网络层可达信息nlri的设备,所述设备包括处理器、存储器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,使得所述设备实现第二方面或第二方面任意可选方式所述的方法。
101.第十一方面,本技术提供了一种传输网络层可达信息nlri的设备,所述设备包括处理器、存储器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,使得所述设备实现第三方面或第三方面任意可选方式所述的方法。
102.第十二方面,本技术提供了一种传输网络层可达信息nlri的设备,所述设备包括处理器、存储器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,使得所述设备实现第四方面或第四方面任意可选方式所述的方法。
103.第十三方面,本技术提供了一种计算机程序产品,其包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面、第二方面、第三方面、第四方面、第一方面任意可选方式、第二方面任意可选方式、第三方面任意可选方式或第四方面任意可选方式的方法。
104.第十四方面,本技术提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理执行时,实现上述第一方面、第二方面、第三方面、第四方面、第一方面任意可选方式、第二方面任意可选方式、第三方面任意可选方式或第四方面任意可选方式的方法。
105.第十五方面,本技术提供了一种传输网络层可达信息nlri的系统,所述系统包括第五方面所述的装置和第七方面所述的装置,或者,包括第六方面所述的装置和第八方面所述的装置,或者,包括第九方面所述的装置和第十一方面所述的装置,或者,包括第十方面所述的装置和第十二方面所述的装置。
附图说明
106.图1是本技术实施例提供的一种网络架构示意图;
107.图2是本技术实施例提供的一种nlri结构示意图;
108.图3是本技术实施例提供的另一种nlri结构示意图;
109.图4是本技术实施例提供的另一种nlri结构示意图;
110.图5是本技术实施例提供的另一种nlri结构示意图;
111.图6是本技术实施例提供的一种传输网络层可达信息nlri的方法流程图;
112.图7是本技术实施例提供的一种压缩nlri结构示意图;
113.图8是本技术实施例提供的另一种压缩nlri结构示意图;
114.图9是本技术实施例提供的另一种压缩nlri结构示意图;
115.图10是本技术实施例提供的另一种压缩nlri结构示意图;
116.图11是本技术实施例提供的另一种压缩nlri结构示意图;
117.图12是本技术实施例提供的另一种压缩nlri结构示意图;
118.图13是本技术实施例提供的一种传输网络层可达信息nlri的装置结构示意图;
119.图14是本技术实施例提供的另一种传输网络层可达信息nlri的装置结构示意图;
120.图15是本技术实施例提供的一种网络设备的结构示意图;
121.图16是本技术实施例提供的另一种网络设备的结构示意图;
122.图17是本技术实施例提供的另一种传输网络层可达信息nlri的系统结构示意图。
具体实施方式
123.下面将结合附图对本技术实施方式作进一步地详细描述。
124.vpn是在公用网络上建立的专用网络,vpn中的网络设备上有路由,该网络设备需要将其包括的路由传递给其他网络设备。随着网络技术的发展,传统2层vpn以及3层vpn逐渐向以太网虚拟私有网络(ethernet virtual private network,evpn)演进,随着evpn的不断部署,网络设备上的路由数目剧增,导致在网络中传递的路由数目也随之剧增。为了传递vpn路由,网络设备通过bgp消息将路由传递给其他网络设备。其中,bgp消息包括至少一个nlri,每个nlri分别用于承载该网络设备上的路由。
125.参见图1,本技术实施例提供了一种网络架构100,该网络架构100包括第一网络设备101、第二网络设备102和至少一个第三网络设备103,第一网络设备101分别与第二网络设备102和每个第三网络设备103通信。
126.可选的,第一网络设备102和第二网络设备102是vpn环境下的设备。例如,第一网络设备101和第二网络设备102为evpn环境下的设备。
127.在一些实施例中,第一网络设备101、第二网络设备102和每个第三网络设备103均位于通信网络中,第一网络设备101和第二网络设备102在通信网络中建立网络连接,以实现第一网络设备101和第二网络设备102通信,第一网络设备101和每个第三网络设备103在通信网络中建立网络连接,以实现第一网络设备101和每个第三网络设备103通信。当然,还有其他实现第一网络设备101和第二网络设备102通信的方式,以及其他实现第一网络设备101和每个第三网络设备103通信的方式,在此不再详细说明。
128.其中,对于与第一网络设备101通信的各第三网络设备103,该第三网络设备103向第一网络设备101发送自己的路由,第一网络设备101接收不同第三网络设备103发送的路由,使得第一网络设备101中包括大量的路由,这些路由包括evpn路由等。
129.例如,参见图1,第三网络设备103为用户网络边缘(customer edge,ce)设备,第一网络设备101为运营商边缘(provider edge,pe)设备,pe设备接收到不同的ce设备发送的路由,这样使得pe设备(即第一网络设备101)包括不同ce设备的路由。
130.再例如,第三网络设备103为pe设备,第一网络设备101为rr设备或asbr设备,rr设备或asbr设备接收不同pe设备发送的路由,这样使得rr设备或asbr设备(即第一网络设备101)包括不同pe设备的路由。
131.在一些实施例中,第一网络设备101和第二网络设备102为vpn环境下的路由设备。例如,参见图1,第一网络设备101为pe设备、rr设备或asbr设备等,第二网络设备102为pe设备、rr设备或asbr设备等。
132.第一网络设备101需要向第二网络设备102传递该大量的路由。在实现时,第一网络设备101生成bgp消息,该bgp消息包括多个nlri,对于每个nlri,该nlri用于承载一个路由,该路由为第一网络设备101上的路由,每个nlri所承载的路由不同。第一网络设备101向第二网络设备发送该bgp消息,第二网络设备102接收该bgp消息,从该bgp消息中获取第一网络设备101上的路由。如此第一网络设备101实现向第二网络设备传递路由。
133.对于该bgp消息中的任一个nlri,为了便于说明将该nlri称为第一nlri,第一nlri用于承载第一路由。其中,第一nlri包括多个字段,该多个字段分别用于承载第一路由中的不同路由信息。
134.在一些实施例中,第一路由为evpn路由等。
135.下面以第一路由为evpn路由为例,来描述当前第一路由所包括的集中具体的路由
格式。具体来说,evpn路由包括:
136.媒体接入控制/因特网协议通告路由(media access control/internet protocol advertisement route,mac/ip advertisement route);
137.ip前缀路由;
138.以太自动发现路由(ethernet auto-discovery route);
139.集成组播以太网标签路由(inclusive multicast ethernet tag route);或,
140.以太网段路由(ethernet segment route)。
141.其中,在第一nlri所承载的第一路由为mac/ip advertisement route的情况,第一nlri是mac/ip通告型nlri,该mac/ip通告型nlri用于承载该mac/ip advertisement route。
142.参见图2所示的第一nlri(mac/ip通告型nlri)的示例,在该示例中,第一nlri包括占用1字节的路由类型字段、占用1字节的长度字段以及具体路由信息字段。其中,具体路由信息字段包括:路由标识字段、以太网段标识字段、以太网标签标识字段、mac地址长度字段、mac地址字段、ip地址长度字段和第一多协议标签交换标签(multi-protocol label switching label,mpls label)字段。路由标识字段、以太网段标识字段、以太网标签标识字段、mac地址长度字段、mac地址字段、ip地址长度字段和第一mpls标签字段分别占用8字节、10字节、4字节、1字节、6字节、1字节和3字节。
143.其中,路由类型字段、长度字段、路由标识字段、以太网段标识字段、以太网标签标识字段、mac地址长度字段、mac地址字段、ip地址长度字段和第一mpls字段分别用于承载路由类型、具体路由信息长度、路由标识、以太网段标识、以太网标签标识、mac地址长度、mac地址、ip地址长度和mpls label1。其中,具体路由信息长度为具体路由信息字段的长度,mpls lable1为mac地址对应的mpls标签,也即是二层mpls标签。即第一路由包括路由类型、具体路由信息长度、路由标识、以太网段标识、以太网标签标识、mac地址长度、mac地址、ip地址长度和mpls label1。
144.参见图3或图4,第一nlri的具体路由信息字段还可能包括如下一个或多个字段:ip地址字段或第二mpls字段。第一路由还可能包括如下一个或多个路由信息:ip地址或mpls label2,mpls label2为ip地址对应的mpls标签,是三层mpls标签。
145.ip地址字段和第二mpls字段分别用于承载ip地址和mpls label2,ip地址字段和第二mpls字段分别占用第一字节数和3字节。在ip地址字段承载的ip地址为因特网协议第4版(internet protocol version,ipv4)地址时,第一字节数为4,在ip地址字段承载的ip地址为因特网协议第6版(internet protocol version 6,ipv6)地址时,第一字节数为16。
146.其中,mac/ip advertisement route至少分为如下五种情况的路由,该五种情况为如下情a-e。也就是说:第一nlri所承载的第一路由至少存在如下五种情况a-e。
147.情况a、第一路由为mac路由(mac-only route)。
148.参见图2,在情况a中,第一nlri用于传递mac信息,第一nlri承载的第一路由不包括ip地址和mpls label2,也就是说,第一nlri不包括ip地址字段和第二mpls字段,所以第一nlri的长度为1 1 8 10 4 1 6 1 0 3 0=35字节。
149.情况b、第一路由为未携带mpls label2的mac-ipv4路由(mac-ip route without mpls label2)。
150.参见图3,在情况b中,第一nlri用于传递mac信息和ip信息,且未携带mpls label2,该ip信息包括ip地址,该ip地址为ipv4地址。也就是说,第一nlri承载的第一路由不包括mpls label2,但包括ip地址,第一nlri包括ip地址字段,但不包括第二mpls标签字段,用于承载该ip地址的ip地址字段占用4字节,即第一字节数为4,所以第一nlri的长度为1 1 8 10 4 1 6 1 4 3 0=39字节。
151.情况c、第一路由为携带mpls label2的mac-ipv4路由(mac-ip route with mpls2)。
152.参见图4,在情况c中,第一nlri用于传递mac信息和ip信息,且携带mpls label2,该ip信息包括ip地址。也就是说,第一nlri承载的第一路由包括ip地址和mpls label2,该ip地址为ipv4地址,第一nlri包括ip地址字段和第二mpls标签字段,用于承载该ip地址的ip地址字段占用4字节,即第一字节数为4,所以第一nlri的长度为1 1 8 10 4 1 6 1 4 3 3=42字节。
153.情况d、第一路由为未携带mpls label2的mac-ipv6路由(mac-ipv6 route without mpls label2)。
154.参见图3,在情况d中,第一nlri用于传递mac信息和ip信息,且未携带mpls label2,该ip信息包括ip地址。也就是说,第一nlri承载的第一路由不包括mpls label2,但包括ip地址,该ip地址为ipv6地址,第一nlri包括ip地址字段,但不包括第二mpls标签字段,用于承载该ip地址的ip地址字段占用16字节,即第一字节数为16,所以第一nlri的长度为1 1 8 10 4 1 6 1 16 3 0=51字节。
155.情况e、第一路由为携带mpls label2的mac-ipv6路由(mac-ipv6 route without mpls label2)。
156.参见图4,在情况e中,第一nlri用于传递mac信息和ip信息,且携带mpls label2,该ip信息包括ip地址。也就是说,第一nlri承载的第一路由包括ip地址和mpls label2,该ip地址为ipv6地址,第一nlri包括ip地址字段和第二mpls标签字段,用于承载该ip地址的ip地址字段占用16字节,即第一字节数为16,所以第一nlri的长度为1 1 8 10 4 1 6 1 16 3 3=54字节。
157.其中,在第一nlri所承载的第一evpn路由为ip前缀路由的情况,第一nlri是ip前缀型nlri,该ip前缀型nlri用于承载ip前缀路由。
158.参见图5所示的第一nlri(ip前缀型nlri)的示例,在该示例中,第一nlri包括占用1字节的路由类型字段、占用1字节的长度字段以及具体路由信息字段。其中,具体路由信息字段包括路由标识字段、以太网段标识字段、以太网标签标识字段、ip前缀长度字段、ip前缀字段、网关ip地址字段以及mpls标签字段。其中,路由标识字段、以太网段标识字段、以太网标签标识字段、ip前缀长度字段、ip前缀字段、网关ip地址字段以及mpls标签字段分别占用8字节、10字节、4字节、1字节、第三字节数、第四字节数以及3字节。路由类型字段、长度字段、路由标识字段、以太网段标识字段、以太网标签标识字段、ip前缀长度字段、ip前缀字段、网关ip地址字段以及mpls标签字段分别用于承载路由类型、具体路由信息长度、路由标识、以太网段标识、以太网标签标识、ip前缀的长度、ip前缀、网关ip地址以及三层的mpls标签。即第一路由包括路由类型、具体路由类型长度、路由标识、以太网段标识、以太网标签标识、ip前缀的长度、ip前缀、网关ip地址以及三层的mpls标签。
159.第一nlri通告的第一路由至少存在如下两种情况,该两种情况为情况1-2。
160.情况1、第一路由为ipv4前缀路由(ipv4 prefix route)。
161.该ipv4前缀路由中的ip前缀是ipv4前缀,网关ip地址是ipv4地址,用于承载ipv4前缀的ip前缀字段的长度以及用于承载网关ip地址的网关ip地址字段的长度均为4字节,即第三字节数为4,第四字节数为4。也就是说,用于通知ipv4前缀路由的第一nlri的长度为1 1 8 10 4 1 4 4 3=36字节。
162.情况2、第一路由为ipv6前缀路由(ipv6 prefix route)。
163.该ipv6前缀路由中的ip前缀是ipv6前缀,网关ip地址是ipv6地址,用于承载ipv6前缀的ipv6前缀字段的长度以及用于承载网关ip地址的网关ip地址字段的长度均为16字节,即第三字节数为16,第四字节数为16。也就是说,用于通知ipv6前缀路由的第一nlri的长度为1 1 8 10 4 1 16 16 3=60字节。
164.在第一路由为ethernet auto-discovery route,inclusive multicast ethernet tag route,或,ethernet segment route的情况,第一nlri的结构同上述mac/ip通告型nlri的结构相同,在此不再一一列举说明。
165.其中,第一路由包括的路由信息较多,第一nlri包括较多的字段来承载第一路由中的不同路由信息,使得第一nlri的长度较长。然而,bgp消息的总长度是固定不变的,这样导致每个bgp消息能够携带第一nlri的数量有限,从而影响使用bgp消息来传输路由的效率。例如,假设该bgp消息的长度为4096个字节,该bgp消息中的第一nlri为上述情况a中的nlri,第一nlri的长度为35个字节,也就是说该bgp消息最多可包括117个第一nlri,通过该bgp消息最多能够传输117条路由。
166.为了解决上述问题,本技术实施例提供了一种传输nlri的方法,在现有的nlri的基础上,将nlri所承载的路由信息划分为必要路由信息和可选路由信息两个部分,分别由不同的字段来承载。即在nlri中,采用第一字段集合来固定承载必要路由信息。举例来说,对于evpn路由,由于evpn路由包括多种不同类型的路由,可以通过对比分析,将不同类型的evpn路由所承载的路由信息之间取交集,获得每种路由都必须要传递的路由信息作为必要路由信息,将其它路由信息作为可选路由信息,由第二字段集合来承载。在传输nlri的过程中,对于每种不同的路由类型来说,只需要传递每种路由的必要路由信息和可选的路由信息,而不必传输所有的字段,从而对该路由来说不必要的字段可以用于承载其它信息。通过本技术方法所通告的路由可以称之为压缩路由,所述压缩路由包括的路由信息个数小于非压缩路由包括的路由信息个数,如此减少用于承载压缩路由的nlri包括的字段个数,减小nlri的长度,使得bgp消息可以包括更多的nlri,以提高传输路由的效率。其中,可以通过如下任意实施例来减少nlri中的字段个数,以提高传输路由的效率。
167.下面结合图6,来介绍本技术实施例所提供的用于传输nlri的方法600。该方法600可应用于图1所示的网络架构100,方法600中所述的第一网络设备例如可以对应图1所示的第一网络设备101,第二网络设备可以对应图1所示的第二网络设备102。参见图6,本技术实施例提供了一种传输nlri的方法600,所述方法600应用于图1所示的网络架构100,所述方法600包括:
168.步骤601:第一网络设备获取bgp消息,该bgp消息包括第一nlri,第一nlri用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第
一路由中的必要路由信息,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,第二字段集合不包括第一指示信息。
169.在步骤601中仅仅列举了第一nlri的一种结构示例,为了便于说明将该结构示例称为第一结构示例。在第一结构示例中,第一字段是第二字段集合中的部分字段,第二字段集合还包括第二字段,第二字段是第二字段集合中除第一字段之外的其他字段,第一指示信息还用于指示第一nlri包括第二字段集合中的第二字段。也就是说,第一nlri包括第一字段集合、第一指示信息和第二字段集合中的部分字段,此时第一nlri包括第一路由的必要路由信息以及第一路由的部分可选路由信息。
170.在一些实施例中,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括第一字段。在实现时,
171.第一指示信息包括第二字段集合中的每个字段对应的比特,其中第一字段对应的比特的取值为第一取值,用于表示第一nlri不包括第一字段,第二字段对应的比特的取值为第二取值,用于表示第一nlri包括第二字段。第一取值为0,第二取值为1;或者,第一取值为1,第二取值为0。
172.在一些实施例中,第一指示信息以枚举的方式来指示第一nlri不包括第一字段。在实现时,第一指示信息为一个字段,该字段携带的信息用于指示第一nlri不包括第一字段。
173.例如,第二字段集合包括以太网段标识字段、以太网标签标识字段和第二mpls标签字段,假设在第一字段包括以太网段标识字段和以太网标签标识字段时,使用数值1来指示第一字段;或者,在第一字段包括以太网标签标识字段和第二mpls标签字段时,使用数值2来指示第一字段;或者,在第一字段包括以太网段标识字段和第二mpls标签字段时,使用数值3来指示第一字段。其中,第一字段还可能有其他组合方式,在此不再一一枚举出来。
174.在一些实施例中,第一指示信息的长度为1字节或2字节等。
175.第一nlri除了有第一结构示例外,还可能有其他结构示例。例如,第一nlri为如下第二结构示例:第一nlri包括第一字段集合和第一指示信息,但不包括第二字段集合,第一指示信息用于指示第一nlri不包括第二字段集合,此时,第一nlri包括第一路由的必要路由信息,不包括第一路由的可选路由信息。
176.其中,bgp消息包括一个或多个第一nlri,该bgp消息包括的每个第一nlri的结构相同,或者,不同。
177.由于上述第一结构示例的第一nlri不包括第二字段集合中的第一字段,上述第二结构示例的第一nlri不包括第二字段集合,这样可以减小第一nlri的长度,使得bgp消息包括较多的第一nlri,从而使得该bgp消息包括较多的第一路由,提高了传输路由的效率。
178.其中,第一nlri承载的第一路由与上述图2-图4所示nlri通告的路由不同,第一nlri承载的第一路由为压缩路由,第一nlri承载第一路由的必要路由信息,或者,第一nlri承载第一路由的必要路由信息或部分可选路由信息。上述图2至图4所示nlri通告的路由为非压缩路由,第一nlri承载的每种第一路由对应一种非压缩路由,对于第一路由和与第一路由相对应的非压缩路由,第一路由的长度小于非压缩路由的长度。
179.在一些实施例中,第一路由为evpn路由等。
180.其中,需要说明的是:本技术的构思是将一条路由划分为必要路由信息和可选路由信息,对于承载该路由的nlri,该nlri不包括用于承载可选路由信息的字段或包括部分用于承载可选路由信息的字段。本技术实施例以evpn路由为例,但本技术的构思同样也适用使用vpn nlri传递路由的其他场景,其他场景中能够被划分为必要路由信息和可选路由信息的路由,该路由能够使用本技术实施例的方法来传递。
181.在第一路由为evpn路由的情况,第一nlri为evpn nlri,该evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
182.在一些实施例中,第一nlri包括路由类型字段,该路由类型字段指示第一nlri所承载的evpn路由为:
183.压缩mac/ip advertisement route;
184.压缩ip前缀路由;
185.压缩ethernet auto-discovery route;
186.压缩inclusive multicast ethernet tag route;或,
187.压缩ethernet segment route。
188.其中,在第一nlri所承载的第一路由为压缩mac/ip advertisement route的情况,第一nlri是压缩mac/ip通告型nlri,该压缩mac/ip通告型nlri用于承载该压缩mac/ip advertisement route,即第一nlri用于承载该压缩mac/ip advertisement route。
189.在一些实施例中,参见图7,第一路由的必要路由信息包括路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、ip地址长度和mpls label1,第一路由的可选路由信息包括以太网段标识和以太网标签标识。第一nlri的第一字段集合包括路由类型字段、长度字段、路由标识字段、mac地址长度字段、mac地址字段、ip地址长度字段和第一mpls字段,第二字段集合包括以太网段标识字段和以太网标签标识字段,该路由类型为压缩mac/ip advertisement route。
190.在一些实施例中,参见图8或图9,第一路由的必要路由信息还包括ip地址,该ip地址为ipv4地址或ipv6地址,第一路由的可选路由信息还包括mpls label1。第一nlri的第一字段集合还包括ip地址字段,第二字段集合还包括第二mpls标签字段。
191.其中,在第一路由为压缩mac/ip advertisement route的情况,第一路由至少存在如下五种情况a1-e1。该五种情况的第一路由均为压缩路由,与之对应的非压缩路由为上述情况a-e的五种路由,接下来,以第一指示信息的长度为1字节为例,并分别说明该五种情况下的第一路由和用于承载第一路由的第一nlri的结构。
192.情况a1、第一路由为压缩mac路由(压缩mac-only route)。第一路由对应的非压缩路由为上述情况a所示的mac路由。
193.参见图7,在情况a1中,第一nlri用于传递mac信息,第一nlri承载的第一路由不包括ip地址和mpls label2,也就是说,第一路由的必要路由信息不包括ip地址,第一路由的可选路由信息不包括mpls label2,第一nlri的第一字段集合不包括ip地址字段,第一nlri的第二字段集合不包括第二mpls字段。
194.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 6 1 3 1=22字节,小于35字节,即小于情况a中的nlri的长度。
195.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。第一字段为以太网段标识字段,第二字段为以太网标签标识字段;或者,第一字段为以太网标签标识字段,第二字段为以太网段标识字段。也就是说,第一nlri还包括以太网段标识字段,第一nlri的长度为1 1 8 1 6 1 3 1 10=32字节,小于35字节,即小于情况a中的nlri的长度。或者,第一nlri还包括以太网标签标识字段,所以第一nlri的长度为1 1 8 1 6 1 3 1 4=26字节,小于35字节,即小于情况a中的nlri的长度。
196.情况b1、第一路由为压缩未携带mpls label2的mac-ipv4路由(压缩mac-ip route without mpls label2)。第一路由对应的非压缩路由为上述情况b所示的未携带mpls label2的mac-ipv4路由。
197.参见图8,在情况b1中,第一nlri用于传递mac信息和ip信息,且未携带mpls label2,该ip信息包括ip地址,该ip地址为ipv4地址。也就是说,第一路由的必要路由信息还包括ip地址,第一路由的可选路由信息不包括mpls label2,第一nlri的第一字段集合还包括ip地址字段,ip地址字段占用4字节,第一nlri的第二字段集合不包括第二mpls字段。
198.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 6 1 4 3 1=26字节,小于39字节,即小于情况b中的nlri的长度。
199.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。第一字段为以太网段标识字段,第二字段为以太网标签标识字段;或者,第一字段为以太网标签标识字段,第二字段为以太网段标识字段。也就是说,第一nlri还包括以太网段标识字段,所以第一nlri的长度为1 1 8 1 6 1 4 3 1 10=36字节,小于39字节,即小于情况b中的nlri的长度。或者,第一nlri还包括以太网标签标识字段,所以第一nlri的长度为1 1 8 1 6 1 4 3 1 4=30字节,小于39字节,即小于情况b中的nlri的长度。
200.情况c1、第一路由为压缩携带mpls label2的mac-ipv4路由(压缩mac-ip route with mpls2)。第一路由对应的非压缩路由为上述情况c所示的携带mpls label2的mac-ipv4路由。
201.参见图9,在情况c1中,第一nlri用于传递mac信息和ip信息,且携带mpls label2,该ip信息包括ip地址,该ip地址为ipv4地址。也就是说,第一路由的必要路由信息还包括ip地址,第一路由的可选路由信息还包括mpls label2,第一nlri的第一字段集合还包括ip地址字段,ip地址字段占用4字节,第一nlri的第二字段集合还包括第二mpls字段。
202.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 6 1 4 3 1=26字节,小于42字节,即小于情况c中的nlri的长度。
203.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。例如,假设第一字段包括以太网段标识字段,第二字段包括以太网标签标识字段和第二mpls标签字段,所以第一nlri的长度为1 1 8 1 6 1 4 3 1 4 3=33字节,小于42字节,即小于情况c中的nlri的长度。
204.情况d1、第一路由为压缩未携带mpls label2的mac-ipv6路由(压缩mac-ipv6 route without mpls label2)。第一路由对应的非压缩路由为上述情况d所示的未携带mpls label2的mac-ipv6路由。
205.参见图8,在情况d1中,第一nlri用于传递mac信息和ip信息,且未携带mpls label2,该ip信息包括ip地址,该ip地址为ipv6地址。也就是说,第一路由的必要路由信息还包括ip地址,第一路由的可选路由信息不包括mpls label2,第一nlri的第一字段集合还包括ip地址字段,ip地址字段占用16字节,第一nlri的第二字段集合不包括第二mpls字段。
206.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 6 1 16 3 1=38字节,小于51字节,即小于情况d中的nlri的长度。
207.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。第一字段为以太网段标识字段,第二字段为以太网标签标识字段;或者,第一字段为以太网标签标识字段,第二字段为以太网段标识字段。也就是说,第一nlri还包括以太网段标识字段,所以第一nlri的长度为1 1 8 1 6 1 16 3 1 10=48字节,小于51字节,即小于情况d中的nlri的长度。或者,第一nlri还包括以太网标签标识字段,所以第一nlri的长度为1 1 8 1 6 1 16 3 1 4=42字节,小于51字节,即小于情况d中的nlri的长度。
208.情况e1、第一路由为压缩携带mpls label2的mac-ipv6路由(压缩mac-ipv6 route without mpls label2)。第一路由对应的非压缩路由为上述情况e所示的携带mpls label2的mac-ipv6路由。
209.参见图9,在情况e1中,第一nlri用于传递mac信息和ip信息,且携带mpls label2,该ip信息包括ip地址,该ip地址为ipv6地址。也就是说,第一路由的必要路由信息还包括ip地址,第一路由的可选路由信息还包括mpls label2,第一nlri的第一字段集合还包括ip地址字段,ip地址字段占用16字节,第一nlri的第二字段集合还包括第二mpls字段。
210.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 6 1 16 3 1=38字节,小于54字节,即小于情况e中的nlri的长度。
211.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。例如假设第一字段包括以太网段标识字段,第二字段包括以太网标签标识字段和第二mpls标签字段,所以第一nlri的长度为1 1 8 1 6 1 16 3 1 4 3=45字节,小于54字节,即小于情况e中的nlri的长度。
212.其中,在第一nlri所承载的第一路由为压缩ip前缀路由的情况,第一nlri是压缩ip前缀型nlri,该压缩ip前缀型nlri用于承载压缩ip前缀路由,即第一nlri用于承载压缩ip前缀路由。
213.在一些实施例中,参见图10所示的第一nlri(压缩ip前缀型nlri),第一nlri的第一字段集合包括路由类型字段、长度字段、路由标识字段、ip前缀长度字段、ip前缀字段以及mpls标签字段,第一nlri的第二字段集合包括:以太网段标识字段、以太网标签标识字段和网关ip地址字段。第一路由的必要路由信息包括路由类型、具体路由信息长度、路由标
识、ip前缀长度、ip前缀以及mpls标签,该路由类型为压缩ip前缀路由,第一路由的可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
214.其中,在第一路由为压缩ip前缀路由的情况,第一路由至少存在如下两种情况11-12。该两种情况的第一路由均为压缩路由,与之对应的非压缩路由为上述情况1-2的两种路由,接下来,以第一指示信息的长度为1字节为例,并分别说明该两种情况下的第一路由和用于承载第一路由的第一nlri的结构。
215.情况11、第一路由为压缩ipv4前缀路由(压缩ipv4 prefix route)。第一路由对应的非压缩路由为上述情况1所示的ipv4前缀路由。
216.在情况11中,该压缩ipv4前缀路由中的ip前缀是ipv4前缀,网关ip地址是ipv4地址,也就是说,用于承载ipv4前缀的ip前缀字段和用于承载网关ip地址的网关ip地址字段均占用4字节。
217.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 4 3 1=18字节,小于36字节,即小于情况1中的nlri的长度。
218.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。例如,假设第一字段为以太网段标识字段和以太网标签标识字段,第二字段为网关ip地址字段所以第一nlri的长度为1 1 8 1 4 3 1 4=22字节,小于36字节,即小于情况1中的nlri的长度。
219.情况12、第一路由为压缩ipv6前缀路由(压缩ipv6 prefix route)。第一路由对应的非压缩路由为上述情况2所示的ipv6前缀路由。
220.在情况12中,该压缩ipv6前缀路由中的ip前缀是ipv6前缀,网关ip地址是ipv6地址也就是说,用于承载ipv6前缀的ip前缀字段和用于承载网关ip地址的网关ip地址字段均占用16字节。
221.在一些实施例中,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合,所以第一nlri的长度为1 1 8 1 16 3 1=30字节,小于60字节,即小于情况2中的nlri的长度。
222.在一些实施例中,第一nlri还包括第二字段集合中的第二字段,在此实施例中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段。例如,假设第一字段为以太网段标识字段和以太网标签标识字段,第二字段为网关ip地址字段,所以第一nlri的长度为1 1 8 1 16 3 1 16=46字节,小于60字节,即小于情况2中的nlri的长度。
223.在第一路由为压缩ethernet auto-discovery route,压缩inclusive multicast ethernet tag route,或,压缩ethernet segment route的情况,第一nlri的结构同上述压缩mac/ip通告型nlri的结构相同,在此不再一一列举说明。
224.在一些实施例,该bgp消息包括多个nlri,每个nlri的结构均为上述介绍的第一nlri的结构。
225.其中,需要说明的是:evpn路由中的必要路由信息和可选路由信息是依据通信标准规定来划分的。可选的,该通信标准包括rfc7432等。
226.例如,通信标准规定所有场景下nlri中都必须包括的字段,将该字段所承载的路由信息规定为必要路由信息。通信标准规定的部分场景下需要使用到nlri中的字段,除该部分场景之外的其他场景将该字段的值设置为默认值或无效值,将该字段所承载的路由信息规定为可选路由信息。如默认值或无效值为0或f,即在该其他场景中,对于nlri中的值被设置为全0或全f的字段,将该字段所承载的路由信息规定为可选路由信息。
227.例如,对于上述以太网段标识,以太网段标识代表接口接入的标识,常用于ce双归或多归于pe场景。对于ce单归pe的场景,以太网段标识可不配置。在不配置以太网段标识的情况,以太网段标识字段的值为全0。
228.对于上述以太网标签标识,以太网标签标识通常代表接入的虚拟局域网(virtual local area network,vlan)。对于通信标准中规定的虚拟局域网感知(vlan-unaware)场景,以太网标签标识字段的值设置全0。
229.对于上述mpls label2,当设备需要发布集成路由与桥接(integrated routing and bridging,irb)路由时,需要nlri携带mpls label2。仅互通二层的场景,设备之间发布mac-only路由时,不需要nlri携带mpls label2。
230.对于上述网关ip地址,ip前缀路由采用接口相关(interface-ful)模式发布路由时,需要nlri携带网关ip地址,在接口无关(interface-less)场景中,nlri中的网关ip地址字段的值设置为全0。
231.步骤602:第一网络设备向第二网络设备发送该bgp消息。
232.在一些实施例中,第一网络设备与第二网络设备之间建立有网络连接,第一网络设备通过该网络连接向第二设备发送该bgp消息。
233.步骤603:第二网络设备接收该bgp消息,基于该bgp消息中的第一指示信息,获取该bgp消息中的第一nlri承载的第一路由。
234.在步骤603中,第二网络设备在该bgp消息中解析得到第一nlri,从第一nlri中解析出第一nlri的第一字段集合和第一指示信息。在第一指示信息指示第一nlri不包括第二字段集合,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息。在第一指示信息指示第一nlri不包括第二字段集合的第一字段,但包括第二字段集合中的第二字段,在第一nlri中解析得到第一指示信息指示的每个第二字段,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息和每个第二字段承载的路由信息。
235.例如,假设第一nlri是上述情况a1列举的nlri,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合。也就是说,第一nlri包括路由类型字段、长度字段、路由标识字段、mac地址长度字段、mac地址字段、ip地址长度字段、第一mpls标签字段和第一指示信息,其中,路由类型字段、长度字段、路由标识字段、mac地址长度字段、mac地址字段、ip地址长度字段、第一mpls标签字段分别用于承载路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、ip地址长度和mpls label1。因此,从第一nlri中获取的第一路由包括路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、ip地址长度和mpls label1。
236.再例如,第一nlri包括第一字段集合和第一指示信息,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,但包括第二字段集合中的第二字段,假设第一字段为以太网段标识字段,第二字段为以太网标签标识字段,以太网标签标识字段用于承
载以太网标签标识。因此,从第一nlri中获取的第一路由包括路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、ip地址长度、mpls label1和以太网标签标识。
237.在一些实施例中,对于上述步骤601的bgp消息,该bgp消息除了上述步骤601介绍的结构外,还可以为如下结构:该bgp消息包括多个nlri,该多个nlri中的每个nlri分别用于通告不同路由,该bgp消息包括公共信息字段和多个专用信息字段,公共信息字段包括该多个nlri的相同信息,该多个专用信息字段与该多个nlri一一对应,该多个专用信息字段中的每个专用信息字段用于承载该每个nlri除该相同信息以外的信息。
238.参见图11或图12,该公共信息字段包括至少一个字段,该相同信息包括至少一个路由信息,该至少一个字段分别用于承载该至少一个路由信息。
239.该多个nlri包括第一nlri和第二nlri。其中,第一nlri用于通告第一路由,第一nlri对应的专用信息字段包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息中除该相同信息之外的路由信息。所以第一字段集合不包括公共信息字段中的字段。
240.在一些实施例中,第一指示信息用于指示第一nlri对应的专用信息字段不包括第二字段集合。
241.在一些实施例中,第一指示信息用于指示第一nlri对应的专用信息字段不包括第二字段集合中的第一字段,以及指示第一nlri对应的专用信息字段包括第二字段集合中的第二字段。第一字段是第二字段集合中的部分字段,第二字段是第二字段集合中除第一字段之外的其他字段。
242.其中,第二nlri用于通告第二路由,第二nlri对应的专用信息字段包括第三字段集合和第二指示信息,第三字段集合中的每个字段分别用于承载第二路由的必要路由信息中除该相同信息之外的路由信息。所以第三字段集合不包括公共信息字段中的字段。
243.在一些实施例中,第二指示信息用于指示第二nlri对应的专用信息字段不包括第四字段集合,第四字段集合中的每个字段分别用于承载第二路由的可选路由信息,第四字段集合不包括第二指示信息。
244.在一些实施例中,第二指示信息用于指示第二nlri对应的专用信息字段不包括第四字段集合中的第三字段,以及指示第二nlri对应的专用信息字段包括第四字段集合中的第四字段。第三字段是第四字段集合中的部分字段,第四字段是第四字段集合中除第三字段之外的其他字段。
245.在一些实施例中,该bgp消息包括第三nlri,第三nlri包括该公共信息字段和该多个专用信息字段,该多个nlri是第三nlri中的多个子nlri。
246.例如,参见图11,上述第一路由和第二路由为压缩mac/ip advertisement route,假设第一路由的必要路由信息包括路由类型、mac地址长度、ip地址长度、mpls label1、路由标识、mac地址和ip地址。第二路由的必要路由信息包括路由类型、mac地址长度、ip地址长度、mpls label1、路由标识、mac地址和ip地址。其中,第一路由中的路由类型、mac地址长度、ip地址长度、mpls label1,分别与第二路由中的路由类型、mac地址长度、ip地址长度、mpls label1相同,第一路由中的路由标识、mac地址、ip地址分别与第二路由中的路由标识、mac地址、ip地址不同。
247.因此,公共信息字段包括路由类型字段、mac地址长度字段、ip地址长度字段和第
一mpls标签字段,路由类型字段、mac地址长度字段、ip地址长度字段和第一mpls标签字段分别用于承载路由类型、mac地址长度、ip地址长度和mpls label1。该多个专用信息字段包括第一nlri对应的第一专用信息字段和第二nlri对应的第一专用信息字段。第一专用信息字段包括路由标识字段、mac地址字段、ip地址字段和第一指示信息,且第一指示信息用于指示第一专用信息字段不包括第二字段集合,该路由标识字段、mac地址字段和ip地址字段分别用于承载第一路由中的路由标识、mac地址和ip地址。第二专用信息字段包括路由标识字段、mac地址字段、ip地址字段和第二指示信息,第二指示信息用于指示第二专用字段还包括第二字段集合中的以太网标签标识字段和第二mpls标签字段同,该路由标识字段、mac地址字段、ip地址字段、以太网标签标识字段和第二mpls标签字段分别用于承载第二路由中的路由标识、mac地址、ip地址、以太网标签标识和mpls label2。
248.再例如,参见图12,上述第一路由和第二路由为压缩ip前缀,假设第一路由的必要路由信息包括路由类型、ip前缀长度、mpls label、路由标识和ip前缀。第二路由的必要路由信息包括路由类型、ip前缀长度、mpls label、路由标识和ip前缀。其中,第一路由中的路由类型、ip前缀长度、mpls label,分别与第二路由中的路由类型、ip前缀长度、mpls label相同,第一路由中的路由标识、ip前缀分别与第二路由中的路由标识、ip前缀不同。
249.因此,公共信息字段包括路由类型字段、ip前缀长度字段和mpls标签字段,路由类型字段、ip前缀长度字段和mpls标签字段分别用于承载路由类型、ip前缀长度、mpls label。该多个专用信息字段包括第一nlri对应的第一专用信息字段和第二nlri对应的第二专用信息字段。第一专用信息字段包括路由标识字段、ip前缀字段和第一指示信息,第一指示信息指示第一专用信息字段还包括以太网段标识字段和以太网标签标识字段,该路由标识字段、ip前缀字段、以太网段标识字段和以太网标签标识字段分别用于承载第一路由中的路由标识、ip前缀、以太网段标识和以太网标签标识。第二专用信息字段包括路由标识字段、ip前缀字段和第二指示信息,第二指示信息指示第二专用信息字段还包括以太网段标识字段和以太网标签标识字段,该路由标识字段、ip前缀字段、以太网段标识字段和以太网标签标识字段分别用于承载第二路由中的路由标识、ip前缀、以太网段标识和以太网标签标识。
250.在一些实施例中,参见图11或12,该公共信息字段包括第一长度字段,第一长度字段用于承载第一信息长度。第一信息长度是该公共信息字段和该多个专用信息字段的总长度。其中,第一长度字段的长度大于或等于1字节,例如,第一长度字段占用2字节。
251.在一些实施例中,该公共信息字段包括第一长度字段和第二长度字段,第一长度字段包括该公共信息字段的长度,第二长度字段用于承载第二信息长度,第二信息长度是该多个专用信息字段的总长度。其中,第一长度字段占用1字节,第二长度字段的长度大于或等于1字节。
252.在一些实施例中,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri对应的专用信息字段不包括第一字段。
253.在一些实施例中,第一指示信息为一个字段,第一指示信息以枚举的方式来指示第一nlri对应的专用信息字段不包括第一字段。
254.在一些实施例中,第二指示信息也包括多个比特,第二指示信息基于比特映射的方式来指示第二nlri对应的专用信息字段不包括第三字段。
255.在一些实施例中,第二指示信息也为一个字段,第二指示信息以枚举的方式来指示第二nlri对应的专用信息字段不包括第三字段。
256.在一些实施例中,对于上述步骤603,第二网络设备从该bgp消息中的公共信息字段和该多个专用信息字段中获取多个路由。在实现时:
257.第二网络设备在该bgp消息中解析得到公共信息字段,基于该公共信息字段包括的第一信息长度或者该公共信息字段包括的该公共信息字段的长度和第二信息长度,从该bgp消息解析得到该多个专用信息字段,该多个专用信息字段包括第一nlri对应的第一专用信息字段和第二nlri对应的第二专用信息字段。从第一专用信息字段中解析出第一nlri的第一字段集合和第一指示信息。在第一指示信息指示第一专用信息字段不包括第二字段集合,获取第一路由,第一路由包括该公共信息字段承载的每个路由信息和第一字段集合中的每个字段承载的路由信息。在第一指示信息指示第一专用信息字段不包括第二字段集合的第一字段,但包括第二字段集合中的第二字段,在第一专用信息字段中解析得到第一指示信息指示的每个第二字段,获取第一路由,第一路由包括该公共信息字段承载的每个路由信息、第一字段集合中的每个字段承载的路由信息和每个第二字段承载的路由信息。
258.同理,从第二专用信息字段中解析出第二nlri的第三字段集合和第二指示信息。在第二指示信息指示第二专用信息字段不包括第四字段集合,获取第二路由,第二路由包括该公共信息字段承载的每个路由信息和第三字段集合中的每个字段承载的路由信息。在第二指示信息指示第二专用信息字段不包括第四字段集合的第三字段,但包括第二字段集合中的第四字段,在第二专用信息字段中解析得到第二指示信息指示的每个第四字段,获取第一路由,第一路由包括该公共信息字段承载的每个路由信息、第三字段集合中的每个字段承载的路由信息和每个第四字段承载的路由信息。
259.例如,参见图11,第二网络设备在该bgp消息中解析得到公共信息字段和该多个专用信息字段,公共信息字段包括路由类型字段、mac地址长度字段、ip地址长度字段和第一mpls标签字段,路由类型字段、mac地址长度字段、ip地址长度字段和第一mpls标签字段分别用于承载路由类型、mac地址长度、ip地址长度和mpls label1。第一专用信息字段包括路由标识字段、mac地址字段、ip地址字段和第一指示信息,第一指示信息用于指示第一专用信息字段不包括第二字段集合,则获取的第一路由包括路由类型、mac地址长度、ip地址长度、mpls label1、路由标识、mac地址、ip地址。第二专用信息字段包括路由标识字段、mac地址字段、ip地址字段和第二指示信息,第二指示信息用于指示第二专用信息字段还包括以太网标签标识字段和第二mpls标签字段,则获取的第二路由包括路由类型、mac地址长度、ip地址长度、mpls label1、路由标识、mac地址、ip地址、以太网标签标识和mpls label2。
260.在本技术实施例中,bgp消息包括第一nlri,第一nlri用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段用于承载第一路由的必要路由信息。第一指示信息用于指示第一nlri不包括第二字段集合,或者,指示第一nlri包括该第二字段集合中的部分字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息。这样接收该bgp消息的设备可以基于该第一指示信息解析出第一nlri承载的路由,解析的路由包括第一路由的必要路由信息,保证解析的路由能够正常可用。由于第一nlri中可以不包括第一字段集合或包括第二字段集合中的部分字段,这样可以减少第一nlri的长度,从而使得bgp消息包括更多的第一nlri,以使得bgp消息包括更多的路由,提高
传输路由的效率。另外,该bgp消息包括公共信息字段和多个专用信息字段,该多个专用信息字段与多个nlri一一对应,该公共信息字段包括该多个nlri的相同信息,该多个nlri包括第一nlri和第二nlri。其中,第一nlri对应的专用信息字段包括第一字段集合和第一指示信息,第一字段集合中的每个字段用于承载第一路由的必要路由信息中除该相同信息之外的其他信息。第一指示信息用于指示第一nlri对应的专用信息字段不包括第二字段集合,或者,指示第一nlri对应的专用信息字段包括第二字段集合中的部分字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息。第二nlri对应的专用信息字段包括第三字段集合和第二指示信息,第三字段集合中的每个字段用于承载第二路由的必要路由信息中除该相同信息之外的其他信息。第二指示信息用于指示第二nlri对应的专用信息字段不包括第三字段集合,或者,指示第二nlri对应的专用信息字段包括第四字段集合中的部分字段,第四字段集合中的每个字段分别用于承载第二路由的可选路由信息。如此可以对每个nlri进行进一步压缩,减小每个nlri对应的专用信息字段的长度,使得bgp消息包括更多的nlri,以使得bgp消息包括更多的路由,进一步提高传输路由的效率。
261.以上介绍了本技术实施例的方法,以下介绍本技术实施例的装置,应理解,以下介绍的装置具有上述方法中第一网络设备或第二网络设备的任意功能。
262.参见图13,本技术实施例提供了一种传输网络层可达信息nlri的装置1300,该装置1300部署在上述图1所示网络架构100中的第一网络设备上,或者,部署在图6所示实施例600提供的第一网络设备上,包括:处理单元1301和收发单元1302,
263.处理单元1301,用于获取边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息;
264.收发单元1302,用于向第二通信装置发送该bgp消息。
265.可选的,处理单元1301获取bgp消息的详细实现过程,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
266.可选的,第一指示信息还用于指示第一nlri包括第二字段集合中的第二字段。
267.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括所述第一字段。
268.可选的,第一指示信息以枚举的方式来指示第一nlri不包括第一字段。
269.可选的,第一指示信息基于比特映射的方式或枚举的方式来指示第一nlri不包括所述第一字段的详细说明,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
270.可选的,该bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,该bgp消息包括公共信息字段和多个专用信息字段,其中,公共信息字段用于承载多个nlri的相同信息,该多个专用信息字段与该多个nlri一一对应,该多个专用信息字段中的每个专用信息字段用于承载该多个nlri中的每个nlri除该相同信息以外的信息。
271.可选的,关于公共信息字段和专用信息字段的详细说明,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
272.可选的,该bgp消息包括第三nlri,其中第三nlri包括该公共信息字段和专用信息字段,其中,该多个nlri是第三nlri中的多个子nlri。
273.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
274.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
275.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
276.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
277.压缩ip前缀路由;
278.压缩以太自动发现路由ethernet auto-discovery route;
279.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
280.压缩以太网段路由ethernet segment route。
281.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
282.可选的,该必要路由信息还包括:因特网协议第4版ipv4地址或因特网协议第6版ipv6地址。
283.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
284.可选的,该可选路由信息还包括:mpls label2。
285.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
286.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
287.在本技术实施例中,处理单元获取的bgp消息中的第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息。收发单元向第二通信装置发送该bgp消息,使得第二通信装置能够从第一nlri中解析得到第一路由的必要路由信息,保证第二通信装置能够正常使用第一路由。由于第一指示信息用于指示第二nlri不包括第二字段集合中的第一字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,减小了第一nlri的长度,从而增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
288.参见图14,本技术实施例提供了一种传输网络层可达信息nlri的装置1400,该装置1400部署在上述图1所示网络架构100中的第二网络设备上,或者,部署在图6所示实施例600提供的第二网络设备上,包括:处理单元1401和收发单元1402,
289.收发单元1402,用于接收边界网关协议bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息;
290.处理单元1401,用于基于该bgp消息获取第一路由。
291.可选的,处理单元1401获取第一路由的详细实现过程,参见图6所示方法600的步骤603中的相关内容,在此不再详细说明。
292.可选的,关于该bgp消息的详细说明,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
293.可选的,第一指示信息还用于指示第一nlri包括第二字段集合中的第二字段。
294.可选的,处理单元1401,用于:
295.在bgp消息中解析得到第一字段集合和第一指示信息;
296.在第一指示信息指示第一nlri不包括第二字段集合,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息;
297.在第一指示信息指示第一nlri还包括第二字段集合中的第二字段,获取第一路由,第一路由包括第一字段集合中的每个字段承载的路由信息和第二字段承载的路由信息。
298.可选的,处理单元1401在第一nlri不包括第二字段集合或第一nlri包括第二字段集合的情况,获取第一路由的详细实现过程,参见图6所示方法600的步骤603中的相关内容,在此不再详细说明。
299.可选的,第一指示信息包括多个比特,第一指示信息基于比特映射的方式来指示第一nlri不包括所述第一字段。
300.可选的,第一指示信息以枚举的方式来指示第一nlri不包括第一字段。
301.可选的,第一指示信息基于比特映射的方式或枚举的方式来指示第一nlri不包括所述第一字段的详细说明,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
302.可选的,bgp消息包括多个nlri,该多个nlri包括第一nlri和第二nlri,其中,bgp消息包括公共信息字段和多个专用信息字段,其中,公共信息字段用于承载多个nlri的相同信息,多个专用信息字段与多个nlri一一对应,多个专用信息字段中的每个专用信息字段用于承载多个nlri中的每个nlri除该相同信息以外的信息。
303.可选的,关于公共信息字段和专用信息字段的详细说明,参见图6所示方法600的步骤601中的相关内容,在此不再详细说明。
304.可选的,bgp消息包括第三nlri,述第三nlri包括公共信息字段和专用信息字段,其中,多个nlri是第三nlri中的多个子nlri。
305.可选的,第一路由为第一以太虚拟专用网络evpn路由,第一nlri为第一evpn nlri。
306.可选的,第一evpn nlri的编码格式与rfc7432所定义的evpn nrli的编码格式不同。
307.可选的,第一evpn nlri包括路由类型字段,该路由类型字段所指示的第一evpn路由为:
308.压缩媒体接入控制/因特网协议通告路由mac/ip advertisement route;
309.压缩ip前缀路由;
310.压缩以太自动发现路由ethernet auto-discovery route;
311.压缩集成组播以太网标签路由inclusive multicast ethernet tag route;或
312.压缩以太网段路由ethernet segment route。
313.可选的,第一evpn路由是压缩mac/ip advertisement route,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、mac地址长度、mac地址、二层多协议标签交换标签mpls label1和ip地址长度。
314.可选的,该必要路由信息还包括:因特网协议第4版ipv4地址或因特网协议第6版ipv6字址。
315.可选的,第一evpn路由是压缩mac/ip advertisement route,该可选路由信息包括:以太网分段标识和以太网标签标识。
316.可选的,该可选路由信息还包括:mpls label2。
317.可选的,第一evpn路由是压缩ip前缀路由,该必要路由信息包括:路由类型、具体路由信息长度、路由标识、ip前缀的长度、ip前缀和mpls label。
318.可选的,该可选路由信息包括:以太网段标识、以太网标签标识和网关ip地址。
319.在本技术实施例中,bgp消息中的第一nlri包括第一字段集合和第一指示信息,第一字段集合中的每个字段分别用于承载第一路由的必要路由信息,这样在收发单元接收到bgp消息后,处理单元能够从该bgp消息中的第一nlri中解析得到第一路由的必要路由信息,保证能够正常使用第一路由。由于第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,从而减小了第一nlri的长度,增加bgp消息包括nlri个数,以增加该bgp消息包括的路由个数,提高路由传递效率。
320.与本技术提供的方法实施例以及虚拟装置实施例相对应,本技术实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
321.参见图15,图15是本技术实施例提供的一种网络设备1500的结构示意图,该网络设备1500可以配置为上述第一网络设备或第二网络设备。
322.网络设备1500包括至少一个处理器1501、通信总线1502、存储器1503以及至少一个物理接口1504。
323.处理器1501可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、微处理器或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
324.通信总线1502用于在上述组件之间传送信息。通信总线1502可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
325.存储器1503可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器
(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1503可以是独立存在,并通过通信总线1502与处理器1501相连接。存储器1503也可以和处理器1501集成在一起。
326.物理接口1504使用任何收发器一类的装置,用于与其它设备或通信网络通信。物理接口1504包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。物理接口1504也称物理口。
327.在具体实现中,作为一种实施例,处理器1501可以包括一个或多个cpu,如图15中所示的cpu0和cpu1。
328.在具体实现中,作为一种实施例,网络设备1500可以包括多个处理器,如图15中所示的处理器1501和处理器1505。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
329.在具体实现中,作为一种实施例,网络设备1500还可以包括输出设备1506和输入设备1507。输出设备1506和处理器1501通信,可以以多种方式来显示信息。例如,输出设备1506可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备1507和处理器1501通信,可以以多种方式接收用户的输入。例如,输入设备1507可以是鼠标、键盘、触摸屏设备或传感设备等。
330.在一些实施例中,存储器1503用于存储执行本技术方案的程序代码1510,处理器1501可以执行存储器1503中存储的程序代码1510以实现相应的功能。例如,程序代码1510中存储的程序可以被调用以实现装置1000中生成模块1001的功能,或实现装置1100中确定模块1102的功能。也即是,网络设备1500可以通过处理器1501以及存储器1503中的程序代码1510,来配合实现前述方法实施例提供的方法。
331.本技术实施例的网络设备1500可对应于上述各个方法实施例中的第一网络设备或第二网络设备,并且,该网络设备1500中的处理器1501、物理接口1504等可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
332.在一些实施例中,装置1300中的处理单元1301相当于网络设备1500中的处理器1501;装置1200中的收发单元1302相当于网络设备1500中的物理接口1504。
333.在一些实施例中,装置1400中的处理单元1401相当于网络设备1500中的处理器1501,装置1400中的收发单元1402相当于网络设备1500中的物理接口1504。
334.参见图16,图16是本技术实施例提供的一种网络设备1600的结构示意图,网络设备1600可以配置为上述第一网络设备或第二网络设备。
335.网络设备1600包括:主控板1610和接口板1630。
336.主控板1610也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板1610对网络设备1600中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1610包括:中央处理器1611和存储器1612。
337.接口板1630也称为线路接口单元卡(line processing unit,lpu)、线卡(line card)或业务板。接口板1630用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、pos(packet over sonet/sdh)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板1630包括:中央处理器1631、网络处理器1632、转发表项存储器1634和物理接口卡(physical interface card,pic)1633。
338.接口板1630上的中央处理器1631用于对接口板1630进行控制管理并与主控板1610上的中央处理器1611进行通信。
339.网络处理器1632用于实现报文的转发处理。网络处理器1632的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
340.物理接口卡1633用于实现物理层的对接功能,原始的流量由此进入接口板1630,以及处理后的报文从该物理接口卡1633发出。物理接口卡1633包括至少一个物理接口,物理接口也称物理口。物理接口卡1633也称为子卡,可安装在接口板1630上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1632处理。在一些实施例中,接口板1603的中央处理器1631也可执行网络处理器1632的功能,比如基于通用cpu实现软件转发,从而物理接口卡1633中不需要网络处理器1632。
341.可选地,网络设备1600包括多个接口板,例如网络设备1600还包括接口板1640,接口板1640包括:中央处理器1641、网络处理器1642、转发表项存储器1644和物理接口卡1643。
342.可选地,网络设备1600还包括交换网板1620。交换网板1620也可以称为交换网板单元(switch fabric unit,sfu)。在网络设备有多个接口板1630的情况下,交换网板1620用于完成各接口板之间的数据交换。例如,接口板1630和接口板1640之间可以通过交换网板1620通信。
343.主控板1610和接口板1630耦合。例如。主控板1610、接口板1630和接口板1640,以及交换网板1620之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1610和接口板1630之间建立进程间通信协议(inter-process communication,ipc)通道,主控板1610和接口板1630之间通过ipc通道进行通信。
344.在逻辑上,网络设备1600包括控制面和转发面,控制面包括主控板1610和中央处理器1631,转发面包括执行转发的各个组件,比如转发表项存储器1634、物理接口卡1633和网络处理器1632。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1632基于控制面下发的转发表对物理接口卡1633收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1634中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
345.如果网络设备1600被配置为第一网络设备,中央处理器1611生成bgp消息。网络处理器1632触发物理接口卡1633向第二网络设备发送该bgp消息。
346.如果网络设备1600被配置为第二网络设备,网络处理器1632从物理接口卡1633接收bgp消息,并基于该bgp消息获取路由。
347.应理解,装置1300中的处理单元1301相当于网络设备1600中的中央处理器1611或中央处理器1631;装置1300中的收发单元1302相当于网络设备1600中的物理接口卡1633或物理接口卡1643。
348.应理解,装置1400中的处理单元1401相当于网络设备1600中的中央处理器1611或中央处理器1631;装置1300中的收发单元1402相当于网络设备1600中的物理接口卡1633或物理接口卡1643。
349.应理解,本技术实施例中接口板1640上的操作与接口板1630的操作一致,为了简洁,不再赘述。应理解,本技术实施例的网络设备1600可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备1600中的主控板1610、接口板1630和/或接口板1640可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
350.值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
351.在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,vm),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,nfv)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本技术即可结合nfv技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备。此处不再赘述。
352.应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。
353.本技术实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运
行时,使得网络设备执行上述方法实施例中第一网络设备执行的方法。
354.本技术实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法实施例中第二网络设备执行的方法。
355.本技术实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,可以用于执行上述应用于指令第一网络设备或第二网络设备执行网络层可达信息传输方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
356.可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
357.可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
358.示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,fpga),可以是专用集成芯片(application specific integrated circuit,asic),还可以是系统芯片(system on chip,soc),还可以是cpu,还可以是np,还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
359.参见图17,本技术实施例提供了一种传输网络层可达信息nlri的系统1700,包括第一网络设备1701和第二网络设备1702。
360.第一网络设备1701可以是上述图1或图6所示实施例提供的第一网络设备,第二网络设备1702可以是上述图1或图6所示实施例提供的第二网络设备。或者,第一网络设备1701可以是上述图13所示实施例提供的装置1300,第二网络设备1702可以是上述图14所示实施例提供的装置1400。
361.一些可能的实施例中,第一网络设备1701用于实现上述方法实施例600中由第一网络设备所执行的操作,第二网络设备1701用于实现上述方法实施例600中由第一网络设备所执行的操作。例如,第一网络设备1701用于获取bgp消息,该bgp消息包括第一nlri,用于通告第一路由,第一nlri包括第一字段集合和第一指示信息,其中,第一字段集合用于承载第一路由的必要路由信息,其中,第一指示信息用于指示第一nlri不包括第二字段集合中的第一字段,其中,第二字段集合中的每个字段分别用于承载第一路由的可选路由信息,其中,第二字段集合不包括第一指示信息;向第二网络设备1702发送该bgp消息。第二网络设备1702接收该bgp消息,基于该bgp消息获取第一路由。
362.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限
于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
363.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
364.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献