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

一种路由处理的方法和网络设备与流程

2022-04-24 20:01:14 来源:中国专利 TAG:

一种路由处理的方法和网络设备
1.本技术是向中国知识产权局提交的申请日为2018年11月2日、申请号为 201811302078.3、发明名称为“一种路由处理的方法和网络设备”的申请的分案申请。
技术领域
2.本发明涉及通信领域,尤其涉及一种路由的处理方法和网络设备。


背景技术:

3.资源公钥基础设施(resource public key infrastructure,rpki)方案用于验证边界网关协议(border gateway protocol,bgp)路由起源信息是否正确。分布式的rpki服务器收集各个自治系统(autonomous system,as)发起的bgp路由的源as号、含掩码的路由前缀等信息,路由器与rpki服务器建立连接,在路由器本地保存路由来源授权(route origination authorization,roa)数据,该数据中包括路由前缀与产生该路由前缀的源自治系统的关系。当路由器从邻居节点接收到含路由前缀的路由信息后,根据本地保存的roa数据来验证从邻居收到的路由前缀的源as是否正确。rpki详细的介绍具体可参见标准组织internet工程任务组(internet engineering task force, ietf)征求意见稿rfc6810和rfc 6811。
4.然而,网络中并非所有的路由器都对接收到的路由前缀的源as信息通过roa数据进行验证,这样如果接收到的路由前缀的源as信息被错误地修改,会影响到接收方路由器的路由计算,导致自治系统间的数据流量脱离预先规划的路径。因为as的网络管理人员通常会配置路由器的出口路由策略,如果出口路由策略中包括要修改待发送的路由前缀的as路径信息,则路由器在发出路由前缀前会根据出口路由策略来修改该路由前缀的as路径信息,那么由于人为的配置错误就可能导致上述情况。


技术实现要素:

