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

一种路由管理方法、装置及系统与流程

2022-02-25 23:37:53 来源:中国专利 TAG:

一种路由管理方法、装置及系统
1.本技术要求于2020年07月21日提交国家知识产权局、申请号为202010706089.9、申请名称为“一种路由校验方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及通信领域,一种路由管理方法、装置及系统。


背景技术:

3.在当前的自治系统(autonomous system,as)管理方案中,通常会对as或as之间的商业通告关系或路由的源路由信息进行管理。但是这些管理方式,存在信息不全等问题。


技术实现要素:

4.本技术实施例提供了一种路由管理方法、装置及系统,以减少信息不全等问题。
5.技术方案如下:
6.第一方面,提供了一种路由管理方法,该方法包括如下步骤:获得对应关系,对应关系包括第一自治系统as标识和第二as标识,该对应关系用于指示第一as标识和第二as标识为兄弟as;根据对应关系进行路由管理。
7.通过在路由管理中,将指示第一as标识和第二as标识为兄弟as的信息考虑在内,可以使得路由管理的信息更全面。
8.在一种可能的设计中,上述根据对应关系进行路由管理,包括:根据对应关系确定路由消息有效。
9.通过在确定路由消息是否有效的过程中,将兄弟as的信息考虑在内,减少出现误判的问题,并进一步使得路由消息判断的结果准确率更高。
10.在一种可能的设计中,在根据对应关系确定路由消息有效之前,还包括如下步骤:根据路由起源授权roa信息确定路由消息无效,这里的路由消息无效包括:路由消息的路由被劫持;或根据商业关系信息确定路由消息无效,这里的路由消息无效包括:路由消息发生路由泄漏。
11.通过与已有的roa或商业关系信息的结合,可以使得原有的可能被误判为无效的路由消息确定为有效,进一步使得路由消息判断的结果准确率更高。
12.在一种可能的设计中,上述路由消息包括第一路由前缀和第三as标识,该路由消息指示第三as为第一路由前缀的源as,上述根据roa信息确定路由消息无效,包括如下步骤:根据roa信息确定第一路由前缀被第三as劫持,该roa信息指示第二路由前缀的源as为第二as,第一路由前缀与第二路由前缀对应;根据对应关系确定路由消息有效,包括如下步骤:根据第三as标识与第一as标识相同,确定路由消息未被第三as标识劫持。
13.通过与已有的roa信息的结合,可以使得原有的可能被误判为路由劫持的路由消息确定为有效,进一步使得路由消息判断的结果准确率更高。
14.在一种可能的设计中,上述路由消息包括第一路由前缀、第三as标识和第四as标识,第三as标识与第四as标识在路由消息的as路径中相邻,根据商业关系信息确定路由消息无效,包括:校验第一路由前缀由第三as泄漏给第四as,上述根据对应关系确定路由消息有效,包括如下步骤:根据第四as标识与第一as标识相同以及满足第一条件确定路由消息未被第三as泄漏,第一条件包括:第三as标识与第二as标识相同,或路由消息包括的源as id与所述第二as标识相同。其中,该源as id可以为上述第四as,也可以为其他as。
15.通过与已有的roa信息的结合,可以使得原有的可能被误判为路由泄漏的路由消息确定为有效,进一步使得路由消息判断的结果准确率更高。
16.在一种可能的设计中,在确定上述路由消息有效之后,还包括如下步骤:将路由消息对应的校验状态更新为有效。
17.将该路由消息的校验状态更新有效后,可以使得该路由消息不必被多次校验,进而可以减少其他设备或者其他功能模块再次校验或再次误判的可能。
18.在一种可能的设计中,上述获得对应关系,包括:接收第一消息,第一消息中包括上述对应关系。
19.可以通过接收的消息中直接携带上述对应管理的方式获得对应关系,减少本地处理的压力。
20.在一种可能的设计中,上述第一消息由资源公钥基础设施rpki服务器发送,该第一消息中包括兄弟as协议数据单元pdu,pdu中包括第一as标识和第二as标识。
21.在一种可能的设计中,该第一消息还包括组织标识和/或兄弟as数。
22.通过接收rpki服务器发送的消息,将本技术方案融入已有系统,进一步提高本技术方案的实用性。通过定义与rpki服务器直接交互的消息的格式,可以进一步降低本技术方案应用的难度。
23.在一种可能的设计中,该路由消息为边界网关协议bgp消息。
24.在一种可能的设计中,上述根据所述对应关系进行路由管理,包括如下步骤:向接收设备发送消息,消息包括对应关系,该消息用于使接收设备根据对应关系进行路由分析。
25.通过发送该指示兄弟as的对应关系,进行间接的路由管理,可以使得接收该对应关系的设备进行路由管理时获得的信息更全面。
26.在一种可能的设计中,上述获得对应关系,包括如下步骤:获得第一as标识和第二as标识;确定第一as标识和第二as标识为兄弟as;生成上述对应关系。
27.通过获得的第一as标识和第二as标识确定兄弟as,生成对应关系,提供一种更智能化的方案。
28.在一种可能的设计中,第一方面以及第一方面的各种可能的设计的技术应用于资源公钥基础设施rpki系统中。
29.通过将本技术方案融入已有的rpki系统,可以进一步提高本技术方案的实用性。
30.第二方面,提供了一种路由管理方法,该方法包括如下步骤:获得第一自治系统as标识和第二as标识;发送消息,该消息包括第一as标识和第二as标识,该消息用于指示第一as标识和第二as标识为兄弟as。
31.在一种可能的设计中,该消息还包括组织标识和/或as数量。
32.在一种可能的设计中,第一as标识和第二as标识携带在该消息的兄弟as协议数据
单元pdu中。
33.通过发送该指示兄弟as的对应关系,进行间接的路由管理,可以使得接收该对应关系的设备进行路由管理时获得的信息更全面。
34.第三方面,提供了一种路由管理装置,包括:处理单元,用于获得对应关系,该对应关系包括第一自治系统as标识和第二as标识,该对应关系用于指示第一as标识和第二as标识为兄弟as;该处理单元,还用于根据对应关系进行路由管理。
35.在一种可能的设计中,该处理单元,用于根据对应关系确定路由消息有效。
36.在一种可能的设计中,在处理单元用于确定路由消息有效之前,处理单元还用于:根据路由起源授权roa信息确定路由消息无效,路由消息无效包括:路由消息的路由被劫持;或根据商业关系信息确定路由消息无效,路由消息无效包括:路由消息发生路由泄漏。
37.在一种可能的设计中,该路由消息包括第一路由前缀和第三as标识,该路由消息指示第三as为第一路由前缀的源as,该处理单元用于:根据roa信息确定第一路由前缀被第三as劫持,roa信息指示第二路由前缀的源as为第二as,第一路由前缀与第二路由前缀对应;该处理单元还用于:根据第三as标识与第一as标识相同,确定路由消息未被第三as标识劫持。
38.在一种可能的设计中,该路由消息包括第一路由前缀、第三as标识和第四as标识,第三as标识与第四as标识在路由消息的as路径中相邻,处理单元用于:确定第一路由前缀由第三as泄漏给第四as;该处理单元还用于:根据第四as标识与第一as标识相同以及满足第一条件确定路由消息未被第三as泄漏,该第一条件包括:第三as标识与第二as标识相同,或路由消息包括的源as标识与第二as标识相同。
39.在一种可能的设计中,该处理单元,还用于:将路由消息对应的确定状态更新为有效。
40.在一种可能的设计中,该路由管理装置还包括接收单元,该接收单元用于接收第一消息,第一消息包括所述对应关系。
41.在一种可能的设计中,该路由管理装置还包括发送单元,用于向接收设备发送消息,该消息包括对应关系,该消息用于使接收设备根据对应关系进行路由分析。
42.在一种可能的设计中,该处理单元,还用于获得第一as标识和第二as标识;确定第一as标识和第二as标识为兄弟as;生成对应关系。
43.第四方面,提供了一种as管理装置,该装置包括:处理单元,用于获得第一自治系统as标识和第二as标识;发送单元,用于发送消息,该消息包括第一as标识和第二as标识,该消息用于指示第一as标识和第二as标识为兄弟as。
44.在一种可能的设计中,该消息还包括组织标识和/或as数量。
45.在一种可能的设计中,第一as标识和第二as标识携带在消息的兄弟as协议数据单元pdu中。
46.第五方面,提供了一种路由管理设备,该路由管理设备包括处理器和通信接口,该处理器用于执行指令,使得该路由管理设备执行上述第一方面或第一方面任一种可选方式所提供的方法,所述通信接口用于接收或发送报文。第五方面提供的路由管理设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
47.第六方面,提供了一种as管理设备,该as管理设备包括处理器和通信接口,该处理
器用于执行指令,使得该as管理设备执行上述第二方面或第二方面任一种可选方式所提供的方法,所述通信接口用于接收或发送报文。第六方面提供的as管理设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
48.第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使路由管理设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
49.第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使as管理设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
50.第九方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。路由管理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该路由管理设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
51.第十方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。as管理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该as管理设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
52.第十一方面,提供了一种芯片,当该芯片在路由管理设备上运行时,使得路由管理设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
53.第十二方面,提供了一种芯片,当该芯片在as管理设备上运行时,使得as管理设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
54.第十三方面,提供一种路由管理设备,该路由管理设备包括:主控板和接口板,进一步,还可以包括交换网板。该路由管理设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该路由管理设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的单元。
55.第十四方面,提供一种as管理设备,该as管理设备包括:主控板和接口板,进一步,还可以包括交换网板。该as管理设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,该as管理设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的单元。
56.第十五方面,提供了一种通信系统,该通信系统包括路由管理设备和/或as管理设备。例如,该通信系统包括上述第三方面、第五方面、第十三方面中任一项提供的路由管理设备,或该通信系统包括上述第四方面、第六方面、第十四方面中任一项提供的as管理设备。
附图说明
57.图1为本技术实施例提供的路由劫持误判场景示意图;
58.图2为本技术实施例提供的一种网络系统示意图;
59.图3a为本技术实施例提供的一种路由管理方法示意图;
60.图3b为本技术实施例提供的一种as管理方法示意图;
61.图4为本技术实施例提供的一种协议数据单元格式示意图;
62.图5为本技术实施例提供的一种防止落劫持误判方法示意图;
63.图6为本技术实施例提供的一种路由管理装置结构示意图;
64.图7为本技术实施例提供的一种路由管理装置结构示意图;
65.图8为本技术实施例提供的一种as管理装置结构示意图;
66.图9为本技术实施例提供的一种网络设备结构示意图;
67.图10为本技术实施例提供的一种网络设备结构示意图;
68.图11为本技术实施例提供的一种路由管理系统结构示意图。
具体实施方式
69.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
70.本技术中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”和“第三”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
71.以下,介绍本技术涉及的术语:
72.兄弟(sibling)自治系统(autonomous system,as):由同一个或不同组织进行管理或运营的两个或两个以上as可以称为兄弟as。所述组织可以包括运营商、网络集团、网络服务提供商(internet service provider,isp)、公司等等。下面对兄弟as进行示例性介绍:
73.1.a组织存在两个子组织,这两个子组织分别管理或运营的两个或两个以上as可以为兄弟as。
74.2.a组织负责为b、c组织运营网络,这两个组织分别有不同的as标识,在某些情况下,如获得了b、c组织的同意时,也可以将a组织运营的属于b、c组织的as认为为兄弟as。
75.3.a组织和b组织分别拥有和管理不同的网络,对应不同的as标识,在某些情况下,如经a、b组织的同意等,也可以将a、b组织对应的as标识认为为兄弟as。
76.源as:在一个路由通告消息或者路由信息中,通常包括路由前缀和as路径(path)信息,该as path信息可以携带在bgp的对应属性中,在as path中,包括了源as标识。在一个示例中,可以把在as path上的最后边第一个as标识视为该路由前缀的源as,即,表明该路由前缀由该源as发布。在一个示例中,as path上的最后边第一个as标识常常可以为as path中的最右侧的as,如当as path为(123456567)时,可以将567视为源as。如当as path为(abc abc def def ghi ghi)时,可以将ghi视为源as。
77.相邻as:在路由消息的as path中,两个as标识如果为前后顺序,则可以认为该两个as标识相邻,如当as path为(123 456 567)时,可以认为123与456相邻,456分别于123、567相邻,567与456相邻。如当as path为(abc abc def def ghi ghi)时,可以认为abc与def相邻,def分别与abc、ghi相邻,ghi与def相邻。
78.路由劫持:在路由通告的过程中,路由通告报文,即路由消息中对应的路由的as path的信息可能会被修改,当该路由的源as标识id被途经的其他as域或设备修改为其他id值后,可以认为发生了路由劫持,即该路由被修改后的源as劫持了。关于路由劫持的相关内
容,还可以参考下方相关技术部分的详细描述。
79.路由泄漏:在as邻居商业关系中,规定了路由信息的发布规则,一旦一条路由中的as path中包括的至少2个as标识中的内容与路由信息的发布规则不符,则认为可能发生了路由泄漏。关于路由泄漏的相关内容,还可以参考下方相关技术部分的详细描述。
80.以下,简单介绍本技术实施例涉及的相关技术:
81.当前互联网(internet)基础设施主要包括:域间路由系统,如边界网关协议(border gateway protocol,bgp)、域名系统(domain name system,dns)和公钥证书体系,如公钥基础设施(public key infrastructure,pki)。几乎所有的internet服务都依赖于基础设施来保证网络连通性、服务可用性和服务可信性。
82.在这个架构下,基于bgp路由的安全攻击每天都在发生,每年都存在数万起攻击。如源劫持、路径劫持、路由泄露等。而bgp本身对路由学习并无安全认证机制,为了解决bgp路由被劫持等问题,业界提出了通过验证bgp路由起源是否正确的解决方案——资源公钥基础设施(resource public key infrastructure,rpki),通过分布式的rpki服务器收集各个互联网服务提供商(internet service provider,isp)发起的bgp路由起源as标识、路由前缀、掩码等信息。路由器跟rpki服务器建立连接,在本地保存一份路由起源授权(route origination authorization,roa)数据,用以验证从外部邻居收到的bgp前缀是否有效或合法,确保其管理域内主机能够安全访问外部的服务。
83.路由劫持误判场景,可以参见如下描述:
84.路由器从外部bgp邻居收到bgp路由更新报文,在将该报文中的路由加入bgp路由表前先根据路由前缀和as标识验证origin as的正确性,则可以根据验证结果调整路由的属性,影响bgp的选路结果。如果该路由的验证结果为有效,则路由器可以根据标准定义的扩展团体属性,把优选路由及验证结果,通过bgp路由发布给其内部邻居。如果该路由的验证结果为无效,则可能认为该路由被路由劫持了,则丢弃该路由或者降低该路由的优选顺序。
85.下面通过一个示例来介绍路由劫持误判的情况,图1为本技术实施例提供的路由劫持误判场景示意图,如图1所示:
86.如isp1存在两张网络,其中骨干网的as标识为as1,城域网的as标识为as11。在一些情况中,该骨干网发布一个包含较大地址块的路由前缀(例如10.132.0.0/17),并且安排该isp的子网如城域网发布该路由前缀的子路由前缀,例如将10.132.51.0/24分配给该城域网。
87.isp1为as1签发了roa:10.132.0.0/17-17,as1,该roa可被理解为:路由前缀:10.132.0.0,掩码:17,允许的最大掩码长度:17,源as:as1。而isp1未为子网签发roa,如:10.132.51.0/24。签发的roa信息如表1所示:
88.表1
[0089] as前缀(prefix)/掩码(mask)签发roa骨干网as110.132.0.0/1710.132.0.0/17-17,as1子网1as1110.132.51.0/24未签发
[0090]
骨干网as1和子网1as11在网络中发布各自的路由前缀后,这些路由前缀会被连接到internet的各个网络通过路由消息接收到,如isp2的网络,其as标识为as2。
[0091]
当启用roa的网络如上述isp2的网络中as2的设备接收到上述2条路由前缀对应的路由消息后,对接收到的路由消息做起源验证:
[0092]
路由消息1:路由前缀:10.132.0.0/17,该路由消息中包括的aspath为如:(as11 as1),表明路由前缀10.132.0.0/17对应的源as为as1。则设备可以使用(as1,10.132.0.0/17)去查询roa数据库,命中roa表项:10.132.0.0/17-17,as1,验证结果为:有效(valid)。
[0093]
路由消息2:路由前缀:10.132.51.0/24,其路由消息中包括的as path为如(as2,as11),表明路由前缀10.132.51.0/24对应的源as为as11。使用(as11,10.132.51.0/24)去查询roa数据库,没有被命中的roa表项,验证结果为:无效(invalid),则可判定为路由劫持。
[0094]
在这种情况下,骨干网as1和城域网as11属于同一个公司,只是ip地址空间的分配和roa注册存在问题,导致城域网的路由前缀发布之后被判定为“路由劫持”,实际这是一个假的“路由劫持”,但这可能随之会带来严重的网络连通性问题。
[0095]
路由泄漏误判场景,可以参见如下描述:
[0096]
基于商业利益最大化原则,isp网络采用的路由发布策略规则概括如下:
[0097]
1)来自customer as宣告的路由允许传递给customer、peer和provider。
[0098]
2)来自peer as宣告的路由允许传递给customer,不允许通告给其他的peer和provider。
[0099]
3)来自provider as宣告的路由允许传递给customer,不允许通告给其他的peer和provider。
[0100]
如果违反了如上路由发布策略,就可以认为是出现了路由泄露。在相关技术中,可能存在属于相同公司的不同as之间传递路由,被误判为路由泄漏的问题。如:一个provider a,购买了providerb的服务。如b公司通告给a的一条路由消息,其路由前缀为:10.132.51.0/24,而其as路径(path)的值为(as1as11as2),其中,as2为该路由前缀的源as,表明,该路由由as2通告到了as11,再经as11通告到了as1。其中as2为b公司的as,as11为providera的as标识。在网络设备或路由分析系统基于商业关系分析路由时,认为providerb通告的路由可以传递给provider a,但是不允许通告给其他的peer和provider,判断该路由前缀被as11泄漏给了as1。但是,在这个示例中,as1也为provider a的另一个网络的as标识。但是在这种情况下,该路由会被确定(这里的确定也可以称为:校验)为发生了路由泄漏,违反了路由通告规则,可能随之会带来严重的网络连通问题。
[0101]
本技术实施例提供了一种as管理的技术方案,通过构建兄弟as(sibling as)信息,提高as管理方案信息的全面性,并进一步避免出现路由泄漏/路由劫持的误判等问题,在本技术方案中,设备上处理路由(路由劫持或路由泄漏)分析时,将sibling as数据集(dataset)作为考虑的关键因素之一,提升分析的准确度。
[0102]
图2为本技术提供的一种网络场景示意图,在该网络场景中包括3个as,as1、as11和as2,其中as1和as11属于同一个isp,即,as1和as2互为sibling as。as1中包括网络设备1,as11中包括网络设备2,as2中包括网络设备3和网络设备4,其中,网络设备1和网络设备2、网络设备3相连,网络设备2和网络设备1、网络设备3相连,网络设备3和网络设备1、网络设备2和网络设备4相连。可以将网络设备1和网络设备2视为网络设备3的外部边界网关协议(external border gateway protocol)对等体(peer),其中,peer也可以被称为邻居。网
络设备4和网络设备3可以互为内部边界网关协议(internal border gateway protocol,ibgp)peer。以上,网络设备1、网络设备2、网络设备3和网络设备4,可以为路由器、交换机或其他任何支持路由功能的物理或虚拟网络设备。该网络中还可以包括更多的as或更多的网络设备,在此不再一一示出。可选的,该网络中还可以包括rpki存储服务器(rpki cache server),该rpki服务器,也可以被称为rp服务器,如rp1、rp2、rpn。网络设备1、网络设备2或网络设备3可以从相连的rpki cache server获得roa信息,用于校验其获得的bgp路由消息是否有效。在图2中rpki cache server的存放位置仅做示例,rpki cache server可以由各个isp自行部署。可选的,该网络中还可以包括路由分析设备,该路由分析设备包括控制器、网络管理设备或路由集中分析设备中的任意一个或多个。路由分析设备可以是具有路由分析功能的服务器、路由器等设备,其可以是具体的实体设备,也可以是虚拟设备。路由分析设备可以结合从各个网络设备或其他任何地方(如:管理人员输入或导入,或其他系统)获得的包括路由和as path的路由信息以及包括as标识的as信息,进行路由分析。可选的,该网络中还可以包括信任锚(trust anchors,ta),该ta可以与rp服务器同步信息,使得rp能够从ta获得as相关的各种信息。
[0103]
以上,简单介绍了本技术实施例的相关技术,以下,对本技术的方法实施例进行示例性介绍。参见图3a,图3a是本技术实施例提供的一种路由管理方法的流程图,图3a所示的方法实施例300包括如下步骤:
[0104]
s303:获得对应关系,所述对应关系包括第一as标识和第二as标识,该对应关系用于指示第一as标识和第二as标识为兄弟as。
[0105]
在一个示例中,设备可以在获得第一as标识和第二as标识之后,确定第一as标识和第二as标识为兄弟as,并生成对应关系,该对应关系包括第一as标识和第二as标识,该对应关系表明第一as标识和第二as标识为兄弟as。
[0106]
在另一个示例中,设备也可以接收其他设备发送的消息,该消息中包括第一as标识和第二as标识,该消息用于指示第一as标识和第二as标识为兄弟as。即,在这里,可以将设备接收到的该消息认为为接收了上述对应关系。设备可以在接收到消息后保存该对应关系。也可以在接收到该消息后即使用该对应关系。
[0107]
以上两种示例中的设备可以包括路由管理设备。
[0108]
以下,结合图2所示的场景,示例性介绍设备获得对应关系的步骤,本步骤可以包括但不限于以下四种情况:
[0109]
情况1、互联网注册管理机构(regional internet registry,rir)的ta获得第一as标识和第二as标识。
[0110]
在一个示例中,该过程为:各个拥有as标识的组织将自己的as数据信息上报给自己所在的rir。在一个示例中,这些组织上报的信息包括:组织标识(organization identifier),兄弟as列表,在该兄弟as列表中,包括该组织管理的多个as标识,即:包括上述第一as标识和第二as标识。
[0111]
在另一个示例中,rir也可以在为组织分配as之后,即将该第一as标识和第二as标识信息保存于ta中,生成上述对应关系。
[0112]
情况2、rp服务器获得第一as标识和第二as标识。
[0113]
rp服务器获得第一as标识和第二as标识的方式包括但不限于如下两种方式:
[0114]
方式一:rp服务器或rp服务器对应的管理人员通过分析全球互联网(internet)路由表、各种internet公开数据,生成1个或多个具有sibling关系的as信息,该as信息中包括第一as标识和第二as标识。如,internet路由表中,两条路由的前缀几乎相同,且对应的掩码位数仅相差2位,对应的源as分别为as1、as2,则rp服务器可以通过该路由表确定as和as2为兄弟as。如internet公开了某公司拥有as1,其子公司拥有as2,则rp服务器可以通过该信息确定as1和as2为兄弟as。如果是由管理人员分析得到的上述第一as标识和第二as标识,则管理人员可以通过配置的方式将该第一as标识和第二as标识配置到rp服务器上。即:rp服务器可以通过分析的方式或者接收手动配置的方式获得第一as标识和第二as标识。rp服务器自行分析的情况下,rp服务器中可以预置有相关程序代码分析获得上述对应关系。
[0115]
方式二:rp服务器可以与一个或多个上述ta服务器相连,并获得各个ta服务器发送的第一as标识和第二as标识。在一个示例中,ta可能通过发送证书的方式发送该第一as标识和第二as标识。即:rp服务器可以从ta发送的证书中获得该第一as标识和第二as标识,并根据该信息中的如组织信息相同,或该信息中包括了指明第一as标识和第二as标识为兄弟as,生成上述兄弟as关系。
[0116]
情况3、网络中的网络设备获得第一as标识和第二as标识。
[0117]
应用于图2所示的场景中,该网络设备可以为图2中的网络设备1、网络设备2、网络设备3或网络设备4。
[0118]
网络设备获得第一as标识和第二as标识的方式包括但不限于如下两种方式:
[0119]
方式一:网络设备获得配置的第一as标识和第二as标识,如:接收管理人员通过网络管理系统、设备管理接口、命令行或其他形式配置的第一as标识和第二as标识,并将第一as标识和第二as标识配置为兄弟as。
[0120]
方式二:网络设备可以获得rp服务器发送的对应关系。
[0121]
可选的,rp服务器向网络设备发送第一as标识和第二as标识时,可以通过rpki路由协议(rpkirouter protocol)将第一as标识和第二as标识信息发送给网络设备,rp服务器发送的消息表明第一as标识和第二as标识为兄弟as,即,网络设备获得上述对应关系的方式包括:接收rp服务器发送的该对应关系。rpki路由协议的具体细节请参考扩展请求注解(request for comments,rfc)8210的定义,rfc8210的全部内容通过引用结合在本技术中。
[0122]
在一个示例中,可以定义一个sibling as协议数据单元(protocol data unit,pdu),携带上述对应关系,该sibling as pdu的格式可如图4所示。
[0123]
其中各字段定义如下:
[0124]
protocol version:协议版本号,占1字节,其值为一个待标准组织正式分配的数值,目前已经分配到2。
[0125]
pdu type:协议数据单元类型,占1字节,其值为一个待标准组织正式分配的数值,目前已经分配到11。
[0126]
zero1:零区域1,可占2字节,可填充为0。
[0127]
length:长度字段
[0128]
zero2:零区域2,可占1字节,可填充为0。
[0129]
兄弟as数量(sibling as count):本pdu中封装sibling as的个数,可占2字节。
[0130]
组织标识(organization identifier):占4字节。
[0131]
sibling autonomous system number(s):一个或多个as编号,这里的as编号即本技术实施例中的as标识,也可以将这个部分理解为兄弟as列表,其包括的as编号的个数由前面的sibling as count确定,每个as编号占4字节。
[0132]
这里的sibling as pdu仅为对应关系携带方式可能的示例之一,格式可以变化,能在协议报文中携带表明第一as标识和第二as标识为兄弟as的信息即可。
[0133]
情况4、网络中的路由分析设备获得第一as标识和第二as标识。
[0134]
同样,路由分析设备获得第一as标识和第二as标识的方式包括但不限于如下几种方式:
[0135]
方式一:获得上述网络设备发送的上述第一as标识和第二as标识。在一个示例中,网络设备还发送与第一as标识和第二as标识对应的组织标识,路由分析设备可以通过获得的第一as标识、第二标识和组织标识确定第一as标识和第二as标识为兄弟as,并生成对应关系,指示第一as标识和第二as标识为兄弟as。在另一个示例中,网络设备发送的消息中即包括了对应关系,该对应关系指示第一as标识和第二as标识为兄弟as,路由分析设备从该消息获得对应关系。
[0136]
方式二:获得rp服务器发送的上述第一as标识和第二as标识。在一个示例中,rp服务器还发送与第一as标识和第二as标识对应的组织标识,路由分析设备可以通过获得的第一as标识、第二标识和组织标识确定第一as标识和第二as标识为兄弟as,并生成对应关系,指示第一as标识和第二as标识为兄弟as。在另一个示例中,rp服务器发送的消息中即包括了对应关系,该对应关系指示第一as标识和第二as标识为兄弟as,路由分析设备从该消息获得该对应关系。
[0137]
方式三:获得ta发送的上述第一as标识和第二as标识。在一个示例中,ta还发送与第一as标识和第二as标识对应的组织标识,路由分析设备可以通过获得的第一as标识、第二标识和组织标识确定第一as标识和第二as标识为兄弟as,并生成对应关系,指示第一as标识和第二as标识为兄弟as。在另一个示例中,t发送的消息中即包括了对应关系,该对应关系指示第一as标识和第二as标识为兄弟as,路由分析设备从该消息获得该对应关系。
[0138]
方式四:获得管理人员配置的对应关系,该对应关系包括上述第一as标识和第二as标识。
[0139]
方式五:获得各组织的人员上报的第一as标识和第二as标识,并通过获得的第一as标识和第二标识生成对应关系,或从上报的消息中获得该对应关系。
[0140]
这几种方式与上述3种情况中获得第一as标识和第二as标识的相关部分的内容类似,本技术在此不再赘述。
[0141]
以上,当获得第一as标识和第二as标识的方式有多种时,也可以通过以上的多种方式获得对应关系,以及更多的siblingas信息。
[0142]
在一个示例中,当设备接收到相关设备发送的第一as标识和第二as标识时,该信息可能为加密信息,设备可以通过解密等操作获得明文的第一as标识和第二as标识。
[0143]
可选的,该第一as标识和第二as标识携带在兄弟as列表中。
[0144]
设备可以通过一个消息中获得第一as标识和第二as标识,也可以通过不同的消息获得第一as标识和第二as标识。当设备通过同一个消息获得第一as标识和第二as标识时,
设备可能在获得第一as标识或第二as标识时即确定该第一as标识和第二as标识为兄弟as。当设备通过不同的消息获得第一as标识和第二as标识时,设备也可以根据其他相关的信息分析出第一as标识和第二as标识为兄弟as。如根据第一as标识和第二as标识对应的组织信息相同、或第一as标识与第二as标识相关的路由前缀信息是包括关系等等。
[0145]
对应于上述多种情况,设备在获得上述对应关系之后,可以保存相应的对应关系,表明第一as和第二as为兄弟as。以上情况1-情况4中的设备生成的对应关系的方式类似,在此仅做示例性介绍,不再针对各种情况一一赘述。在一个示例中,该保存的对应关系包括第一as标识和第二as标识,该对应关系可以被称为siblingas dataset,其形式可如下表1所示:
[0146]
表1
[0147]
organization identifier(id)sibling as号(numbers)id1as11 as12 as13id2as21 as22id3as31 as32 as33 as34
……
[0148]
如第一行所示,组织id为id1的组织,其包括有3个as号:as11,as12和as13,这3个as互为兄弟as,即第一as标识和第二as标识可以为其中的任意一个as。其中,as号为as标识的一种具体示例。如第二行所示,组织id为id2的组织,其包括有2个as:as21和as22,这2个as互为兄弟as,即第一as标识和第二as标识可以为其中的任意一个as。如第三行所示,组织id为id3的组织,其包括有4个as:as31,as32,as313和as34,这4个as互为兄弟as,即第一as标识和第二as标识可以为其中的任意一个as。
[0149]
应用到图2所示的场景中,网络设备3保存的对应关系可如下表2所示:
[0150]
表2
[0151]
organization identifiersibling as number(s)id1as1 as11
[0152]
其表明as1和as2为id号为id1组织的兄弟as,其中第一as标识可以为as1,也可以为as2,第二as标识为该兄弟as列表中的与第一as标识不同的任一as。
[0153]
在另一个可能的示例中,设备保存的对应关系还可如下表3所示:
[0154]
表3
[0155]
prefix/mask源as sibling as number(s)
[0156]
10.132.0.0/17as1 as11
[0157]
其表明,as1为发布10.132.0.0/17的源as,而as11为as1的兄弟as。在这种示例中,设备在接收的消息中还可以包括该路由前缀,或设备已获得该路由前缀和源as信息。
[0158]
在另一个可能的示例中,设备保存的对应关系还可如下表4和表5所示:
[0159]
表4
[0160]
organization identifieras numberid1as1
[0161]
表5
[0162]
organization identifieras numberid1as11
[0163]
表4表明,id1的组织对应as号为as1,表5表明,id1的组织对应的as号为as11。即,设备获得的对应关系可以是直接通过一个表或一个具体的形式表示,也可以通过两个或两个以上的表或其他任何形式表示。只要该设备可以通过对应关系确定两个as为as兄弟as即可。
[0164]
s305:根据对应关系进行路由管理。
[0165]
设备获得上述兄弟as的对应关系后,可以基于该对应关系进行路由管理,设备基于对应关系进行路由管理包括该设备进行直接的路由管理或进行间接的路由管理。
[0166]
在一个示例中,设备进行间接的路由管理可以包括:设备在获得对应关系后,还发送该对应关系给其他设备,比如路由分析设备,使得接收该对应关系的设备可以基于该对应关系进行直接的路由管理,如路由分析。如网络设备3可以将其获得的对应关系发送给路由分析设备,使得路由分析设备可以根据该对应关系进行路由分析。或rp服务器可将其获得的对应关系发送给网络设备3,使得网络设备3可以根据该对应关系进行路由消息校验。
[0167]
在另一个示例中,设备根据该对应关系进行直接的路由管理可以包括:根据对应关系进行路由分析,以减少由于设备上的as信息不足,导致的分析不全面、或路由劫持、路由泄漏误判等情况。下面结合s307-s311对这种直接路由管理的场景进行介绍。
[0168]
s307:获得路由消息,该路由消息包括路由前缀和第三as标识。
[0169]
设备在执行s305之前,可以先执行s307。
[0170]
对应于以上情况1-情况4中的各种设备获得路由消息的方式类似,包括但不限于以下一种或多种:接收其他设备,如网络设备发送的路由消息,或获得管理人员导入、配置的一条或多条路由消息。获得的路由消息中包括路由前缀和第三as标识。在一个示例中该路由消息为bgp更新消息。设备在获得路由消息后,可以存储该路由消息以备使用或校验,或是,在接收到该路由消息后即进行校验。
[0171]
本技术对s307与s303的执行顺序不做限定,即,设备可以先获得第一as标识和第二as标识,也可以先获得路由消息。
[0172]
在一个示例中,设备进行直接的路由管理可以包括以下内容,即s305可以包括以下s309和/或s311。
[0173]
s309:根据roa或商业关系信息校验路由消息无效。
[0174]
设备可以根据获得的roa信息校验路由消息中包括的路由前缀是否被路由劫持。在这种场景中,第三as标识为该路由消息中的源as。
[0175]
在设备获得的roa信息中也包括一个路由前缀,为便于理解,将设备获得路由消息中的路由前缀称为第一路由前缀,将设备获得的roa中的路由前缀称为第二路由前缀。该第一路由前缀与第二路由前缀对应,这些路由前缀中均包括掩码,这里的两个路由前缀对应可理解为:第一路由前缀和第二路由前缀的掩码长度不同,但其对应的ip地址范围为包括关系,即:第二路由前缀可最长匹配到第一路由前缀,或第一路由前缀可最长匹配到第二路由前缀。
[0176]
示例a:如上相关技术部分所述的路由劫持误判场景中,设备根据roa信息错误的校验该路由前缀10.132.51.0/24被as11劫持。
[0177]
设备也可以根据商业关系信息校验该路由消息是否发生了路由泄漏。在这种场景中,第三as标识为该路由消息中的被判定为泄漏了路由的as。该路由消息中还包括第四as,该第四as可以为该路由消息中的源as,也可以为该与第三as标识相邻,在该第三as标识之后的as。
[0178]
下面,示例性介绍as的相邻和前后关系,如:as path为(as1as11as2),则可以认为as1和as11相邻,as11和as2相邻,其中,as1在as11之后,as11在as2之后。这里的前后主要以该路由前缀通告经过的as的顺序来定义。即,在这个示例中,路由前缀的通告路径为:起源于as2,后通告给as11,后经as11通告给as1。
[0179]
示例b:在如上相关技术部分所述的路由泄漏误判场景中,设备根据商业关系信息错误的校验该路由前缀10.132.51.0/24,该路由消息中的as path为(as1as11as2),设备校验该路由前缀由as11泄漏给了as1。即在这个示例中,该第三as标识为as11,第四as为as1。
[0180]
示例c:假设该路由消息的路由前缀为10.132.51.0/24,该路由消息中的as path为(as1as2 as11),其中,as1和as11属于同一个组织,为兄弟as。而该路由前缀被校验为由as2泄漏给了as1。
[0181]
可选的,设备在校验该路由消息无效后,还将该路由消息的校验状态修改为无效。
[0182]
s311:根据对应关系校验路由消息是否有效。
[0183]
设备在接收到路由消息后、校验路由消息无效后或需要进行路由分析时,可以根据上述步骤s305部分生成的对应关系校验该路由消息是否有效。
[0184]
设备可以在校验路由消息无效后执行本步骤,也可以不执行s309而执行本步骤,在这种情况中,该对应关系可如表3所示,则设备可有根据路由前缀和兄弟as的关系,确定该路由消息有效。
[0185]
下面结合步骤s309中的示例进行对本步骤进行讲解。
[0186]
对应于示例a:设备可以在校验路由前缀10.132.51.0/24被as11劫持之后。根据roa中该路由前缀的源as应该为as1,进一步的根据表2所示的对应关系,通过as11和as1为兄弟as,而确定该路由消息有效,未被路由劫持。即,在这里,该对应关系中的第一as标识为as11,第二as标识为as1,roa中包括的源as为上述第二as标识,即:as1,其路由前缀为10.132.0.0/17。路由消息中的第三as标识为as11。设备可以根据第三as标识和第一as标识相等,第一as标识和第二as标识为兄弟as,确定该路由消息有效,未被路由劫持。
[0187]
对应于示例b:设备可以在校验该路由前缀10.132.51.0/24由as11泄漏给了as1之后。进一步的根据表2所示的对应关系,通过as11和as1为兄弟as,而确定该路由消息有效,未发生路由泄漏。即,在这里,该对应关系中的第一as标识为as11,第二as标识为as1。路由消息中包括的第三as标识为as11,第四as为as1。设备可以根据第四as和第一as标识相同,第三as标识和第二as标识相同,第一as标识和第二as标识为兄弟as,确定该路由消息有效,未发生路由泄漏。
[0188]
可选的,该第三as标识也可以为该路由消息中路由前缀对应的源as。即,该路由消息中可以仅包括上述第三as标识和第四as。
[0189]
对应于示例c:设备可以在校验该路由前缀10.132.51.0/24由as2泄漏给了as1之后。进一步的根据表2所示的对应关系,通过as11和as1为兄弟as,而确定该路由消息有效,未发生路由泄漏。即,在这里,该对应关系中的第一as标识为as11,第二as标识为as1。路由
消息中包括的第三as标识为as11,第四as为as1。设备可以根据第四as和第一as标识相同,第三as标识和第二as标识相同,第一as标识和第二as标识为兄弟as,确定该路由消息有效,未发生路由泄漏。
[0190]
以上,设备校验路由消息的方式包括s309和s311两个步骤中的一种或多种,即设备可以先执行s309,后执行s311;也可以不执行s309,而执行s311;或是在执行s311的过程中,还根据roa或商业关系信息校验路由消息。
[0191]
以上,示例性介绍了采用本技术实施例的技术方案为基础的路由管理方法。参见图3b,图3b是本技术实施例提供的一种as管理方法的流程图,图3b所示的方法实施例400包括如下步骤:
[0192]
本方法可以应用于as管理设备,方法实施例300中的路由管理设备也可以是as管理设备。as管理设备也可以是方法实施例300中的路由管理设备。
[0193]
s401:获得第一as标识和第二as标识。
[0194]
as管理设备获得第一as标识和第二as标识,并确定第一as标识和第二as标识为兄弟as。as管理设备获得第一as标识和第二as标识的方式,可以参考上述方法300中路由管理设备获得第一as标识和第二as标识的相关描述,本技术在此不再赘述。
[0195]
s402:发送消息,该消息中包括第一as标识和第二as标识,该消息用于指示第一as标识和第二as标识为兄弟as。
[0196]
as管理设备向接收设备发送消息,该消息中包括第一as标识和第二as标识,该消息用于指示第一as标识和第二as标识为兄弟as。该消息可以用于使接收设备根据该消息获得对应关系,使得接收设备根据该消息对路由消息进行直接的路由管理,如路由分析等。
[0197]
as管理设备发送指示第一as标识和第二as标识为兄弟as的消息的方式的详细描述,可以参见方法实施例300中的相关描述,在此不再赘述。
[0198]
下面,结合图5所示的路由管理方法流程图详细介绍将上述方法实施例300和方法实施例400的方法应用于防路由劫持误判的场景,图5所示的方法实施例500包括如下步骤:
[0199]
在本方法实施例中,以rp服务器作为as管理设备,第一网络设备作为路由管理设备进行示例性讲解。应理解,as管理设备可以是上述方法实施例300中提到的rp服务器、ta服务器、网络设备、路由分析设备或其他具备as管理功能的设备,路由管理设备也可以是上述方法实施例300中提到的rp服务器、ta服务器、网络设备、路由分析设备或其他具备路由管理功能的设备。
[0200]
s501:rp服务器向第一网络设备发送第一消息,第一消息中包括第一as标识和第二as标识。
[0201]
应用于图2所示的场景中,以网络设备3为第一网络设备,rp服务器为此处的服务器对方法实施例500进行示例性讲解。
[0202]
rp服务器通过上述图3a所述的方法实施例300(下面简称方法300)中的rpki路由协议向网络设备3发送该第一消息。该第一消息可以包括sibling as pdu,该pdu中还可以包括兄弟as数、组织标识等信息。
[0203]
该第一消息用于指示该第一as标识和第二as标识为sibling as。
[0204]
s503:第一网络设备获得对应关系。
[0205]
网络设备3接收该第一消息,并从该第一消息中获得上述对应关系,并保存上述对
应关系,该对应关系用于指示第一as标识和第二as标识为兄弟as。
[0206]
以上步骤s501和s503的详细描述详见方法300中步骤s303处的相关描述,在此不再赘述。
[0207]
s507:第二网络设备向第一网络设备发送路由消息,该路由消息包括第一路由前缀和第三as标识。
[0208]
相应的,第一网络设备接收第二网络设备发送的该路由消息。
[0209]
应用于图2所示的场景中,第二网络设备可以为网络设备1。则网络设备3可以接收网络设备1发送的路由消息,该路由消息可以为bgp更新消息。在该更新消息中,该路由前缀可以为10.132.51.0/24,该更新消息中的as path可为(as1,as11)。该路由消息表明as11为10.132.51.0/24的源as,经网络设备2通告到as1后,再经网络设备1通告到网络设备3。在这个示例中第三as标识即为as11。
[0210]
s509:第一网络设备根据获得的roa信息校验该路由消息是否有效。如果无效,则执行步骤s511。
[0211]
本步骤为可选步骤。关于网络设备3如何根据获得roa信息以及如何根据获得的roa信息校验该路由消息无效的详细描述可参见上方方法300中步骤s309处的描述,在此不再赘述。
[0212]
可选的,网络设备3在校验该该路由消息无效后,可能将该路由消息对应的路由信息的校验状态置为无效。在相关技术中,如果无下述步骤s511~s513等,则网络设备3可能根据该检验状态为无效而降低该路由消息的优先级,进而不通告该路由。或网络设备3也可能向其bgp对等体等设备通告该路由,并在通告该路由时,将该路由的某个属性,如原始路由属性置为无效。
[0213]
s511:第一网络设备根据对应关系确定该路由消息有效。
[0214]
关于网络设备3如何根据对应关系确定该路由消息有效,可参见方法300步骤s311处的相关描述,本技术在此不再赘述。
[0215]
s513:第一网络设备将该路由消息的状态置为有效。
[0216]
网络设备3可以在s309中将该路由信息的校验状态置为无效之后,在本步骤可以再将该路由信息的检验状态置为有效。
[0217]
如果网络设备3需要向其对等体通告该路由信息,则网络设备3可以将通告该路由信息的路由消息中的相关属性部分的状态置为有效。
[0218]
s515:第一网络设备向第三网络设备发送该路由消息。
[0219]
可选的,当网络设备3还需要向其对等体通告上述路由消息对应的路由信息时,则网络设备3可以向其对等体,如图2中的网络设备4发送该路由消息,即发送该路由消息对应的路由信息。
[0220]
以上,主要以as标识为示例介绍了本技术实施例,应理解,本方案也可以应用于其他类似或相关场景,如,其他非bgp自治系统的场景、或其他已经存在或未来可能存在的分域管理的场景。
[0221]
图6是本技术实施例提供的一种路由管理装置600的结构示意图,装置600具有上述方法300的路由管理设备,或方法500中的第一网络设备的任意功能。如图6所示,装置600包括:处理单元601,用于执行s303、s305、s509、s511或s513等;可选的,该装置600还包括:
接收单元602,用于执行s303、s503中的接收包括第一as标识和第二as标识的相关步骤或接收路由消息的相关步骤;发送单元603,用于执行s515。
[0222]
路由管理装置600对应于上述方法实施例中的路由管理设备,如:第一网络设备,路由管理装置600中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的路由管理设备所实施的各种步骤和方法,具体细节可参见上述方法300或方法500,为了简洁,在此不再赘述。
[0223]
路由管理装置600在进行路由管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将路由管理装置600的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0224]
如图7所示,图7是本技术实施例提供的一种路由管理装置700的一种结构示意图,装置700具有上述方法300的路由管理设备,或方法500中的第一网络设备的任意功能。装置700包括bgp模块、路由校验模块和prki模块,其中,rpki模块可以用于执行s303、s503中的接收包括第一as标识和第二as标识的相关步骤或接收路由消息的相关步骤和获得对应关系的对应步骤;路由校验模块可用于执行s305、s509、s511或s513等,bgp模块可用于执行s507、s515等步骤。将装置700与装置600对应,则可以认为装置600的接收单元602和发送单元603可以包括装置700的bgp模块和rpki模块,装置700的bgp模块和rpki模块可以具备收发功能,装置600的处理单元601可以包括装置700的路由校验模块。装置700是对上述方法实施例中的路由管理设备和第一网络设备的另一种装置划分模式。路由管理装置700中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的路由管理设备所实施的各种步骤和方法,具体细节可参见上述方法300或方法500,为了简洁,在此不再赘述。
[0225]
图8是本技术实施例提供的一种as管理装置800的结构示意图,装置800具有上述方法400的as管理设备,或方法500中的rp服务器的任意功能。如图8所示,装置800包括:处理单元801,用于执行s401,获得第一as标识和第二as标识的相关步骤,发送单元803,用于执行s402或s501。可选的,装置800还包括接收单元802,用于接收其他设备发送的第一as标识和第二as标识。
[0226]
装置800对应于上述方法实施例400中和方法实施例500中的as管理设备,如rp服务器,装置800中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的as管理设备所实施的各种步骤和方法,具体细节可参见上述方法400或方法500,为了简洁,在此不再赘述。
[0227]
装置800在进行as管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置800的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置800与上述方法400或方法500属于同一构思,其具体实现过程详见方法400或方法500,这里不再赘述。
[0228]
与本技术提供的方法实施例以及虚拟装置实施例相对应,本技术实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
[0229]
下面描述的网络设备900或网络设备1000对应于上述方法实施例中的路由管理设备或as管理设备,网络设备900或网络设备1000中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中的网络设备900或网络设备1000所实施的各种步骤和方法,
关于网络设备900或网络设备1000如何基于兄弟as实现as管理或路由管理的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。其中,上文方法300、方法400或方法500的各步骤通过网络设备900或网络设备1000处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述
[0230]
网络设备900或网络设备1000对应于上述虚拟装置实施例中的装置600、装置700或装置800,装置600、装置700或装置800中的每个功能模块采用网络设备900或网络设备1000的软件实现。换句话说,装置600、装置700或装置800包括的功能模块为网络设备900或网络设备1000的处理器读取存储器中存储的程序代码后生成的。
[0231]
参见图9,图9示出了本技术一个示例性实施例提供的网络设备900的结构示意图,该网络设备900可以配置为路由管理设备或as管理网络设备。该网络设备900可以由一般性的总线体系结构来实现。
[0232]
网络设备900包括至少一个处理器901、通信总线902、存储器903以及至少一个通信接口904。
[0233]
处理器901可以是一个通用cpu、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)或其任意组合。
[0234]
通信总线902用于在上述组件之间传送信息。通信总线902可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0235]
存储器903可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903可以是独立存在,并通过通信总线902与处理器901相连接。存储器903也可以和处理器901集成在一起。
[0236]
通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口904包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。
[0237]
在具体实现中,作为一种实施例,处理器901可以包括一个或多个cpu,如图9中所示的cpu0和cpu1。
[0238]
在具体实现中,作为一种实施例,网络设备900可以包括多个处理器,如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0239]
在具体实现中,作为一种实施例,网络设备900还可以包括输出设备906和输入设备907。输出设备906和处理器901通信,可以以多种方式来显示信息。例如,输出设备906可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备907和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备707可以是鼠标、键盘、触摸屏设备或传感设备等。
[0240]
在一些实施例中,存储器903用于存储执行本技术方案的程序代码910,处理器901可以执行存储器903中存储的程序代码910。也即是,网络设备900可以通过处理器901以及存储器903中的程序代码910,来实现方法实施例提供的方法300、方法400或方法500。
[0241]
本技术实施例的网络设备900可对应于上述各个方法实施例中的路由管理设备或as管理设备,并且,该网络设备900中的处理器901、通信接口904等可以实现上述各个方法实施例中的设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
[0242]
装置600中的接收单元602、发送单元603可以相当于网络设备900中的通信接口904;装置600的处理单元501可以相当于网络设备900中的处理器901。
[0243]
装置800中的接收单元802、发送单元803可以相当于网络设备900中的通信接口904;装置800中的处理单元801可以相当于网络设备900中的处理器901。
[0244]
参见图10,图10示出了本技术一个示例性实施例提供的网络设备1000的结构示意图,该网络设备1000可以配置为路由管理设备或as管理设备。网络设备1000包括:主控板1010和接口板1030。
[0245]
主控板1010也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板1010用于对网络设备1000中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1010包括:中央处理器1011和存储器1012。
[0246]
接口板1030也称为线路接口单元卡(line processing unit,lpu)、线卡(line card)或业务板。接口板1030用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、pos(packet over sonet/sdh)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板1030包括:中央处理器1031、网络处理器1032、转发表项存储器1034和物理接口卡(physical interface card,pic)1033。
[0247]
接口板1030上的中央处理器1031用于对接口板1030进行控制管理并与主控板1010上的中央处理器1011进行通信。
[0248]
网络处理器1032用于实现报文的转发处理。网络处理器1032的形态可以是转发芯片。具体而言,网络处理器1032用于基于转发表项存储器1034保存的转发表转发接收到的
报文,如果报文的目的地址为网络设备1000的地址,则将该报文上送至cpu(如中央处理器1011)处理;如果报文的目的地址不是网络设备1000的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
[0249]
物理接口卡1033用于实现物理层的对接功能,原始的流量由此进入接口板1030,以及处理后的报文从该物理接口卡1033发出。物理接口卡1033也称为子卡,可安装在接口板1030上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1032处理。在一些实施例中,中央处理器也可执行网络处理器1032的功能,比如基于通用cpu实现软件转发,从而物理接口卡1033中不需要网络处理器1032。
[0250]
可选地,网络设备1000包括多个接口板,例如网络设备1000还包括接口板1040,接口板1040包括:中央处理器1041、网络处理器1042、转发表项存储器1044和物理接口卡1043。
[0251]
可选地,网络设备1000还包括交换网板1020。交换网板1020也可以称为交换网板单元(switch fabric unit,sfu)。在网络设备有多个接口板1030的情况下,交换网板1020用于完成各接口板之间的数据交换。例如,接口板1030和接口板1040之间可以通过交换网板1020通信。
[0252]
主控板1010和接口板1030耦合。例如。主控板1010、接口板1030和接口板1040,以及交换网板1020之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1010和接口板1030之间建立进程间通信协议(inter-process communication,ipc)通道,主控板1010和接口板1030之间通过ipc通道进行通信。
[0253]
在逻辑上,网络设备1000包括控制面和转发面,控制面包括主控板1010和中央处理器1031,转发面包括执行转发的各个组件,比如转发表项存储器1034、物理接口卡1033和网络处理器1032。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1032基于控制面下发的转发表对物理接口卡1033收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1034中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
[0254]
如果网络设备1000被配置为路由管理设备,物理接口卡1033接收携带第一as标识和第二as标识的消息,发送给网络处理器1032,网络处理器1032根据该消息,获得对应关系等信息,在根据该对应关系对路由消息处理后,将路由消息从物理接口卡1033发送出去。
[0255]
如果网络设备1000被配置为as管理设备,物理接口卡1033接收第一as标识和第二as标识,发送给网络处理器1032,网络处理器1032确定该第一as标识和第二as标识为兄弟as,并生成消息,并将该消息通过物理接口卡1033发送给路由管理设备。
[0256]
装置600中的接收单元602,发送单元603相当于网络设备1000中的物理接口卡1033;网络设备1000中的处理单元601可以相当于网络处理器1032或中央处理器1011。
[0257]
装置800中的接收单元802、发送单元803相当于网络设备1000中的物理接口卡1033;装置800中的处理单元602可以相当于网络处理器1032或中央处理器1011。
[0258]
本技术实施例中接口板1040上的操作与接口板1030的操作一致,为了简洁,不再
赘述。本实施例的网络设备1000可对应于上述各个方法实施例中的路由管理设备或as管理设备,该网络设备1000中的主控板1010、接口板1030和/或1040可以实现上述各个方法实施例中的路由管理设备或as管理设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
[0259]
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0260]
在一些可能的实施例中,上述路由管理设备或as管理设备可以实现为虚拟化设备。
[0261]
例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:virtual machine,vm),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,nfv)技术来实现路由管理设备或as管理设备。路由管理设备或as管理设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本技术即可结合nfv技术在通用物理服务器上虚拟出具有上述功能的路由管理设备或as管理设备。此处不再赘述。
[0262]
例如,虚拟化设备可以是容器,容器是一种用于提供隔离的虚拟化环境的实体,例如,容器可以是docker容器。可以将容器配置为路由管理设备或as管理设备。例如,可以通过对应的镜像来创建出路由管理设备或as管理设备,例如可以通过proxy-container(提供代理服务的容器)的镜像,为proxy-container创建2个容器实例,分别是容器实例proxy-container1、容器实例proxy-container2,将容器实例proxy-container1提供为路由管理设备,将容器实例proxy-container2提供为as管理设备。采用容器技术实现时,路由管理设备或as管理设备可以利用物理机的内核运行,多个路由管理设备或as管理设备可以共享物理机的操作系统。通过容器技术可以将不同的路由管理设备或as管理设备隔离开来。容器化的路由管理设备或as管理设备可以在虚拟化的环境中运行,例如可以在虚拟机中运行,容器化的路由管理设备或as管理设备可也可以直接在物理机中运行。
[0263]
例如,虚拟化设备可以是pod,pod是kubernetes(kubernetes是谷歌开源的一种容器编排引擎,英文简称为k8s)为部署、管理、编排容器化应用的基本单位。pod可以包括一个或多个容器。同一个pod中的每个容器通常部署在同一主机上,因此同一个pod中的每个容
器可以通过该主机进行通信,并且可以共享该主机的存储资源和网络资源。可以将pod配置为路由管理设备或as管理设备。例如,具体地,可以指令容器即服务(英文全称:container as a service,英文简称:caas,是一种基于容器的paas服务)来创建pod,将pod提供为路由管理设备或as管理设备。
[0264]
当然,路由管理设备或as管理设备还可以是其他虚拟化设备,在此不做一一列举。
[0265]
在一些可能的实施例中,上述路由管理设备或as管理设备也可以由通用处理器来实现。例如,该通用处理器的形态可以是一种芯片。具体地,实现路由管理设备或as管理设备的通用处理器包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口,该处理电路用于通过输入接口执行上述各个方法实施例中的报文的生成步骤,该处理电路用于通过输入接口执行上述各个方法实施例中的接收步骤,该处理电路用于通过输出接口执行上述各个方法实施例中的发送步骤。可选地,该通用处理器还可以包括存储介质,该处理电路用于通过存储介质执行上述各个方法实施例中的存储步骤。存储介质可以存储处理电路执行的指令,该处理电路用于执行存储介质存储的指令以执行上述各个方法实施例。
[0266]
参见图11,本技术实施例提供了一种网络系统1100,所述系统1100包括:路由管理设备1101和/或as管理设备1102。可选的,路由管理设备1101为如装置600、装置700、网络设备900或网络设备1000,as管理设备1102为如装置800、网络设备900或网络设备1000。
[0267]
本技术实施例提供了一种计算机程序产品,当该计算机程序产品在路由管理设备或as管理设备上运行时,使得路由管理设备或as管理设备执行上述方法实施例中的方法300、方法400或方法500。
[0268]
上述各种产品形态的装置,分别具有上述方法实施例中路由管理设备或as管理设备的任意功能,此处不再赘述。
[0269]
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0270]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
[0271]
在本技术所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0272]
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
[0273]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0274]
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例中方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0275]
以上描述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
[0276]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd)、或者半导体介质(例如固态硬盘)等。
[0277]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0278]
以上描述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献