5.本技术提供了一种路由处理的方法和网络设备,通过在发送路由前缀前,对待发送的路由前缀所关联的自治系统信息进行验证,减少了网络设备发送携带错误的自治系统信息的路由信息的可能性,从而减少了网络流量的流向异常的可能性。
6.第一方面,本发明实施例提供一种路由处理的方法,应用于第一自治系统中的网络设备,该方法包括获得路由前缀和与所述获得的路由前缀关联的自治系统的信息,所述关联的自治系统的信息包括待验证的自治系统的信息。网络设备验证路由来源信息库中是否存在匹配项,所述匹配项包括所述获得的路由前缀和所述待验证的自治系统的信息,并根据所述验证的结果,确定是否发送所述获得的路由前缀。
7.采用上述方法,网络设备在发送路由前缀前,先验证与该路由前缀的关联的待验证的自治系统的信息,根据验证结果确定是否发送该路由前缀,减少了网络设备发送携带错误的自治系统信息的路由信息的可能,从而减少了网络流量的流向异常的可能性。
8.在第一方面的一种可能的设计中,所述路由来源信息库的表项记录路由前缀和源
自治系统的对应关系,所述待验证的自治系统的信息为所述关联的自治系统的信息中的源自治系统的信息;或者所述路由来源信息库的表项记录路由前缀和自治系统对的对应关系,所述待验证的自治系统的信息为所述关联的自治系统的信息中的自治系统路径的信息;或者所述待验证的自治系统的信息包括所述关联的自治系统的信息中的源自治系统的信息,以及所述关联的自治系统的信息中的自治系统路径的信息。在这种设计中,可以验证源自治系统的信息,也可以验证自治系统路径的信息,或者两者都验证。因为每种验证可能都不能确保发出的路由前缀的自治系统的信息是完全准确的,因此多种验证方式可以同时使用来增强验证的准确性。
9.在第一方面的一种可能的设计中,所述路由来源信息库是从资源公钥基础设施服务器获得的。例如路由来源信息库可以是所述网络设备从资源公钥基础设施服务器下载的,也可以是资源公钥基础设施服务器主动发送给所述网络设备的(例如是定期发送或按需发送)。还有一种可能的设计,即网络设备不在本地保存路由来源信息库,而是需要验证的时候将需要验证的内容发送给资源公钥基础设施服务器。在这种设计中,可以利用现有技术中的资源公钥基础设施服务器而无需另行开发协议或架构。
10.在第一方面的一种可能的设计中,所述关联的自治系统的信息是根据配置在所述网络设备上的出口路由策略修改后的自治系统的信息。在这种设计中,可以验证经出口路由策略修改后的自治系统的信息是否正确。由于出口路由策略一般是人工配置的,因此可以减少由于人工配置导致的错误。
11.在第一方面的一种可能的设计中,获得路由前缀包括从第二自治系统接收路由前缀,或生成路由前缀,或接收第一自治系统中其他的网络设备产生的路由前缀。在这种设计中,需要验证的路由前缀可以是网络设备从其他自治系统收到的,也可以是网络设备自身产生,或网络设备自身所在的自治系统中的其他网络设备产生的,提供了灵活的验证。
12.在第一方面的一种可能的设计中,所述网络设备为所述第一自治系统的边界节点。进一步地,该边界节点可以是第一自治系统在路由发送方向的出口边界节点。因为通常自治系统的内部节点在相互发送路由信息时不会修改自治系统信息中的自治系统路径。这样,可以将验证功能部署在出口边界节点上,不需要第一自治系统的内部节点也验证。
13.在第一方面的一种可能的设计中,当所述路由来源信息库中存在匹配所述获得的路由前缀的表项,且所述表项的自治系统的信息与所述待验证的自治系统的信息不同时,确定所述路由来源信息库不存在所述匹配项,从而确定不发送所述获得的路由前缀。当确定不存在匹配项时不发送路由前缀,减少了发送含有错误的自治系统信息的路由前缀的可能。
14.在第一方面的一种可能的设计中,在确定所述路由来源信息库不存在所述匹配项后,还输出告警信息。及时输出告警信息可以提供网管人员网络设备上上存在自治系统信息不匹配的情况。
15.在第一方面的一种可能的设计中,当所述路由来源信息库中存在匹配所述获得的路由前缀的表项,且所述表项的自治系统的信息与所述待验证的自治系统的信息相同时,确定所述路由来源信息库存在所述匹配项,从而确定发送所述获得的路由前缀,然后发送携带所述获得的路由前缀的路由信息。当确定存在匹配项后发送路由前缀,提高了发出的路由前缀中的自治系统信息的正确性。
16.在第一方面的一种可能的设计中,当所述路由来源信息库不存在匹配所述获得的路由前缀的表项时,确定所述路由来源信息库不存在所述匹配项,这种情况可以被认为验证结果为“未知”,出现这种情况时,可以根据预先配置的策略确定是否发送所述获得的路由前缀。预先配置的策略可以是发送所述获得的路由前缀,也可以是不发送所述获得的路由前缀。这样,当出现验证结果为“未知”的情况,也可以有应对措施。
17.第二方面,本发明实施例提供一种网络设备,该网络设备是第一自治系统中的网络设备。该网络设备可用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该网络设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的模块。
18.第三方面,本发明实施例提供一种网络设备,该网络设备是第一自治系统中的网络设备,包括获得模块,验证模块,和确定模块。获得模块包括路由前缀获得子模块和自治系统信息获得子模块,所述路由前缀获得子模块用于获得路由前缀,所述自治系统信息获得子模块用于获得与所述获得的路由前缀关联的自治系统的信息,所述关联的自治系统的信息包括待验证的自治系统的信息。验证模块用于验证路由来源信息库中是否存在匹配项,所述匹配项包括所述获得的路由前缀和所述待验证的自治系统的信息。确定模块用于根据所述验证的结果,确定是否发送所述获得的路由前缀。
19.在第三方面的一种可能的设计中,所述路由来源信息库的表项记录路由前缀和源自治系统的对应关系,所述待验证的自治系统的信息为所述关联的自治系统的信息中的源自治系统的信息;或者所述路由来源信息库的表项记录路由前缀和自治系统对的对应关系,所述待验证的自治系统的信息为所述关联的自治系统的信息中的自治系统路径的信息;或者所述待验证的自治系统的信息包括所述关联的自治系统的信息中的源自治系统的信息,以及所述关联的自治系统的信息中的自治系统路径的信息。
20.在第三方面的一种可能的设计中,所述网络设备还包括路由来源信息库获得模块,用于从资源公钥基础设施服务器获得所述路由来源信息库。例如路由来源信息库可以是所述网络设备从资源公钥基础设施服务器下载的,也可以是资源公钥基础设施服务器主动发送给所述网络设备的。
21.在第三方面的一种可能的设计中,所述自治系统信息获得子模块获得的所述关联的自治系统的信息是根据配置在所述网络设备上的出口路由策略修改后的自治系统的信息。
22.在第三方面的一种可能的设计中,所述路由前缀获得子模块用于从第二自治系统接收所述获得的路由前缀,或用于生成所述获得的路由前缀。
23.在第三方面的一种可能的设计中,所述网络设备为所述第一自治系统的边界节点。
24.在第三方面的一种可能的设计中,所述验证模块用于当确定所述路由来源信息库中存在匹配所述获得的路由前缀的表项,且所述表项的自治系统的信息与所述待验证的自治系统的信息不同时,确定所述路由来源信息库不存在所述匹配项。相应地,所述确定模块确定不发送所述获得的路由前缀。
25.在第三方面的一种可能的设计中,还包括告警模块,用于在所述验证模块确定所述路由来源信息库不存在所述匹配项后,输出告警信息。
26.在第三方面的一种可能的设计中,所述网络设备还包括发送模块。所述验证模块用于当确定所述路由来源信息库中存在匹配所述获得的路由前缀的表项,且所述表项的自治系统的信息与所述待验证的自治系统的信息相同时,确定所述路由来源信息库存在所述匹配项。相应地,所述确定模块确定发送所述获得的路由前缀,且所述发送模块发送携带所述获得的路由前缀的路由信息。
27.第四方面,本发明实施例提供一种网络设备,该网络设备是第一自治系统中的网络设备。该网络设备包括处理器、存储器和通信接口,其中:所述处理器、所述存储器和所述通信接口相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面或第一方面的任意一种可能的实现方式中的方法。
28.第五方面,本发明实施例提供一种网络设备,该网络设备是第一自治系统中的网络设备。该网络设备包括处理器、存储器和通信接口,其中:所述处理器、所述存储器和所述通信接口相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,实现第三方面中或第三方面的可能的设计方式中自治系统信息获得子模块的功能、验证模块和确定模块的功能,以及第三方面的可能的设计方式中路由前缀获得子模块生成所述获得的路由前缀时的功能。所述通信接口用于实现第三方面可能的设计方式中路由来源信息库获得模块、告警模块和发送模块的功能。
29.第六方面,本发明实施例提供一种网络设备,该网络设备是第一自治系统中的网络设备。该网络设备包括处理器、存储器和通信接口,其中:所述处理器、所述存储器和所述通信接口相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,实现第三方面中或第三方面的可能的设计方式中验证模块和确定模块的功能。所述通信接口用于实现第三方面可能的设计方式中路由前缀获得子模块从第二自治系统接收所述获得的路由前缀的功能,以及路由来源信息库获得模块、告警模块和发送模块的功能。所述通信接口和所述处理器配合实现第三方面中或第三方面的可能的设计方式中自治系统信息获得子模块的功能。或者,所述通信接口独立实现第三方面中自治系统信息获得子模块的功能。
30.上述各方面中提供的网络设备所具有的有益效果,请参见第一方面及第一方面的各可能的设计中关于有益效果的描述,在此不再赘述。
31.第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序在计算机上执行时,使得所述计算机执行第一方面及第一方面的任意一种可能的设计中的方法。
32.第八方面,本发明实施例一种用于处理路由的装置,包括与程序指令相关的硬件,所述硬件用于执行第一方面及第一方面的任意一种可能的设计中的方法。
附图说明
33.为了更清楚地说明本发明的技术方案,下面将对实施例中使用的附图作简单地介绍。显而易见地,下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明的其他技术方案和附图。
34.图1为本发明实施例的一个应用场景示意图;
35.图2为本发明实施例提供的一种方法流程示意图;
36.图3为本发明实施例提供的一种方法流程示意图;
37.图4为本发明实施例提供的一种方法流程示意图;
38.图5为本发明实施例提供的一种网络设备的结构示意图;
39.图6为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
40.图1为本发明实施例的一个应用场景示意图。图1中包括自治系统as1,as2, as3,as4和as5,as1中包括as1的边界节点r11和r12;as2中包括as2的边界节点r21和r22;as3中包括as3的边界节点r31和r32,还包括as3的内部节点r32;as4中包括as4的边界节点r41和r42;as5中包括as5的边界节点r51 和r52。各边界节点可以是具有路由功能的网络设备,例如是路由器或具有路由功能的交换机。
41.下面描述现有技术中导致网络流量的流向异常的一种情形。如果as1产生路由前缀10.1.0.0/16,10.1.0.0/16经as2和as3发到as4;此外,10.1.0.0/16还经过另一条 as路径即经过as5发给as4。r41分别从r33和r52接收到含路由前缀为 10.1.0.0/16的路由信息,从r33接到的路由信息包括10.1.0.0/16以及10.1.0.0/16的 as路径为(as3,as2,as1),标记方式“(as3,as2,as1)”表示10.10.0.0/16的源as是 as1,10.1.0.0/16顺次经过as1,as2和as3。从r52接到的路由信息包括 10.1.0.0/16以及10.1.0.0/16的as路径为(as5,as1),(as5,as1)指示10.10.0.0/16的源as为as1,10.1.0.0/16顺次经过as1和as5。r41在计算到10.1.0.0/16的路由时,会根据选择as路径较短的规则,将r52作为下一跳,也即r41会将发往 10.1.0.0/16的数据报文发给r52,而不是r33。假设以上描述的是按照网络规划的正常的流量流向。然而,as3的管理人员可能会在r33上配置路由出口策略,该路由出口策略会影响到r33向外发送的路由信息中的as路径信息。例如,如果r33 的路由出口策略配置出错,导致r33向外发送10.1.0.0/16时的as路径从正常的 (as3,as2,as1)被修改为仅剩下(as3),则会导致r41会将发往10.1.0.0/16的数据报文发给r33,导致网络流量的流向异常。
42.本发明实施例提供一种路由处理的方法和相应的网络设备,其中,方法和网络设备是基于同一发明构思的,由于方法和网络设备解决问题的原理相似,因此,网络设备与方法的实施例可以相互参见,重复之处不再赘述。
43.在本发明的实施例中,在图1所示的应用场景中,设置有路由来源信息库服务器,例如可以是rpki服务器。r33可以从rpki服务器获得路由来源验证数据,形成路由来源信息库。路由来源验证数据可以是roa数据,也可以是自治系统路径授权(autonomous system path authorizations,aspa)数据。roa数据描述路由前缀和源自治系统的对应关系,用于验证路由前缀的源as是否正确。aspa数据描述路由前缀和自治系统对的对应关系,用于验证路由前缀的as路径信息是否正确。当然, roa数据库和aspa数据库在实现时也可以是一个数据库,同时提供源as验证和 as路径验证两种验证信息。这样,r33在向as4中的r41发送携带10.1.0.0/16的路由信息前,先进行路由来源验证,例如可以是验证源as是否正确,也可以是验证 as路径是否正确,或者两者都验证,在通过验证的情况下,发送携带10.1.0.0/16的路由信息,从而减少上述导致网络流量的流向异常的可能性。
44.前面描述的是r33从as2中接收到源自as1的10.1.0.0/16的情况。在另一种情况中,如果10.1.0.0/16是as3自己产生的,例如是r31产生的,或r32产生的,或 r33产生的,那么当as3中的路由设备发送10.1.0.0/16时,现有技术中缺少验证 10.1.0.0/16的路由来源是否正确的方案,因为ietf rfc6810和rfc6811只规定了路由信息的接收方对收到的路由信息进行路由来源验证。本发明实施例中,r33可以对 as3自己产生的路由前缀进行验证后再发送,可以提高r33发送到外部的路由前缀的 as来源信息的准确性,从而减少上述导致网络流量的流向异常的可能性。
45.本发明各实施例中提到的网络设备可以是具有路由功能的设备,例如是路由器,或具有路由功能的交换机。
46.图2为本发明实施例提供的一种方法流程示意图。请结合图1,以图1中的r33 作为执行主体,以路由前缀10.1.0.0/16举例。
47.s201:r33从rpki服务器下载roa数据,从而r33本地存有roa数据,也称为roa库。该roa库的表项记录路由前缀和源as的对应关系,用于验证路由前缀的源as是否正确。
48.例如在网络规划阶段,as1的管理员向rpki服务器对应的国际机构注册了 10.1.0.0/16的源as为as1,则r33下载的roa数据中包括10.1.0.0/16和源as1的对应关系,换句话说,r33下载的roa数据中包括10.1.0.0/16,且10.1.0.0/16对应的源as为as1。
49.可以理解,roa数据可以不必在每次执行图2的实施例所示的方法时都需要下载。
50.s202:r33从as2收到一条源于as1的路由信息,这条路由信息携带路由前缀为10.1.0.0/16,对应的as路径信息为(as2,as1),表明10.1.0.0/16起源于as1,经过as2。例如,r33从r32接收到该路由信息。
51.s203:在r33向as4转发10.1.0.0/16之前,r33把自身所在的as的信息插入到 10.1.0.0/16的as路径信息中。r33在as路径信息中插入as3,形成新的as路径为 (as3,as2,as1),表明10.1.0.0/16起源于as1,顺次经过as2和as3。
52.s204:在r33向as4转发10.1.0.0/16前,r33根据配置在r33上的出口路由策略修改as信息。修改后的as信息包括待验证的源as信息。
53.在图2的实施例中,将验证前的as信息称为路由前缀关联的自治系统的信息,路由前缀关联的自治系统的信息中包括待验证的源as信息。例如,假设s204中修改后的as路径为(as3),则把as路径(as3)称为10.1.0.0/16关联的as的信息。s203 和s204是可选步骤,当执行s203但未执行s204时,则将s203中的as路径(as3, as2,as1)称为10.1.0.0/16关联的as的信息;当s203和s204都未执行时,则将s202 中的as路径(as2,as1)称为10.1.0.0/16关联的as的信息。
54.s205:r33在roa数据中验证是否存在匹配项,匹配项包括10.1.0.0/16和s204 中修改后的as信息中的待验证的源as信息。
55.下面我们分为三种情况来介绍:
56.情况一、
57.假如roa库中有匹配10.1.0.0/16的表项,且该表项的源as为as1。如果s204 未执行,或s204修改后的as路径变为(as9,as2,as1),那么待验证的源as信息为 as1。因为对于10.1.0.0/16,待验证的源as与roa库中的源as相同,均为as1,则r33确定roa数据中有匹配项,执行s207。
58.情况二、
59.假如roa库中有匹配10.1.0.0/16的表项,且该表项的源as为as1,s204修改后的as路径为(as3,as2,as9),那么待验证的源as信息为as9,由于as1与as9 不同,r33确定roa数据中不存在匹配项,执行s206。
60.情况三、
61.假如roa库中没有匹配10.1.0.0/16的表项,r33确定roa数据中没有匹配项,执行s208。情况三也可以理解为r33不知道10.1.0.0/16对应的待验证的源as是否正确,也可以说验证结果为“未知”。
62.应理解,以上三种情况仅为举例演示roa数据中是否存在匹配项的几种情形,不应被视为仅有这三种情况。
63.s206:确定不发送10.1.0.0/16。在s206后,还可以执行s209。
64.s207:确定发送10.1.0.0/16给as4中的r41。之后执行s210。
65.s208:根据预先配置的策略确定是否发送所述10.1.0.0/16。预先配置的策略可以是发送10.1.0.0/16,也可以是不发送10.1.0.0/16。
66.s209:发送告警信息。例如可以向网管工作站发送告警信息,告警信息中可以携带验证结果为不匹配的路由前缀,还可以携带与此路由前缀相关的信息,例如as路径的信息。
67.s210:发送携带10.1.0.0/16和修改后的as路径的路由信息给as4中的r41。例如,s204将as路径修改为(as9,as2,as1),则发送的路由信息中的路由前缀为 10.1.0.0/16,as路径为(as9,as2,as1)。应理解,上述情况一中如果s204未执行,则s210中发送的10.1.0.0/16的as路径为(as3,as2,as1)
68.在图2的实施例中,s201,s203,204和s209是可选的。此外步骤的顺序仅为示意,也可以按其他合理的顺序执行,例如s201在s205之前执行即可。
69.图2所示的实施例,r33在发送路由前缀前,先验证该路由前缀的源as信息,根据验证结果确定是否发送该路由前缀,提高了发出的路由信息的源as信息的准确性,从而减少了网络流量的流向异常的可能性。进一步地,r33验证经过出口路由策略修改后的源as信息,可以减少由于人为配置错误导致的源as信息错误。此外,如roa库中不存在匹配的路由前缀,可以根据预先配置的策略灵活处理。另外,如 roa数据匹配结果为不匹配,可以发送告警,及时通知网络管理人员r33上存在源 as信息不匹配的情况。
70.图3为本发明实施例提供的一种方法流程示意图。请结合图1,以图1中的r33 作为执行主体,以路由前缀10.1.0.0/16举例。图3的实施例验证的是路由前缀所对应的as路径的信息。
71.s301:r33从rpki服务器下载aspa数据,从而r33本地存有aspa数据,也称为aspa库。该aspa库的表项记录路由前缀和自治系统对的对应关系,用于验证路由前缀的as路径是否正确。
72.例如在网络规划阶段,as1的管理员向rpki服务器对应的国际机构注册了as1 计划向as2发送10.1.0.0/16,as2的管理员向rpki服务器对应的国际机构注册了 as2计划向as3发送10.1.0.0/16,as3的管理员向rpki服务器对应的国际机构注册了as3计划向as4发送10.1.0.0/16,则r33下载的aspa数据中包括10.1.0.0/16,以及10.1.0.0/16对应的as对为[as1,as2],[a2,as3]和[as3,as4]。标记“[as1,as2]”表示as1向as2发送。
[0073]
可以理解,aspa数据不需要在每次执行图3的实施例所示的方法时都需要下载。
[0074]
s302和s303:请分别参见s202和s203。
[0075]
s304:r33根据配置在r33上的出口路由策略修改as信息。修改后的as信息包括待验证的as路径信息。
[0076]
在图3的实施例中,将验证前的as信息称为路由前缀关联的自治系统的信息,关联的as的信息包括待验证的as路径信息。例如,假设s304中修改后的as路径为(as3,as5,as1),则把as路径(as3,as5,as1)称为10.1.0.0/16关联的as的信息,待验证的as路径信息(as3,as5,as1)。
[0077]
s305:r33验证在aspa库中不存在匹配项。
[0078]
r33在aspa中查到有匹配10.1.0.0/16的as对的表项,但该表项中的as对和待验证的as路径信息(as3,as5,as1)均不匹配(也即均不相同),因为待验证的 as路径信息表明了10.1.0.0/16的源as是as1,as1发给as5,as5发给as3。因此,r33验证在aspa库中不存在匹配项。之后执行s306。
[0079]
s306:r33确定不发送10.1.0.0/16。之后执行s307。
[0080]
s307:r33发送告警信息。s307为可选的步骤。
[0081]
下面基于图3的实施例,举例说明其他几种可能的实现方式,应理解不限于这几种可能的实现方式:
[0082]
在一种可能的情况下,aspa库中包括10.1.0.0/16,以及10.1.0.0/16对应的as 对为[as1,as2],[a2,as3]和[as3,as4]。s304未执行,待验证的as路径为(as3, as2,as1),r33确定aspa库中存在匹配项,确定发送10.1.0.0/16,发送携带 10.1.0.0且as路径为(as3,as2,as1)的路由信息。
[0083]
在一种可能的情况下,aspa库中不存在匹配10.1.0.0/16的表项,r33确定aspa 库中不存在匹配项,根据预先配置的策略确定是否发送所述10.1.0.0/16。预先配置的策略可以是发送10.1.0.0/16,也可以是不发送10.1.0.0/16。这种情况也可以理解为r33不知道10.1.0.0/16的待验证的as路径信息是否正确,也可以说验证结果为“未知”。
[0084]
在一种可能的情况下,aspa库中包括10.1.0.0/16,以及10.1.0.0/16对应的as 对为[as1,as2],[a2,as3]和[as3,as4]。s303和s304均未执行,待验证的as路径为(as2,as1),因为待验证的as路径匹配了as对[as1,as2],r33确定aspa库中存在匹配项,确定发送10.1.0.0/16,发送携带10.1.0.0且as路径为(as2,as1) 的路由信息。
[0085]
在一种可能的情况下,aspa库中包括10.1.0.0/16,以及10.1.0.0/16对应的as 对为[as1,as2],[a2,as3]和[as3,as4]。s303执行后的as路径为(as3,as2, as1),s304修改后的as路径为(as2,as1),r33确定aspa库中存在匹配项,确定发送10.1.0.0/16,发送携带10.1.0.0且as路径为(as2,as1)的路由信息。
[0086]
图3所示的实施例,r33在发送路由前缀前,先验证路由前缀的as路径信息,根据验证结果确定是否发送该路由前缀,提高了发出的路由信息的as路径信息的准确性,从而减少了网络流量的流向异常的可能性。进一步地,r33验证经过出口路由策略修改后的as路径信息,可以减少由于人为配置错误导致的as路径信息错误。此外,如aspa库中不存在匹配的路由前缀,可以根据预先配置的策略灵活处理。另外,如aspa数据匹配结果为“不匹配”,可以发送告警,及时通知网络管理人员r33 上存在as路径信息不匹配的情况。
[0087]
图4为本发明实施例提供的一种方法流程示意图。请结合图1,以图1中的r33 作为执行主体,以路由前缀10.1.0.0/16举例。图4中10.1.0.0/16是as3自身产生的,例如是r33产生的。
[0088]
s401:r33从rpki服务器下载roa数据,从而r33本地存有roa数据,也称为roa库。该roa库的表项记录路由前缀和源as的对应关系,用于验证路由前缀的源as是否正确。
[0089]
例如在网络规划阶段,as3的管理员向rpki服务器对应的国际机构注册了 10.1.0.0/16的源as为as3,则r33下载的roa数据中包括10.1.0.0/16和源as3的对应关系,换句话说,r33下载的roa数据中包括10.1.0.0/16,且10.1.0.0/16对应的源as为as3。
[0090]
可以理解,roa数据可以不必在每次执行图2的实施例所示的方法时都需要下载。
[0091]
s402:r33产生路由前缀为10.1.0.0/16。
[0092]
s403:r33将10.1.0.0/16和源as1关联。在r33向as4发送携带10.1.0.0/16的路由信息时,r33把自身所在的as信息(即as3)插入到10.1.0.0/16的as路径中。此时as3是10.1.0.0/16的源as。
[0093]
s404:在r33向as4发送10.1.0.0/16前,r33根据配置在r33上的出口路由策略修改as信息。在图4的实施例中,将验证前的as信息称为路由前缀关联的as信息,该关联的as信息中包括待验证的as信息。假设修改后的as路径为(as1), 10.1.0.0/16关联的as信息即(as1),待验证的as信息为源as信息,即as1。
[0094]
s405:r33在roa数据中验证不存在匹配项。因为待验证的源as信息为as1,而roa库中与10.1.0.0/16对应的源as为as3,由于as1与as3不同,r33确定roa 数据中不存在匹配项。执行执行s406。
[0095]
s406:r33确定不发送10.1.0.0/16。之后可执行s407。
[0096]
下面基于图4的实施例,举例说明其他几种可能的实现方式,应理解不限于这几种可能的实现方式:
[0097]
在一种可能的情况下,请参加图2实施例中的情况一,s404未执行,或s404虽然执行了但s404修改后的as路径的源as仍是as3(例如s404修改后的as路径为(as2,as3)),则r33确定roa数据中有匹配项,请参见图2实施例中的情况一。
[0098]
在一种可能的情况下,假如roa库中没有匹配10.1.0.0/16的表项,r33确定 roa数据中没有匹配项,请参见图2实施例中的情况三。
[0099]
在图4的实施例中,s401,s404,s407是可选的。此外步骤的顺序仅为示意,也可以按其他合理的顺序执行,例如s401在s405之前执行即可。
[0100]
以上是以r33生成10.1.0.0/16,因而10.1.0.0/16的源as是as3来举例的。应理解,10.1.0.0/16也可以是r31或r32产生并发送给r33,这种情况下10.1.0.0/16的源 as仍然是as3,执行方法请参加图4中的实施例,不再赘述。
[0101]
图4所示的实施例中,as3中的网络设备在发送源as为as3的路由前缀前,先验证该路由前缀的源as信息,根据验证结果确定是否发送该路由前缀,提高了发出的路由信息的源as信息的准确性,从而减少了网络流量的流向异常的可能性。其余有益效果请参见图2的实施例中的有益效果描述。
[0102]
图2-图4实施例描述的是r33作为执行主体。在其他的实现方式中,as3中的 r31或r32也可以和rpki服务器建立连接,下载roa数据或aspa数据,在发送 10.1.0.0/16前,验证
10.1.0.0/16对应的as信息,具体方法请参见图2-图4实施例中的r33执行的步骤,在此不再赘述。
[0103]
图2-图4的实施例中,r33从rpki服务器下载roa数据或aspa数据。在另一种可能的设计中,rpki服务器主动推送roa数据或aspa数据给r33。
[0104]
图5示出了上述方法实施例中所涉及的网络设备的一种可能的结构示意图,该网络设备500可以是图1中的r31,r32或r33。如网络设备500是图1中的r33的话,网络设备500实现图2、图3或图4所示的实施例中的r33的功能。参阅图5,该网络设备500包括:获得模块501,验证模块502和确定模块503。这些模块些可以执行上述方法实施例中网络设备相应功能。获得模块可以包括路由前缀获得子模块和自治系统信息获得子模块,用于支持网络设备500执行图2中的s202-s205,图3中 s302-s305或图4中的s402-s404。验证模块502用于支持网络设备500执行图2中的 s205,图3中的s305或图4中的s405。确定模块503用于支持网络设备500执行图2中的s206-s208,图3中的s306或图4中的s406。网络设备500还包括路由来源信息库获得模块504和发送模块506。路由来源信息库获得模块504用于支持网络设备500执行图2中的s201,图3中的s301或图4中的s401,发送模块506用于支持网络设备500执行图2中的s210。可选的,网络设备500还包括告警模块505,用于支持网络设备500执行图2中的s209,图3中的s307,或图4中的s407。
[0105]
具体执行过程请参考上述图2、图3或图4中所示实施例中相应步骤的详细描述,这里不再一一赘述。
[0106]
采用集成的模块的情况下,图5实施例中的模块可以集成,例如图5实施例中的验证模块502和确定模块503可以合并为一个模块。
[0107]
图6示出了上述方法实施例中所涉及的网络设备的一种可能的结构示意图。该网络设备600可以是图1中的r31,r32或r33。如网络设备600是图1中的r33的话,网络设备600实现图2、图3或图4所示的实施例中的r33的功能。网络设备600包括:处理器601、存储器602和通信接口603及总线604,其中,处理器601、通信接口603以及存储器602通过总线604相互连接;总线604可以是外设部件互连标准 (peripheral component interconnect,简称pci)总线或扩展工业标准结构(extendedindustry standard architecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。处理器601用于存储计算机程序,所述计算机程序包括程序指令,处理器601被配置用于调用所述程序指令,执行图2,图3或图4中各步骤。
[0108]
在一种可能的设计中,通信接口603执行图2中的s201,s202,s209和s210,或图3中的s301,s302和s307,或图4中的s401和s407;处理器601被配置用于调用所述程序指令,执行图2中的s203-s208,图3中的s303-s306,或图4中的 s402-s406。
[0109]
本发明实施例还提供了一种计算机存储介质,所述计算机可读存储介质上存储有程序,当所述程序运行时,使得所述计算机实现前述方法实施例中的方法。
[0110]
本发明实施例还提供了一种处理路由的装置,包括与程序指令相关的硬件,所述硬件用于前述方法实施例中的方法。
[0111]
本发明实施例中提到的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”。
[0112]
本发明实施例公开内容所描述的方法步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read only memory,rom)、可擦除可编程只读存储器(erasable programmablerom,eprom)、电可擦可编程只读存储器(electrically eprom,eeprom)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。
[0113]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0114]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

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

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

相关文献