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

一种验证AS对的方法、装置及设备与流程

2022-06-08 19:57:37 来源:中国专利 TAG:

一种验证as对的方法、装置及设备
技术领域
1.本技术涉及计算机网络技术领域,尤其涉及一种验证自治系统as对的方法、装置及设备。


背景技术:

2.自治系统(autonomous system,as)是指在一个实体管辖下的拥有相同选路策略的因特网协议(internet protocol,ip)网络。由于边界网关协议(border gateway protocol,bgp)在设计之初并未考虑安全因素,因此在具有预设商业关系的邻居as之间传递bgp路由信息时,容易出现路由信息泄露的问题。而路由信息泄露,往往会使流量绕行更长的路径,从而导致流量传输的时延增大。进一步的,严重的路由信息泄露还可能导致路由访问异常中断、流量侦听、中间人攻击以及仿冒攻击等安全风险。
3.为防止路由泄露,as通常可以通过资源公钥基础设施(resource public key infrastructure,rpki)机制,并基于无谷(valley free)原则对接收到的bgp路由信息中as路径(as path)的路径信息里的每个as对(as pair)进行验证,以确认该as路径的合法性,从而确认该bgp路由的安全性。然而,as在通过现有技术对接收到的as路径的路径信息进行验证时,通常会出现对as路径的路径信息中as对误判的情况,这样的话,会导致该as路径的验证结果错误。
4.基于此,如何避免验证as路径时对该as路径的路径信息中as对的误判,是现有技术中亟待解决的技术问题。


技术实现要素:

5.本技术实施例提供了一种验证as对的方法、装置及设备,该方法能够避免在验证as路径时对该as路径的路径信息中的as对的误判,从而提高验证as路径的准确率。
6.第一方面,本技术实施例提供了一种验证as对的方法,该方法可以应用于网络设备。该方法包括:获取包括as对的路径信息,确定路径信息中的as对所属区域的区域信息。然后,基于确定的as对所属区域的区域信息,对as对进行验证。其中,路径信息中的as对,包括该路径信息中相邻的两个as号。
7.通过本技术实施例提供的验证as对的方法对验证as对的时候,引入了基于as对所属区域的区域信息对as对进行验证。这样的话,即可避免了在验证路径信息中的as对时,由于不同地区相同as对具有不同的商业关系所造成的商业关系误判。进一步,当as对能验证准确的话,那么基于无谷原则验证包括as对的路径信息所对应的路径的合法性时,验证的准确度也相应提高。
8.在一种可能的设计方式中,上述基于确定的as对所属区域的区域信息,对as对进行验证包括:基于确定的as对所属区域的区域信息以及验证表项数据库,对as对进行验证。
9.在另一种可能的设计方式中,上述基于确定的as对所属区域的区域信息,以及验证表项数据库,对as对进行验证包括:当该验证表项数据库中存在包括as对、以及与该as对
所属区域的区域信息对应的区域标识的验证表项,则确定对该as对验证成功。
10.在另一种可能的设计方式中,上述基于确定的as对所属区域的区域信息,以及验证表项数据库,对as对进行验证包括:当该验证表项数据库中不存在包括as对、以及与该as对所属区域的区域信息对应的区域标识的验证表项,则确定对该as对验证失败。
11.通过上述几种可能的实现方式,由于验证表项数据库中包括as对所属区域的区域标识,这样,当在基于as所属区域的区域信息,在验证表项数据库中验证as对时,不仅需要在验证表项数据库中匹配与待验证as对相同的as对,还需要在验证表项数据库中确定与待验证as对相同的as对的区域标识是否和待验证as对的所属区域的区域信息相匹配。
12.这样,即可避免在验证路径信息中的as对时,由于不同地区相同as对具有不同的商业关系所造成的商业关系误判。进一步,当as对能验证准确的话,那么基于无谷原则验证包括as对的路径信息所对应的路径的合法性时,验证的准确度也相应提高。
13.在另一种可能的设计方式中,上述确定路径信息中的as对所属区域的区域信息包括:在包括路径信息的路由信息中确定as对所属区域的区域信息。或者,基于路由信息的前缀确定as对所属区域的区域信息。
14.通过该可能的实现方式,可以获取到路径信息中as对所属区域的区域信息。这样,网络设备即可基于该区域信息在验证表项数据库中对该as对进行验证,提高了as对的验证的准确率。
15.需要说明的是,本技术实施例可以通过任意能够获取到as对所属区域的区域信息的方式,来获取该区域信息。
16.在另一种可能的设计方式中,在基于确定的as对所属区域的区域信息,以及验证表项数据库对as对进行验证之前,上述方法还包括:获取该验证表项数据库。
17.在另一种可能的设计方式中,上述的验证表项数据库包括第一验证表项数据库。则获取该验证表项数据库包括:接收来自服务器的协议数据单元(protocol data units,pdu)报文,pdu报文中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域标识。然后,基于接收到的pdu报文,生成该第一验证表项数据库。
18.在另一种可能的设计方式中,上述的验证表项数据库还包括第二验证表项数据库。则上述获取该验证表项数据库包括:基于网络路由表和/或网络数据,生成该第二验证表项数据库。其中,该网络路由表和/或网络数据中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域信息。
19.通过上述几种可能的实现方式,网络设备可以通过不同方式构建出本地的包括as对所属区域标识的验证表项数据库。这样,基于构建好的验证表项数据库和待验证as对所属区域的区域信息,即可对as对进行准确验证,从而提高了验证包括as对的路径信息所对应路径的准确率。
20.在另一种可能的设计方式中,上述基于确定的as对所属区域的区域信息,以及验证表项数据库,对as对进行验证包括:基于as对所属区域的区域信息,以及上述第一验证表项数据库,对as对进行验证。如果as对验证失败,则基于as对所属区域的区域信息和上述第二验证表项数据库,对as对进行验证。
21.通过该可能的实现方式,网络设备可以先基于as对所属区域的区域信息和从服务器获取到的第一验证表项数据库来验证as对,当验证失败,即可再次根据as对所属区域的
区域信息和基于分析网络路由表和/或网络数据得到的第一验证表项数据库来验证as对。这样,即可在服务器的验证数据不够全面时,由分析网络路由表和/或网络数据所得到的验证数据来进一步对待验证as对进行验证,从而进一步降低了验证as对时的误判率。
22.在另一种可能的设计方式中,上述基于确定的as对所属区域的区域信息,以及验证表项数据库,对as对进行验证包括:基于as对所属区域的区域信息,以及验证表项数据库中与路径信息的前缀对应的目标验证表项,对as对进行验证。其中,该目标验证表项中as对的ip版本与路径信息中前缀的ip版本相同。
23.通过该可能的实现方式,消除了由于as采用不同ip版本时对验证路径信息中as对验证时的影响。
24.在另一种可能的设计方式中,上述的路径信息包括按照预设顺序排列的多个as号,该多个as号用于指示该路径信息对应的路径。上述方法还包括:依次对该路径信息中的每个as对进行验证,以实现该路径信息对应的路径的验证。
25.通过该可能的实现方式,由于通过本技术实施例提供的方法验证as对,可以避免由于在验证路径信息中的as对时,由于不同地区相同as对具有不同的商业关系所造成的商业关系误判。这样,由于as对能够验证准确,那么基于无谷原则验证包括as对的路径信息所对应的路径的合法性时,验证的准确度也相应提高。
26.在另一种可能的设计方式中,上述方法还包括:当在上述路径信息中首次验证as对失败时,翻转该路径信息中未进行验证的as对。然后,对翻转后的as对进行验证,以完成该路径信息对应的路径的验证。
27.通过该可能的实现方式,可以使得验证表项数据库在构建时,仅需构建具有单一商业关系的数据库,即提高了构建验证表项数据库的效率。这是由于在验证路径信息中,通常只包括c2p as对、p2c as对以及p2p as对。这样的话,仅构建包括c2p as对的验证表项数据库,或者仅构建包括p2c as对的验证表项数据库即可。当第一次验证as对失败时,只需将后续为验证的as对进行翻转,在路径合法的时,翻转后的as对即可在验证表项数据库中匹配到相同的as对,从而能够顺利进行验证。
28.在另一种可能的设计方式中,上述方法还包括:如果上述路径信息中包括至多一个验证失败的as对,则确定该路径信息对应的路径验证成功。
29.在另一种可能的设计方式中,上述方法还包括:基于上述路径信息生成第一转发表项。
30.通过该两种可能的实现方式,网络设备基于验证成功的路径对应的路径信息生成转发表项。由于该转发表项对应的路径验证成功,即该转发表项为安全的转发表项。这样,当网络设备后续转发报文时,即可使用该安全的转发表项,不会发生路由泄露,从而保证的传输数据的安全性。
31.在另一种可能的设计方式中,上述方法还包括:如果上述路径信息包括至少两个验证失败的as对,则确定该路径信息对应的路径验证失败。
32.在另一种可能的设计方式中,上述方法还包括:基于上述路径信息生成第二转发表项。然后,为该第二转发表项标记特定信息,该特定信息用于指示该第二转发表项是高风险转发表项或低优先级转发表项。
33.通过该两种可能的实现方式,网络设备可以基于验证失败的路径对应的路径信息
生成转发表项。由于该转发表项对应的路径验证失败,即该转发表项为非安全的转发表项,即通过该转发表项转发报文时,可能会发生路由泄露,从而造成数据泄露。进一步的,通过为这些非安全的转发表项标记特定信息,即可提醒网络设备在使用这些转发表项时,综合考虑该转发表项所带来的风险,例如不使用这些转发表项转发安全性要求较高的数据报文。也就是说,网络设备可以基于实际情况使用这些转发表项,从而提高了网络设备使用转发表项时的灵活性。
34.在另一种可能的设计方式中,如果上述的网络设备是第一as中的网络设备;则上述方法还包括:向该目标设备发送上述路径信息对应的路径的验证结果。其中,该目标设备是第一as中与该网络设备连接通信的设备。
35.通过该可能的设计,当该目标设备接收到包括该路径信息的bgp更新报文后,可以基于该验证结果对该路径信息进行处理,而不必再对该路径信息进行验证,从而节省了目标设备的资源,即提高了目标设备的效率。
36.在另一种可能的设计方式中,上述“获取包括as对的路径信息”,包括:获取边界网关协议bgp更新报文。其中,该bgp更新报文中包括有上述的路径信息。
37.在另一种可能的设计方式中,上述方法还包括:在接收上述bgp更新报文后,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。或者,在发送该bgp更新报文前,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。
38.通过该可能的实现方式,网络设备验证包括as对的路径信息所对应的路径的时机比较灵活,即可在接收路径信息后即进行验证,也可以在接收到路径信息或生成路径信息后,发送该路径信息之前进行验证,这样,即表明本技术实施例提供的方法适用于多种场景,提高了本技术实施例方法应用的范围。
39.第二方面,本技术实施例提供了一种验证自治系统as对的装置,该装置应用于网络设备。该装置包括:获取单元,用于获取路径信息,路径信息包括as对,as对包括路径信息中相邻的两个as号。处理单元,用于确定as对所属区域的区域信息,以及用于基于区域信息对as对进行验证。
40.在一种可能的设计方式中,上述的处理单元,具体用于基于区域信息和验证表项数据库,对as对进行验证。
41.在另一种可能的设计方式中,上述处理单元,具体用于当验证表项数据库中存在包括as对、以及与区域信息对应的区域标识的验证表项,则确定对as对验证成功。
42.在另一种可能的设计方式中,上述的处理单元,还具体用于当验证表项数据库中不存在包括as对、以及与区域信息对应的区域标识的验证表项,则确定对as对验证失败。
43.在另一种可能的设计方式中,上述的处理单元,还用于在包括路径信息的路由信息中确定as对所属区域的区域信息。或者,还用于基于路由信息的前缀,确定as对所属区域的区域信息。
44.在另一种可能的设计方式中,上述的获取单元,还用于获取验证表项数据库。
45.在另一种可能的设计方式中,上述验证表项数据库包括第一验证表项数据库,则上述装置还包括:接收单元,用于接收来自服务器的协议数据单元pdu报文,pdu报文中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域标识。上述的处理单
元,还用于基于pdu报文,生成第一验证表项数据库。
46.在另一种可能的设计方式中,上述验证表项数据库还包括第二验证表项数据库。则上述的处理单元,还用于基于网络路由表和/或网络数据,生成第二验证表项数据库。其中,网络路由表和/或网络数据中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域信息。
47.在另一种可能的设计方式中,上述的处理单元,还具体用于基于区域信息和第一验证表项数据库,对as对进行验证;以及用于,如果as对验证失败,则基于区域信息和第二验证表项数据库,对as对进行验证。
48.在另一种可能的设计方式中,上述的处理单元,还具体用于基于区域信息,以及验证表项数据库中与路径信息的前缀对应的目标验证表项,对as对进行验证。其中,目标验证表项中as对的网际互联协议ip版本与路径信息中前缀的ip版本相同。
49.在另一种可能的设计方式中,上述路径信息包括按照预设顺序排列的多个as号,该多个as号用于指示路径信息对应的路径。则上述的处理单元,还用于依次对路径信息中的每个as对进行验证,以实现路径信息对应的路径的验证。
50.在另一种可能的设计方式中,上述处理单元,还用于当在路径信息中首次验证as对失败时,翻转路径信息中未进行验证的as对。以及,用于对翻转后的as对进行验证,以完成路径信息对应的路径的验证。
51.在另一种可能的设计方式中,上述的处理单元,还用于如果路径信息中包括至多一个验证失败的as对,则确定路径信息对应的路径验证成功。
52.在另一种可能的设计方式中,上述的处理单元,还用于基于路径信息生成第一转发表项。
53.在另一种可能的设计方式中,上述的处理单元,还用于如果路径信息包括至少两个验证失败的as对,则确定路径信息对应的路径验证失败。
54.在另一种可能的设计方式中,上述的处理单元,还用于基于路径信息生成第二转发表项。以及,用于为第二转发表项标记特定信息,特定信息用于指示第二转发表项是高风险转发表项或低优先级转发表项。
55.在另一种可能的设计方式中,如果上述的网络设备是第一as中的网络设备,则上述装置还包括:发送单元,用于向目标设备发送路径信息对应的路径的验证结果;其中,目标设备是第一as中与网络设备连接通信的设备。
56.在另一种可能的设计方式中,上述的获取单元,具体用于获取边界网关协议bgp更新报文,bgp更新报文中包括路径信息。
57.在另一种可能的设计方式中,上述的处理单元,还用于在接收bgp更新报文后,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。或者,用于在发送bgp更新报文前,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。
58.应理解,上述划分的各个功能模块/单元可以集成为一个或多个单元/模块,上述划分的各个功能模块/单元执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的设计提供的技术方案,此处不再赘述。
59.第三方面,本技术实施例提供了一种验证as对的装置。该验证as对的装置包括:存
储器和一个或多个处理器,存储器和处理器耦合。存储器用于存储计算机指令,处理器用于调用该计算机指令,以执行如第一方面及其任一种可能的设计方式提供的任一种方法。
60.第四方面,本技术实施例提供了一种验证as对的设备,该设备是as中的网络设备。该设备用于执行如第一方面及其任一种可能的设计方式提供的任一种方法。
61.第五方面,本技术实施例提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在验证as对的装置上运行时,使得该验证as对的装置执行上述第一方面中的任一种可能的实现方式提供的任一种方法。
62.第六方面,本技术实施例提供了一种计算机程序产品,当其在验证as对的装置上运行时,使得第一方面中的任一种可能的实现方式提供的任一种方法被执行。
63.第七方面,本技术实施例提供了一种芯片系统,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行第一方面中的实现方式提供的任一种方法。
64.可以理解的是,上述提供的任一种装置、计算机存储介质、计算机程序产品或芯片系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
65.在本技术实施例中,上述验证as对的装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术实施例类似,属于本技术实施例权利要求及其等同技术的范围之内。
附图说明
66.图1为本技术实施例提供的一种合法的as路径的示意图;
67.图2为本技术实施例提供的一种非法的as路径的示意图;
68.图3为本技术实施例提供的一种网络设备的硬件结构示意图;
69.图4为本技术实施例提供的一种验证系统的架构示意图;
70.图5为本技术实施例提供的一种验证as对的方法的流程示意图;
71.图6为本技术实施例提供的一种生成第一验证表项数据库的方法流程示意图;
72.图7为本技术实施例提供的一种as用户在rir网站上注册aspa信息的示意图;
73.图8为本技术实施例提供的一种pdu报文的示意图;
74.图9为本技术实施例提供的一种生成第二验证表项数据库的方法流程示意图;
75.图10为本技术实施例提供的一种验证as对的装置100的结构示意图;
76.图11为本技术实施例提供的一种芯片系统的结构示意图;
77.图12为本技术实施例提供的计算机程序产品的结构示意图。
具体实施方式
78.为了更清楚的理解本技术实施例,下面对本技术实施例中涉及的部分术语或技术进行说明:
79.1)as邻居商业关系
80.as邻居商业关系是指两个邻居as之间签订的关于流量转发的付费方式的商业合
同关系。基本商业关系包括消费者到提供商关系(customer to provider,c2p),提供商到消费者关系(provider to customer,p2c),端到端关系(peer to peer,p2p),以及同级到同级关系(sibling to sibling,s2s)。
81.其中,c2p关系是指customer as作为bgp路由发送方,付费给provider as,并将customer自己的路由和客户的路由通过provider发送到英特网(internet),以实现通过provider与internet通信。可以看出,provider as是bgp路由的接收方。
82.p2c关系可以理解为c2p关系的反向描述,其描述的内容和c2p关系的内容一致。区别仅在于c2p关系以customer as的角度描述,而p2c关系以provider as的角度描述。不再赘述。
83.此外,具有p2p关系的两个as关系对等,且该对等as间双边免费。但从经济利益的角度出发,两个对等as都不希望对方通过自己来访问internet,因此对等as只把自己的路由和自己客户的路由公告给对方。
84.具有s2s关系的两个as属于同一个组织,两者之间可以自由交换流量,无须任何费用。
85.2)其他术语
86.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
87.在本技术的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
88.本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
89.应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
90.还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中的字符“/”,一般表示前后关联对象是一种“或”的关系。
91.还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
92.应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
93.还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
94.还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0095]
应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0096]
应理解,bgp路由信息中包括有as路径的路径信息(以下简称as路径信息),一条as路径信息可以包括按照第一预设顺序(对应本技术实施例中的预设顺序)排列的多个as号(as number,asn)。其中,as路径信息中的每个as号唯一标识一个as。这样,该第一预设顺序即用于指示as路径信息所指示的as路径经过该多个as号所标识的多个as的顺序。
[0097]
在按照第一预设顺序排列的多个as号中,相邻的两个as号即为一个as对(as pair)。即在as路径信息中,包括多个as对。且该多个as对也是按照第一预设顺序排列的。
[0098]
作为示例,如果as路径1的路径信息是(asn 3,asn 2,asn 1),则as路径1的起点as可以是asn 1所标识的as,终点as可以是asn 3所标识的as。即,asn 1、asn 2、asn 3的排列顺序,指示了as路径1依次经过asn 1所标识的as、asn 2所标识的as、以及asn 3所标识的as。其中,as路径1的路径信息中包括有2个as对,分别为asn 1:asn 2和asn 2:asn 3。
[0099]
其中,as路径信息中的任一个as对,可以是具有预设as邻居商业关系的一对邻居as。该预设as邻居商业关系可以是上述描述的c2p关系、p2c关系、p2p关系或s2s关系中的任一种。
[0100]
为简单描述,在本技术实施例下文中,将具有c2p关系的as对称为c2p as对,将具有p2c关系的as对称为p2c as对,将具有p2p关系的as对称为p2p as对,将具有s2s关系的as对称为s2s as对。
[0101]
对于具有c2p或p2c关系的任一个as对而言,该as对中的邻居as的先后顺序,与该as对所具有的商业关系对应。
[0102]
作为示例,对于as对1,asn 1:asn 2而言,如果as对1是c2p as对,则asn 1所标识的as是customer as,asn 2标识的as是provider as。如果as对1是p2c as对,则asn 1所标识的as是provider as,asn 2标识的as是customer as。
[0103]
为了避免bgp路由泄露带来的后果,当前通常采用valley free原则来检测一条bgp路由信息中的as路径信息是否存在路由泄露的情况。
[0104]
该valley free原则是指,对于任意bgp路由信息中的as路径信息,该as路径信息只能包括严格按照第二预设顺序排列的m个c2p as对、0或1个p2p as对或n个p2c as对中的至少一个as对。其中,m和n是大于或等于0的整数。
[0105]
其中,该第二预设顺序包括:c2p as对之后可以包括0或多个c2p as对、p2p as对、
或者0或多个p2c as对中的至少一种。p2p as对之后仅包括是0或多个p2c as对。p2c as对之后仅包括0或多个p2c as对。
[0106]
也就是说,如果将仅包括c2p as对的as路径信息所指示的路径称为上行路径(upstream path),将仅包括p2c as对的as路径信息所指示的路径称为下行路径(downstream path)。则基于valley free原则,可以使一条同时包括有上行路径和下行路径的as路径,不会反复出现由上下行路径构成的波峰或波谷。这样,也即符合了利益最大化原则。
[0107]
这样的话,当as路径信息中的as对的排列顺序符合上述的valley free原则,则可以认为该as路径信息没有发生路由泄露,即该as路径信息所指示的as路径是合法的。当as路径信息中的as对的排列顺序不符合上述的valley free原则,则可以认为该as路径信息发生了路由泄露,即该as路径信息所指示的as路径是非法的。
[0108]
示例性的,参考图1,图1示出了一种合法的as路径的示意图。
[0109]
如图1所示,图1示出的as路径1的路径信息包括:(asn 5,asn 4,asn 3,asn 2,asn 1)。
[0110]
其中,as路径1的起点as是asn 1所标识的as,终点as是asn 5所标识的as。在as路径1的路径信息中,包括4个as对,分别为asn 1:asn 2、asn 2:asn 3、asn 3:asn 4以及asn 4:asn 5。其中,asn 1:asn 2和asn 2:asn 3均是c2p as对,asn 3:asn 4和asn 4:asn 5均是p2c as对。
[0111]
可以看出,在asn 1:asn 2中,asn 2所标识的as是作为provider的as,而在asn 2:asn 3中,asn 2所标识的as是作为customer的as。类似的,在asn 3:asn 4中,asn 4所标识的as是作为customer的as,而在asn 4:asn 5中,asn 4所标识的as是作为provider的as。
[0112]
可以看出,在as路径1的路径信息中,在具有c2p关系的asn 1:asn 2之后,包括具有c2p关系的asn 2:asn 3,以及包括具有p2c关系的asn 3:asn 4和asn 4:asn 5。在具有c2p关系的asn 2:asn 3之后,仅包括有p2c关系的asn 3:asn 4和asn 4:asn 5。在具有p2c关系的asn 3:asn 4之后,仅包括具有p2c关系的asn 4:asn 5。
[0113]
因此,as路径1的路径信息中的as对的排列顺序是符合valley free原则,即as路径1是合法的。
[0114]
图1示出的as路径2的路径信息包括:(asn 8,asn 7,asn 6,asn 3,asn 2,asn 1)。
[0115]
其中,as路径2的起点as是asn 1所标识的as,终点as是asn 8所标识的as。在as路径2的路径信息中,包括5个as对,分别为asn 1:asn 2、asn 2:asn 3、asn 3:asn 6、asn 6:asn 7以及asn 7:asn 8。其中,asn 1:asn 2和asn 2:asn 3均是c2p as对,asn 3:asn 6是p2p as对,asn 6:asn 7和asn 7:asn 8均是p2c as对。
[0116]
可以看出,在as路径2的路径信息中,在具有c2p关系的asn 1:asn 2之后,包括具有c2p关系的asn 2:asn 3,包括具有p2p关系的asn 3:asn 6,还包括具有p2c关系的asn 6:asn 7和asn 7:asn 8。在具有c2p关系的asn 2:asn 3之后,包括具有p2p关系的asn 3:asn 6,还包括具有p2c关系的asn 6:asn 7和asn 7:asn 8。在具有p2p关系的asn 3:asn 6之后,仅包括具有p2c关系的asn 6:asn 7和asn 7:asn 8。在具有p2c关系的asn 6:asn 7后,仅包括具有p2c关系的asn 7:asn 8。
[0117]
因此,as路径2的路径信息中的as对的排列顺序是符合valley free原则,即as路
径2也是合法的。
[0118]
参考图2,图2示出了一种非法的as路径的示意图。
[0119]
如图2中的(a)所示,图2中的(a)示出的as路径1的路径信息包括:(asn 9,asn 5,asn 4,asn 3,asn 2,asn 1)。
[0120]
其中,as路径1的起点as是asn 1所标识的as,终点as是asn 9所标识的as。在as路径1的路径信息中,包括5个as对,分别为asn 1:asn 2、asn 2:asn 3、asn 3:asn 4、asn 4:asn 5以及asn 5:asn 9。其中,asn 1:asn 2、asn 2:asn 3以及asn 5:asn 9可以均是c2p as对,asn 3:asn 4和asn 4:asn 5可以均是p2c as对。
[0121]
可以看出,在as路径1的路径信息中,在具有p2c关系的asn 4:asn 5之后,包括具有c2p关系的asn 5:asn 9。可见,as路径1的路径信息中的as对asn 4:asn 5和as对asn 5:asn 9的排列顺序不符合valley free原则,即该as路径1是非法的。
[0122]
图2中的(b)示出的as路径2的路径信息包括:(asn 10,asn 8,asn 7,asn 6,asn 3,asn 2,asn 1)。
[0123]
其中,as路径2的起点as是asn 1所标识的as,终点as是asn 10所标识的as。在as路径2的路径信息中,包括6个as对,分别为asn 1:asn 2、asn 2:asn 3、asn 3:asn 6、asn 6:asn 7、asn 7:asn 8以及asn 8:asn 10。其中,asn 1:asn 2、asn 2:asn 3以及asn 8:asn 10均是c2p as对,asn 3:asn 6是p2p as对,asn 6:asn 7和asn 7:asn 8均是p2c as对。
[0124]
可以看出,在as路径2的路径信息中,在具有p2c关系的asn 7:asn 8之后,包括具有c2p关系的asn 8:asn 10。可见,as路径2的路径信息中的as对asn 7:asn 8和as对asn 8:asn 10的排列顺序不符合valley free原则,即该as路径2也是非法的。
[0125]
然而,在基于上述的valley free原则验证bgp路由信息中的as路径信息所指示的as路径的合法性时,经常出现对该as路径信息中as对所具有的商业关系的误判,从而导致验证该as路径信息所指示的as路径的合法性时发生错误。
[0126]
其中,对as路径信息中as对所具有的商业关系的误判,通常是由于在不同地区中,同一个as对可能具有不同的商业关系造成的。
[0127]
作为示例,在地区a,as对1是具有c2p关系的as对。而在地区2,as对1是具有p2c关系的as对。
[0128]
这样的话,在地区b,基于上述valley free原则验证包括as对1的as路径信息所指示的as路径的合法性时,可能会将该as对1在地区a的商业关系,认为是as对1在地区b的商业关系来判定该as路径信息所指示的as路径是否合法,从而导致在地区b,该as路径实际是合法的as路径时,被判定非法as路径,而在该as路径实际是非法as的路径时,反而被判定为合法as路径。
[0129]
基于此,本技术实施例提供一种验证as对的方法,该方法通过在用于验证as对的验证表项数据库中,增加每个as对所属区域的区域标识。这样,即可避免在基于valley free原则验证bgp路由信息中路径信息所指示的as路径的合法性时,由于对该路径信息中的as对的商业关系的误判,从而导致的对该as路径合法性的误判。
[0130]
因此,本技术实施例所提供的验证as对的方法,提高了验证包括该as对的路径信息所指示的as路径合法性的准确率。
[0131]
本技术实施例还提供一种验证as对的装置(以下简称验证装置),该验证装置可以
是任意需要验证as对的网络设备。
[0132]
示例性的,该网络设备可以是网络分析设备、网络控制设备、网关设备或路由设备等,对此不作限定。
[0133]
参考图3,图3示出了本技术实施例提供的一种网络设备30的硬件结构示意图。
[0134]
如图3所示,网络设备30包括处理器31、存储器32、通信接口33以及总线34。处理器31、存储器32以及通信接口33之间可以通过总线34连接。
[0135]
处理器31是网络设备30的控制中心,可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
[0136]
作为一个示例,处理器31可以包括一个或多个cpu,例如图3中所示的cpu 0和cpu 1。
[0137]
存储器32可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0138]
一种可能的实现方式中,存储器32可以独立于处理器31存在。存储器32可以通过总线34与处理器31相连接,用于存储数据、指令或者程序代码。处理器31调用并执行存储器32中存储的指令或程序代码时,能够实现本技术实施例提供的验证as对的方法。
[0139]
另一种可能的实现方式中,存储器32也可以和处理器31集成在一起。
[0140]
通信接口33,用于网络设备30与其他设备(如服务器等)通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口33可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
[0141]
总线34,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0142]
需要指出的是,图3中示出的结构并不构成对该网络设备的限定,除图3所示部件之外,该网络设备30可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0143]
本技术实施例还提供一种验证as对的系统(以下简称为验证系统),该验证系统是基于rpki机制的验证系统。
[0144]
具体的,参考图4,图4示出了本技术实施例提供的一种验证系统40的架构示意图。
[0145]
如图4所示,验证系统40包括as 41和as 42,as 41和as 42之间可以通过网络设备411和网络设备421运行外部bgp(external/exterior bgp,ebgp)来交换bgp路由信息。其中,网络设备411可以是as 41的网关设备,网络设备421可以是as 42的网关设备。应理解,
上述的验证装置可以应用于该网络设备中。
[0146]
其中,网络设备411与rpki服务器43连接通信。该rpki服务器43与信任锚点44连接通信,并可以从信任锚点44获取自治系统服务商验证(autonomous system provider authorization,aspa)信息。
[0147]
然后,rpki服务器43对aspa信息进行加工处理,以得到明文的aspa验证信息。其中,rpki服务器43可以是as 41专用的rpki服务器,也可以是包括as 41在内的多个as(例如还包括as42)公用的rpki服务器,对此不作限定。
[0148]
这样,网络设备411即可从rpki服务器43获取到aspa验证信息,并用以生成验证表项数据库。这样的话,网络设备411即可在接收到网络设备421发送的bgp路由信息后,基于该验证表项数据库,对该bgp路由信息里的as路径信息中的as对进行验证,以实现对该as路径信息所指示的as路径的合法性验证。
[0149]
下面结合附图,对本技术实施例提供的验证as对的方法予以说明。
[0150]
参考图5,图5示出了本技术实施例提供的一种验证as对的方法的流程示意图。该方法可以应用于图4所示的验证系统40中的网络设备。该方法可以包括以下步骤:
[0151]
s101、网络设备获取路径信息。
[0152]
其中,该路径信息即为上文描述的as路径信息,即该路径信息指示了一条as路径,该as路径即为该路径信息对应的路径。
[0153]
也就是说,该路径信息中包括至少一个as对,该至少一个as对中的任一个as对,是该路径信息中相邻的两个as号。其中,as对的相关说明可以参考上文描述,这里不予赘述。
[0154]
可选的,网络设备可以通过获取bgp更新报文来获取该路径信息。其中,该bgp更新报文中包括该路径信息。
[0155]
在一种可能的实现方式中,网络设备可以在生成bgp更新报文后,以及向邻居设备发送该bgp更新报文之前,对该bgp更新报文里路径信息中的as对进行验证,从而实现该路径信息中所指示的as路径的合法性验证。
[0156]
作为示例,参考图4,如果网络设备是as 41中作为网关设备的网络设备411,则网络设备411可以在生成bgp更新报文后,以及向as 41的邻居as 42中作为网关设备的网络设备421发送该bgp更新报文之前,对该bgp更新报文里路径信息中的as对进行验证,以实现该路径信息所指示的as路径的合法性验证。
[0157]
在另一种可能的实现方式中,网络设备可以在接收到邻居设备发送的bgp更新报文后,对该bgp更新报文里路径信息中的as对进行验证,从而实现该路径信息所指示的as路径的合法性验证。
[0158]
作为示例,参考图4,如果网络设备是as 41中作为网关设备的网络设备411,则网络设备411可以在接收到as 41的邻居as 42中作为网关设备的网络设备421发送的bgp更新报文后,对该bgp更新报文里路径信息中的as对进行验证,以实现该路径信息所指示的as路径的合法性验证。
[0159]
其中,通过对as对进行验证,从而实现对包括该as对的路径信息所指示的as路径的合法性验证的说明,可以参考下文s104的描述,这里不予赘述。
[0160]
s102、网络设备确定上述路径信息中as对所属区域的区域信息。
[0161]
为简单描述,下文以网络设备确定第一as对所属区域的区域信息为例进行说明。
其中,第一as对是s101中获取的路径信息中的至少一个as对中的任一个as对。
[0162]
一种可能的实现方式,包括上述路径信息的路由信息中包括有第一as对所属区域的区域信息。这样,网络设备即可从包括该路径信息的路由信息中确定出第一as对所属区域的区域信息。
[0163]
可选的,对于接收到路由信息(例如bgp路由信息)的网络设备1,网络设备1可以在该bgp路由信息里的路径属性信息中添加网络设备1的地理位置信息。然后,网络设备1即可以将添加了自身地理位置信息的bgp路由信息发送至邻居设备。
[0164]
其中,如果该邻居设备是与网络设备1所在as相邻的as中的网络设备,则网络设备1还在该bgp路由信息里的路径信息中添加自身所在as的as号(例如asn 1)。
[0165]
这样,如果该邻居设备是本技术实施例所述的网络设备,则本技术实施例所述的网络设备在接收到网络设备1添加了自身地理位置信息的bgp路由信息后,该bgp路由信息里包括asn 1的第一as对所属区域的区域信息,即可以基于网络设备1所添加的地理位置信息确定得到。
[0166]
示例性的,网络设备1可以在接收到的bgp路由信息1里添加地理位置信息,具体如下所示:
[0167]-as path:3356 4809 9392
[0168]-286:4990(europe)
[0169]
其中,“286”是网络设备1所在as(例如as 1)的as号。网络设备1在该bgp路由信息1里的路径属性信息中添加的自身的地理位置信息可以是“4990(europe)”,以标记自身所处地理位置为“europe”。其中,“4990”是“europe”的标识号。
[0170]
如果网络设备所在as的邻居as是as 2,则当网络设备1需要将接收到的bgp路由信息1发送至as 2中的网络设备2时,网络设备1还需在bgp路由信息1的路径信息中添加as 1的as号286。即上述的as path变为“as path:286 3356 4809 9392”。
[0171]
这样,当本技术实施例所述的网络设备是上述的网络设备2时,本技术实施例所述的网络设备接收到网络设备1发送的bgp路由信息1后,该bgp路由信息1中包括as号286的第一as对(即as对3356:286)所属区域的区域信息,即为网络设备1在bgp路由信息1里添加的地理位置信息“4990(europe)”,也即as对3356:286所属区域的区域信息为“europe”。其中,3356是网络设备1所在as的另一个邻居as(例如as 3)的as号。
[0172]
另一种可能的实现方式,包括上述路径信息的路由信息中包括有前缀。通常,该前缀是由ip地址段和掩码组成,对此不予赘述。这样,网络设备即可以基于该前缀所覆盖的任一个ip地址,探测到达该ip地址所经过的地理位置,从而确定出路径信息中的as对所属区域的区域信息。
[0173]
作为示例,路径信息1具体如下:
[0174]
"as_path":"4809 58879 132813",
[0175]
"prefix":"45.195.52.0/22"
[0176]
其中,路径信息1为(4809,58879,132813),路径信息1的前缀是45.195.52.0/22。则网络设备可以基于该前缀所覆盖的ip地址(例如45.195.52.1)进行traceroute探测,并获取到返回的traceroute结果。
[0177]
例如,该traceroute结果中指示,到达45.195.52.1经过了以下网络节点:as号
4809所在as的一个或多个位于地区1的网络节点,as号58879所在as的一个或多个位于地区1和地区2的网络节点,as号132813所在as的一个或多个位于地区2的网络节点。
[0178]
那么,网络设备即可确定该路径信息中的as对132813:58879所属区域的区域信息为地区2,as对58879:4809所属区域的区域信息为地区1。
[0179]
当然,以上用于确定第一as对所属区域的区域信息的可能的实现方式,仅为示例性说明,本技术实施例对确定第一as对所属区域的区域信息的具体实现方式不作限定。
[0180]
s103、网络设备基于上述确定的as对所属区域的区域信息,对as对进行验证。
[0181]
为简单描述,以网络设备基于确定的第一as对所属区域的区域信息,对第一as对进行验证为例进行说明。
[0182]
具体的,网络设备基于确定的第一as对所属区域的区域信息(本技术实施例下文中将“第一as对所属区域的区域信息”简称为“第一区域信息”)和验证表项数据库,对第一as对进行验证。
[0183]
其中,该验证表项数据库可以是网络设备预置的,也可以是网络设备在对上述路径信息中的as对进行验证之前从服务器获取的,对此不作限定。
[0184]
其中,该验证表项数据库中包括至少一条验证表项。
[0185]
对于该至少一条验证表项中的第一验证表项而言,第一验证表项中包括至少一个具有预设商业关系的as对。其中,该预设商业关系可以是上文描述的c2p关系、p2c关系、p2p关系或s2s关系中的任一个。
[0186]
为方便描述,本技术实施例在下文中以该预设商业关系是c2p关系为例进行说明。这种情况下,即第一验证表项中包括至少一个c2p as对,也即,验证表项数据库中的as对均为c2p as对。
[0187]
应理解,对于第一验证表项中的至少一个c2p as对而言,该至少一个c2p as对包括相同的customer as号(例如as 1的asn 1)。也就是说,该customer as号所指示的as,包括至少一个provider as。
[0188]
示例性的,如表1所示,表1中所示出的表格的一行,即为一个验证表项。
[0189]
其中,验证表项1可以包括customer as1的as号(即asn 1)和provider as2的as号(asn 2)构成的as对(即asn 1:asn 2)。
[0190]
验证表项2可以包括customer as3的as号(即asn 3)和和provider as4(asn 4)构成的as对(即asn 3:asn 4),以及包括customer as3的as号(即asn 3)和provider as5(asn 5)构成的as对(即asn 3:asn 5)。
[0191]
可以看出,customer as3包括两个provider as(即provider as4和provider as5)。
[0192]
具体如表1所示:
[0193]
表1
[0194]
customer asnprovider asnsasn 1asn 2asn 3asn 4,asn 5
[0195]
需要说明的是,上述的第一验证表项中还包括上述至少一个c2p as对所属区域的区域标识。
[0196]
其中,该至少一个c2p as对的所属区域,即为该至少一个c2p as对所处的地理区域。该区域标识唯一标识了该至少一个c2p as对所处的地理区域。
[0197]
作为第二个示例,结合表1,参考表2,表2示意性的示出了包括as对所属区域的区域标识的验证表项1和验证表项2。
[0198]
其中,验证表项1所包括的1个c2p as对所属区域的区域标识为区域标识1,验证表项2所包括的2个c2p as对所属区域的区域标识为区域标识2。
[0199]
具体如表2所示:
[0200]
表2
[0201]
customer asnprovider asns区域标识(region identifier)asn 1asn 2区域标识1asn 3asn 4,asn 5区域标识2
[0202]
可以理解的是,同一个as对在不同区域的商业关系,可以均为c2p关系。因此,验证表项数据库中可以包括多个包括相同as对、但区域标识不同的验证表项。
[0203]
作为第三个示例,如果表2中示出的as对(asn 1:asn 2)在区域标识为区域标识3的区域中,也是c2p关系,则验证表项数据库中还包括一条包括as对(asn 1:asn 2)、且区域标识为区域标识3的验证表项。
[0204]
具体如表3所示:
[0205]
表3
[0206]
customer asnprovider asns区域标识(region identifier)asn 1asn 2区域标识1asn 3asn 4,asn 5区域标识2asn 1asn 2区域标识3
[0207]
作为第四个示例,如果表2中示出的as对(asn 3:asn 4)在区域标识为区域标识4的区域中,也是c2p关系,则验证表项数据库中还包括一条包括as对(asn 3:asn 4)、且区域标识为区域标识4的验证表项。
[0208]
具体如表4所示:
[0209]
表4
[0210]
customer asnprovider asns区域标识(region identifier)asn 1asn 2区域标识1asn 3asn 4,asn 5区域标识2asn 3asn 4区域标识4
[0211]
还应理解,对于包括相同customer asn的至少一个as对来说,如果该至少一个as对在所有区域中的商业关系均为c2p关系,则在包括该至少一个c2p as对的验证表项中,该验证表项的区域标识可以为空。
[0212]
作为第五个示例,如果表2中示出的as对(asn 3:asn 4)和(asn 3:asn 5)在所有区域内均为c2p关系,则验证表项数据库中包括(asn 3:asn 4)和(asn 3:asn 5)的验证表项,其区域标识可以为空。
[0213]
具体如表5所示:
[0214]
表5
[0215]
customer asnprovider asns区域标识(region identifier)asn 1asn 2区域标识1asn 3asn 4,asn 5 [0216]
可选的,上述的验证表项数据库可以包括第一验证表项数据库和第二验证表项数据库中的至少一个验证表项数据库。
[0217]
为清楚描述,本技术实施例下文中以上述的验证表项数据库包括第一验证表项数据库和第二验证表项数据库为例进行具体说明。
[0218]
其中,第一验证表项数据库可以是基于服务器获取到的aspa验证信息生成的验证表项数据库。其中,该aspa验证信息可以是服务器从区域互联网注册机构(regional internet registry,rir)(例如五大rir:亚太rir、北美rir、欧洲rir、南美rir以及非洲rir)的信任锚点获取的。
[0219]
有关生成第一验证表项数据库的具体描述,可以参考下文s201-s203的描述,这里不予赘述。
[0220]
第二验证表项数据库可以是基于网络上公开的网络路由表和/或网络数据所生成的验证表项数据库。有关生成第二验证表项数据库的具体描述,可以参考下文文s301-s302的描述,这里不予赘述。
[0221]
应理解,上述的第一验证表项数据库,可以包括第一验证表项子数据库和第二验证表项子数据库。其中,对于第一验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为第四版因特网协议(internet protocol version 4,ipv4)的ip地址。
[0222]
对于第二验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为第六版因特网协议(internet protocol version 6,ipv6)的ip地址。
[0223]
类似的,上述的第二验证表项数据库,可以包括第三验证表项子数据库和第四验证表项子数据库。其中,对于第三验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为ipv4的ip地址。
[0224]
对于第四验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为ipv6的ip地址。
[0225]
这样,网络设备即可基于第一区域信息、第一验证表项数据库以及第二验证表项数据库,对路径信息中的as对进行验证。
[0226]
在一种可能的实现方式中,网络设备可以先基于第一区域信息和第一验证表项数据库,对第一as对进行验证。当第一as对验证失败,网络设备可以再基于第一区域信息和第二验证表项数据库,对第一as对进行验证。
[0227]
具体的,当网络设备先基于第一区域信息和第一验证表项数据库,对第一as对进行验证时,网络设备可以基于上述获取的路径信息中的前缀,确定用于验证该路径信息中as对的验证表项子数据库。
[0228]
容易理解,如果上述获取的路径信息中前缀的ip地址段是ipv4地址段,则用于验证第一as对的验证表项子数据库是第一验证表项子数据库。如果路径信息中前缀的ip地址
段是ipv6地址段,则用于验证第一as对的验证表项数据库是第二验证表项子数据库。
[0229]
以路径信息中前缀的ip地址段是ipv4地址段为例,这种情况下,用于验证该第一as对的验证表项数据库是第一验证表项子数据库(这种情况下,第一验证表项子数据库中的验证表项,对应于本技术实施例中的目标验证表项)。
[0230]
这样,网络设备可以基于第一区域信息,确定在第一验证表项子数据库中,是否存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,或者,确定在第一验证表项子数据库中,是否存在包括第一as对、以及区域标识项为空的验证表项,来确定对第一as对是否验证成功。
[0231]
具体的,如果网络设备确定在第一验证表项子数据库中,存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,则确定第一as对验证成功。
[0232]
如果网络设备确定在第一验证表项子数据库中,不存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,则确定第一as对验证失败。
[0233]
可选的,网络设备可以先遍历第一验证表项子数据库,以确定第一验证表项子数据库中是否存在第一as对。
[0234]
因此,当第一验证表项子数据库中存在第一as对时,网络设备可以进一步确定第一验证表项子数据库里第一as对所在的验证表项中,区域标识项是否为空。由上文可知,若区域标识项为空,则包括该区域标识项的验证表项中的as对,在所有区域的商业关系均相同。
[0235]
这样,若该区域标识项为空,则网络设备确定在第一验证表项子数据库中,存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,即确定第一as对验证成功。
[0236]
若该区域标识项不为空,则在一种可能的实现方式中,网络设备可以基于上述的预设规则确定出该区域标识项中的区域标识所对应的地理区域,并进一步确定该地理区域和第一区域信息所指示的地理区域是否相同。
[0237]
若相同,则网络设备确定在第一验证表项子数据库中,存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项。若不同,则网络设备确定在第一验证表项子数据库中,不存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,即确定第一as对验证失败。
[0238]
若该区域标识项不为空,则在另一种可能的实现方式中,网络设备可以基于预先通过上述预设规则所确定出的第一区域信息对应的第一区域标识,进一步确定第一验证表项子数据库里第一as对所在验证表项中的区域标识项的区域标识,是否是第一区域标识。
[0239]
若是,则网络设备确定在第一验证表项子数据库中,存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项。若否,则网络设备确定在第一验证表项子数据库中,不存在包括第一as对、以及与第一区域信息对应的区域标识的验证表项,即确定第一as对验证失败。
[0240]
当第一as对验证失败,网络设备可以再基于第一区域信息和第二验证表项数据库,对第一as对进行验证。
[0241]
具体的,当上述获取的路径信息中前缀的ip地址段是ipv4地址段时,网络设备可以基于第一区域信息和第二验证表项数据库中的第三验证表项子数据库,对第一as对进行验证。
[0242]
其中,网络设备基于第一区域信息和第三验证表项子数据库,对第一as对进行验证的过程,可以参考上文中网络设备基于第一区域信息和第一验证表项子数据库,对第一as对进行验证的过程的描述,不再赘述。
[0243]
在另一种可能是实现方式中,网络设备可以基于第一区域信息和第三验证表项数据库,对第一as对进行验证。其中,第三验证表项数据库是第一验证表项数据库和第二验证表项数据库的合并后得到的验证表项数据库。
[0244]
可以理解的是,第三验证表项数据库中包括第五验证表项子数据库和第六验证表项子数据库。其中,对于第五验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为ipv4的ip地址。
[0245]
可选的,第五验证表项子数据库可以是第一验证表项子数据库和第三验证表项子数据库合并得到的,对此不作限定。
[0246]
对于第六验证表项子数据库中的任一条验证表项中的任一个as对而言,该任一个as对所标识的一对as采用的ip地址,均为ipv6的ip地址。
[0247]
可选的,第六验证表项子数据库可以是第二验证表项子数据库和第四验证表项子数据库合并得到的,对此不作限定。
[0248]
这样,当上述获取的路径信息中前缀的ip地址段是ipv4地址段时,网络设备可以基于第一区域信息和第三验证表项数据库中的第五验证表项子数据库,对第一as对进行验证。
[0249]
其中,网络设备基于第一区域信息和第五验证表项子数据库,对第一as对进行验证的过程,可以参考上文中网络设备基于第一区域信息和第一验证表项子数据库,对第一as对进行验证的过程的描述,不再赘述。
[0250]
s104、网络设备依次对所获取的路径信息中的每个as对进行验证,以实现对该路径信息所指示的as路径的验证。
[0251]
具体的,网络设备可以依次对所获取的路径信息中的每个as对进行验证,并基于上文描述的valley free原则,实现对该路径信息所指示的as路径的合法性验证。
[0252]
其中,valley free原则的说明可以参考上文描述,这里不再赘述。
[0253]
由上文描述可知,路径信息所包括的至少一个as对是按照第一预设顺序排列的,且该第一预设顺序与该路径信息所指示的as路径所经过的as的顺序对应。
[0254]
因此,网络设备可以按照第一预设顺序,依次对所获取的路径信息中的每个as对进行验证,并基于上文描述的valley free原则,实现对该路径信息所指示的as路径的合法性的验证。
[0255]
作为示例,参考图1,以路径信息是图1所示的as路径1的路径信息为例进行说明。
[0256]
对于as路径1(asn 5,asn 4,asn 3,asn 2,asn 1),网络设备可以从包括as路径1的起点as的as对开始,依次对as路径1的路径信息中的每个as对进行验证。即网络设备可以按照asn 1:asn 2

asn 2:asn 3

asn 3:asn 4

asn 4:asn 5的顺序,对as路径1的路径信息中的每个as对进行验证。
[0257]
当然,网络设备也可以从包括as路径1的终点as的as对开始,依次对as路径1的路径信息中的每个as对进行验证。即网络设备可以按照asn 4:asn 5

asn 3:asn 4

asn 2:asn 3

asn 1:asn 2的顺序,对as路径1的路径信息中的每个as对进行验证。对此不作限
定。
[0258]
应理解,基于上文描述的valley free原则和仅包括c2p as对的验证表项数据库,对路径信息中的每个as对进行验证时,如果路径信息中包括至多一个验证失败的as对,则可以确定该路径信息所指示的as路径验证成功,即该as路径合法。如果路径信息中包括至少两个验证失败的as对,则可以确定该路径信息所指示的as路径验证失败,即该as路径非法。
[0259]
其中,应理解,网络设备可以在上述路径信息中首次验证as对失败时,翻转路径信息中未进行验证的as对。对于任一个未进行验证的as对,网络设备可以通过掉换该as对中的两个as号,来实现as对的翻转。这样,即可以实现as对所具有的商业关系的逆转。
[0260]
例如,对于具有c2p关系的as对asn 1:asn 2,将该as对中的as号掉换位置后,即得到翻转后的as对asn 2:asn 1,且该翻转后的as对所具有的商业关系为p2c关系。
[0261]
这样,网络设备即可在仅包括c2p as对的验证表项数据库中,对路径信息中的p2c as对进行验证。可以理解,p2c as对翻转后,即为c2p as对。
[0262]
作为示例,参考图1,以路径信息是图1所示的as路径1的路径信息,且网络设备按照asn 1:asn 2

asn 2:asn 3

asn 3:asn 4

asn 4:asn 5的顺序,对as路径1的路径信息中的每个as对进行验证为例进行说明。
[0263]
网络设备可以基于s102-s103所述的方法,依次对as路径1的路径信息中的每个as对进行验证。如果网络设备对as对asn 1:asn 2和asn 2:asn 3均验证成功,而对as对asn 3:asn 4验证失败,也就是说,网络设备在验证as路径1时首次验证as对失败。
[0264]
这种情况下,网络设备可以将as路径1的路径信息中未进行验证的as对asn 4:asn 5进行翻转,即将as对asn 4:asn 5被翻转为asn 5:asn 4。然后,网络设备继续采用s102-s103所述的方法,对as对asn 5:asn 4进行验证。
[0265]
这样,如果asn 5:asn 4验证成功,则表示as路径1的路径信息中包括一个验证失败的as对(即验证失败的as对asn 3:asn 4),这种情况下,则认为as路径1验证成功,即as路径1合法。如果asn 5:asn 4验证失败,则表示as路径1的路径信息中包括两个验证失败的as对(即验证失败的as对asn 3:asn 4和asn 4:asn 5(或asn 5:asn 4)),这种情况下,则认为as路径1验证失败,即as路径1非法。
[0266]
s105(可选的)、网络设备向目标设备发送上述路径信息所指示as路径的验证结果。
[0267]
其中,该目标设备可以是该网络设备所属as(对应于本技术实施例的第一as)中,与该网络设备连接通信的设备。该目标设备可以和该网络设备通过运行内部bgp(internal/interior bgp,ibgp)来交换bgp路由信息,不再赘述。
[0268]
这样,网络设备对上述路径信息所指示的as路径验证完成后,可以将该路径信息以及该验证结果发送至目标设备。
[0269]
作为响应,目标设备可以接收到该路径信息以及该验证结果。这样的话,当该目标设备接收到包括该路径信息的bgp更新报文后,可以基于该验证结果对该路径信息进行处理,而不必再对该路径信息进行验证,从而节省了目标设备的资源,提高了目标设备的效率。
[0270]
s106(可选的)、网络设备基于上述路径信息生成转发表项。
[0271]
当网络设备对该路径信息所指示的as路径验证成功,即表示该路径信息没有发生路由泄露,即该路径信息所指示的as路径是合法的。
[0272]
这种情况下,网络设备可以基于该路径信息,生成第一转发表项,并将该第一转发表项作为优先级最高的转发表项,以用于转发报文。
[0273]
当网络对该路径信息所指示的as路径验证失败,即表示该路径信息可能发生了路由泄露,即该路径信息所指示的as路径是非法的。
[0274]
这种情况下,网络设备可以基于该路径信息,生成第二转发表项,并为该第二转发表项标记特定信息。其中,该特定信息用于指示该第二转发表项是高风险转发表项或低优先级转发表项。
[0275]
其中,转发表项的风险等级或优先等级,可以用于指示该转发表项中的路由信息发生泄漏的机率。例如,对于风险等级高的转发表项(即高风险转发表项)或优先级低的转发表项(即低优先级转发表项),该转发表项中的路由信息发生泄漏的机率较大,即该转发表项中的路由信息容易发生泄漏。
[0276]
这样,网络设备即可基于转发表项的风险等级或优先等级,确定用于转发报文的转发表项。通常,网络设备选择安全的表项转发报文,当备选的转发表项中不存在安全的转发表项,网络设备则可以选择低风险转发表项或者高优先级的转发表项来转发报文。
[0277]
以上,即为本技术实施例提供的验证as对的方法,通过该方法,可以有效减少在验证路径信息所指示的as路径时,对该路径信息中as对的误判所导致的对该as路径的误判,从而有效提高了验证as路径的准确率。
[0278]
下面,对本技术实施例提供的生成第一验证表项数据库和生成第二验证表项数据库的方法予以说明。
[0279]
参考图6,图6示出了本技术实施例提供的一种生成第一验证表项数据库的方法流程示意图。该方法可以应用于图4所示的验证系统40中。该方法可以包括以下步骤。
[0280]
s201、服务器获取aspa验证信息。
[0281]
其中,该服务器可以是rpki高速缓存服务器,对此不作限定。
[0282]
其中,该aspa验证信息包括具有预设商业关系的as对,以及该as对所属区域的区域标识。
[0283]
这里,该具有预设商业关系的as对的说明,可以参考上文中对具有预设商业关系的as对的描述,不再赘述。
[0284]
其中,区域标识可以用于唯一标识一片地理区域。因此,该as对所属区域的区域标识,即用于唯一标识该as对所在的地理区域。本技术实施例对该地理区域的面积大小不作具体限定。
[0285]
例如,该地理区域可以是以洲为单位划分的地理区域,或者可以是以国家为单位划分的地理区域,或者还可以是以省为单位划分的地理区域,对此不作限定。
[0286]
其中,不同的地理区域,可以使用唯一的身份标识号(identity document,id)作为与该地理区域对应的区域标识。该用于标识不同地理区域的id可以是基于预设规则确定的。本技术实施例对该预设规则不作具体限定。
[0287]
可选的,该预设规则可以是基于预先定义的id,来标识不同的地理区域。
[0288]
示例性的,地理区域1可以通过预先定义的id 1来标识,地理区域2可以通过预先
定义的id 2来标识,等等,不再赘述。
[0289]
可选的,该预设规则还可以是,基于预设编码规则所确定的id,来标识不同的地理区域。本技术实施例对该预设编码规则不作具体限定。
[0290]
示例性的,用于标识以洲为单位划分的地理区域的id,可以通过5位二进制数按照从小到大的编码规则进行编码得到。
[0291]
如表6所示,非洲对应的区域标识可以为00001(即1),大洋洲对应的区域标识可以为00010(即2),亚洲对应的区域标识可以为00011(即3),南极洲对应的区域标识可以为00100(即4),欧洲对应的区域标识可以为00101(即5),拉丁美洲/加勒比群岛对应的区域标识可以为00110(即6),北美洲对应的区域标识可以为00111(即7),以及预留区域对应的区域标识可以为01000-11111(即8~31)。
[0292]
具体如表6所示:
[0293]
表6
[0294][0295]
在一种可能的实现方式中,服务器可以从信任锚点获取aspa验证信息。
[0296]
具体的,该信任锚点的功能可以通过任意具有计算处理能力的计算机设备实现,本技术实施例对实现该信任锚点功能的设备的具体形式不作限定。
[0297]
其中,该信任锚点可以是rir的信任锚点。例如,对于亚太rir,其信任锚点可以是信任锚点1。再例如,对于北美rir,其信任锚点可以是信任锚点2,等等,不再赘述。
[0298]
具体的,拥有as号的用户(以下简称为as用户)可以向其所在地区对应的rir的信任锚点,上报自身的aspa信息。这样,rir的信任锚点即可获取到该as用户的aspa验证信息。
[0299]
可选的,as用户可以通过在其所在地区对应的rir网站上注册aspa信息,以使该rir的信任锚点基于该aspa信息确定出aspa验证信息。
[0300]
由上文描述可知,在验证表项数据库中,可以仅包括c2p as对。因此,在as用户在其所在地区对应的rir网站上注册aspa信息时,仅需作为customer的as用户在其所在地区对应的rir网站上注册aspa信息。
[0301]
下面即以作为customer的as用户在其所在地区对应的rir网站上注册aspa信息为例进行说明。
[0302]
示例性的,参考图7,图7示出了as用户在rir网站上注册aspa信息的示意图。
[0303]
如图7中的(a)所示,as用户可以先基于预先注册的账户和密码,通过显示屏70上
的rir网站登录界面登录rir网站。
[0304]
接着,as用户即可以在显示屏70上显示的rir网站的“注册商业关系”界面701,在“customer as”输入框中输入作为customer as的as号,在“provider as”输入框中输入作为前述customer as的provider as的as号,以及在“所属地理区域”输入框中输入,由前述的customer as的as号和provider as的as号构成的as对所处的地理区域位置。
[0305]
应理解,“customer as”输入框中的as号的数量仅为一个,而“provider as”输入框中的as号可以是多个,即一个customer as可以对应有多个provider as,对此不作限定。
[0306]
然后,as用户点击界面701上的“注册按钮”,即可将在界面“701”输入的aspa信息提交到rir。
[0307]
这样,rir的信任锚点即可接收到as用户提交的aspa信息,并基于该aspa信息,确定出至少一个c2p as对。rir的信任锚点还可以基于该至少一个c2p as对所处的地理区域位置,基于上述的预设规则,确定出该至少一个c2p as对所属区域的区域标识。这样,rir的信任锚点即基于as用户提交的aspa信息,得到了该as用户的aspa验证信息。
[0308]
可以看出,基于图7中的(a)描述的示例,as用户可以将自己的aspa信息注册在rir网站上,即图7中的(a)中的“customer as”输入框中输入自身的as号。也可以将已知的其他as用户的aspa信息注册在rir网站上,即图7中的(a)中的“customer as”输入框中输入该其他as的as号,对此不作限定。
[0309]
如图7中的(b)所示,显示屏70上显示的rir网站的“注册商业关系”界面701上,仅包括“provider as”输入框。这种情况下,即默认作为该provider as的customer as是输入该aspa信息的as用户。
[0310]
这样,as用户可以在基于预先注册的账户和密码,通过显示屏70上的rir网站登录界面登录rir网站,并进入显示屏70上所显示的“注册商业关系”界面701后,在“provider as”输入框中输入作为该as用户的provider as的as号,以及在“所属地理区域”输入框中输入,前述provider as的as号和该as用户的as号所构成的as对所处的地理区域位置。
[0311]
应理解,“provider as”输入框中的as号可以是多个,不再赘述。
[0312]
然后,as用户点击界面701上的“注册按钮”,即可将在界面“701”输入的aspa信息提交到rir。
[0313]
这样,rir的信任锚点即可接收到as用户提交的aspa信息,并基于该aspa信息,确定出至少一个c2p as对。rir的信任锚点还可以基于该至少一个c2p as对所处的地理区域位置,基于上述的预设规则,确定出该至少一个c2p as对所属区域的区域标识。这样,rir的信任锚点即基于as用户提交的aspa信息,得到了该as用户的aspa验证信息。
[0314]
可以看出,基于图7中的(b)描述的示例,as用户可以将自身的aspa信息注册在rir网站上。
[0315]
这样,rir的信任锚点基于一个或多个as用户注册的多个注册aspa信息,即可确定出多条aspa验证信息。
[0316]
然后,rir的信任锚点可以通过加密或不加密的方式,将确定出的aspa验证信息发送给服务器。
[0317]
可选的,rir的信任锚点可以在接收到服务器获取aspa验证信息的请求后,将确定出的aspa验证信息通过加密或不加密的方式发送给服务器。
[0318]
可选的,rir的信任锚点可以主动的将确定出的aspa验证信息通过加密或不加密的方式发送给服务器。
[0319]
可选的,rir的信任锚点可以按照预设周期,主动将确定出的aspa验证信息通过加密或不加密的方式发送给服务器。对此不作限定。
[0320]
作为响应,服务器接收到rir的信任锚点发送的aspa验证信息,即获取到该aspa验证信息。
[0321]
另一种可能的实现方式中,服务器获取基于网络上公开的网络路由表和/或网络数据所确定出的至少一条aspa验证信息。
[0322]
可选的,服务器可以接收网络设备发送的至少一条aspa验证信息。该至少一条aspa验证信息可以是该网络设备基于从网络上获取的公开的网络路由表和/或网络数据,所确定出的至少一条aspa验证信息。
[0323]
其中,网络上公开的网络路由表和/或网络数据中,包括具有预设商业关系的as对和该as对所属区域的区域信息。这样的话,基于这些网络路由表和/或网络数据,该网络设备即可确定出至少一条aspa验证信息。
[0324]
示例性的,网络设备可以通过路由处理工具,提取出网络路由表和/或网络数据中的至少一个as对,并分析出该至少一个as对所具有的商业关系。这样,网络设备即可以从该至少一个as对中确定出至少一个具有预设商业关系的as对。
[0325]
然后,网络设备可以基于网络路由表和/或网络数据的上下文或前缀,确定该至少一个具有预设商业关系的as对所处地理位置的区域信息。当然,该网络路由表和/或网络数据中也可以包括该该至少一个具有预设商业关系的as对的区域置信息,对此不作限定。
[0326]
这样,网络设备即可根据该至少一个具有预设商业关系的as对的区域信息,并基于上述预设规则,确定出该至少一个具有预设商业关系的as对的区域标识。这样,网络设备即基于网络上公开的网络路由表和/或网络数据,确定出至少一条aspa验证信息。
[0327]
可选的,服务器还可以直接从网络上获取公开的网络路由表和/或网络数据,进而确定出至少一条aspa验证信息。
[0328]
其中,服务器基于网络上公开的网络路由表和/或网络数据,确定至少一条aspa验证信息的过程,可以参考上文中网络设备基于网络上公开的网络路由表和/或网络数据,确定至少一条aspa验证信息的描述,不再赘述。
[0329]
s202、服务器向网络设备发送aspa验证信息。
[0330]
其中,该网络设备可以是上述执行验证as对的方法的网络设备,也可以是其他任意具有计算处理能力的网络设备,对此不作限定。
[0331]
可选的,服务器可以先基于获取到的至少一条aspa验证信息,生成至少一个协议数据单元(protocol data units,pdu)报文。然后,服务器向网络设备发送该至少一个pdu报文。
[0332]
应理解,一条aspa验证信息对应一个pdu报文,即在一个pdu报文中,包括至少一个具有预设商业关系的as对,以及包括该至少一个具有预设商业关系的as对所属区域的区域标识。这里,具有预设商业关系的as对的说明,可以参考上文中具有预设商业关系的as对的描述,这里不再赘述。
[0333]
以该预设商业关系是c2p关系为例,这种情况下,在一个pdu报文中,包括一个作为
customer as的as号、至少一个作为provider as的as号、以及该customer as号和该至少一个provider as号所构成的至少一个c2p as对所属区域的区域标识。
[0334]
下面示例性的示出本技术实施例所提供的pdu报文的格式。
[0335]
参考图8,图8示出了本技术实施例所提供的一种pdu报文的示意图。
[0336]
如图8所示,协议版本(protocol version)字段:用于指示服务器和网络设备之间采用的通信协议的版本号,通常占用1字节,即8个比特位。
[0337]
例如,在服务器和网络设备之间运行的通信协议的版本号为2.0,则该字段的值为2,即0000 0010。
[0338]
pdu类型(pdu type)字段:用于指示pdu的类型,通常占用1字节,即8个比特位。例如pdu类型的取值为11,则该字段的取值为11,即0000 1011。
[0339]
填充字段(zero):用于使pdu报文4字节对齐。其中,4字节对齐是指比特位数可以被32整除,这里不作详述。
[0340]
如图8所示,图8所示出的pdu报文中包括有2个zero字段,第一个zero字段占用2字节,即16个比特位。第二个zero字段占用1字节,即8个比特位,
[0341]
长度(length)字段:用于表示该pdu报文的长度,通常占用4字节,即32个比特位。
[0342]
标志位(flags)字段:通常占用1字节,即8个比特位。该字段中的比特位可以标识不同的内容。
[0343]
示例性的,该字段中的第1个比特,可以用于指示该pdu报文所携带的as对是否需要发布。例如,当第1个比特为0,则表示发布该pdu报文所携带的as对。当第1个比特为1,则表示撤销该pdu报文所携带的as对。
[0344]
该字段中的第2个比特,可以用于指示该pdu报文中所携带的任一个as对指示的一对as采用的ip版本。例如,当第2个比特为0,则表示该pdu报文中所携带的任一个as对指示的一对as采用的是ipv4的ip地址。当第2个比特为1,则表示该pdu报文中所携带的任一个as对指示的一对as采用的是ipv6的ip地址。
[0345]
应理解,这种情况下,该字段中的其余6个比特预留。
[0346]
provider as数量(provider as count)字段:用于指示该pdu报文里所携带的as对中,作为provider的as的数量,通常占用2字节,即16个比特位。
[0347]
customer as号(customer autonomous system number)字段:即为该pdu报文里所携带的as对中,作为customer的as的as号,通常占用4字节,即32个比特位。
[0348]
provider as号(provider autonomous system number(s))字段:即为该pdu报文里所携带的as对中,作为provider的as的as号,通常占用4字节,即32个比特位。
[0349]
应理解,该字段可以包括多个作为provider的as的as号,具体数量即为provider as count字段所指示的数量。
[0350]
区域标识(region identifier)字段:用于表示该pdu报文所携带的c2p as对所属区域的区域标识。如图8所示,该字段可以占用4字节长度,即32个比特位。
[0351]
应理解,区域标识字段的实际长度,与上述确定地理区域对应的区域标识的预设规则有关。例如在采用5位二进制数编码区域标识的时候,区域标识实际长度即为5比特。
[0352]
可以理解的是,对于包括同一个customer as号的多个c2p as对而言,该多个c2p as对的所属区域可以相同,也可以不同。当包括同一个customer as号的多个c2p as对的所
属区域不同时,携带该多个c2p as对的pdu报文的数量,与该多个c2p as对所属区域的数量相同。
[0353]
示例性的,对于以下5个c2p as对:asn1:asn2、asn1:asn3、asn1:asn3、asn1:asn5以及asn1:asn2而言,如果c2p as对asn1:asn2、asn1:asn3和asn1:asn3所属区域为区域1,对应区域标识1,c2p as对asn1:asn5和asn1:asn2所属区域为区域2,对应区域标识2。即该5个c2p as对所属区域的数量为2,
[0354]
这样的话,服务器可以通过两个pdu报文来发送该5个c2p as及其对应的区域标识。例如,通过pdu 1携带c2p as对asn1:asn2、asn1:asn3、asn1:asn3以及区域标识1,通过pdu 2携带c2p as对asn1:asn5、asn1:asn2以及区域标识2。
[0355]
s203、网络设备获取上述的aspa验证信息,并基于该aspa验证信息,生成第一验证表项数据库。
[0356]
可选的,网络设备接收到服务器发送的至少一个pdu报文后,即可从该至少一个pdu报文中获取到上述的aspa验证信息。
[0357]
这样,网络设备即可基于获取到的aspa验证信息,生成第一验证表项数据库。
[0358]
可以理解的是,当pdu报文中标志字段指示该pdu报文中所携带的任一个as对指示的一对as采用的ip地址是ipv4的ip地址,则网络设备从该pdu报文中获取的aspa验证信息,用于生成第一验证表项数据库中的第一验证表项子数据库。
[0359]
类似的,当pdu报文中标志字段指示该pdu报文中所携带的任一个as对指示的一对as采用的ip地址是ipv6的ip地址,则网络设备从该pdu报文中获取的aspa验证信息,用于生成第一验证表项数据库中的第二验证表项子数据库。
[0360]
其中,第一验证表项数据库的详细说明,可以参考上文有关验证表项数据库的描述,不再赘述。
[0361]
可以理解的是,当网络设备获取到的aspa验证信息中,包括基于网络上公开的网络路由表和/或网络数据所确定的aspa验证信息,则本技术实施例中所述的验证表项数据库不再包括第二验证表项数据库,也即第一验证表项数据库即为本技术实施例中所述的验证表项数据库。
[0362]
参考图9,图9示出了本技术实施例提供的一种生成第二验证表项数据库的方法流程示意图。该方法可以应用于图4所示的验证系统40中。该方法可以包括以下步骤。
[0363]
s301、网络设备获取aspa验证信息。
[0364]
可选的,网络设备可以先从网络上获取网络上公开的网络路由表和/或网络数据,然后基于获取到的网络路由表和/或网络数据,确定出至少一条aspa验证信息。
[0365]
其中,网络设备基于网络上公开的网络路由表和/或网络数据确定至少一条aspa验证信息的说明,可以参考上文s201中的相关描述,不再赘述。
[0366]
s302、网络设备基于获取到的aspa验证信息,生成第二验证表项数据库。
[0367]
具体的,网络设备基于获取到的至少一条aspa验证信息,生成第二验证表项数据库。
[0368]
其中,对于该至少一条aspa验证信息中的第一aspa验证信息而言,当第一aspa验证信息中任一个as对指示的一对as采用的ip地址是ipv4的ip地址,则第一aspa验证信息用于生成第二验证表项数据库中的第三验证表项子数据库。
[0369]
类似的,当第一aspa验证信息中任一个as对指示的一对as采用的ip地址是ipv6的ip地址,则第一aspa验证信息用于生成第二验证表项数据库中的第四验证表项子数据库。
[0370]
其中,第二验证表项数据库的说明,可以参考上文有关验证表项数据库的描述,不再赘述。
[0371]
综上,本技术实施例提供了一种验证as对的方法,该方法通过在用于验证as对的验证表项数据库中,增加每个as对所属区域的区域标识。这样,即可避免在基于valley free原则验证bgp路由信息中的路径信息所指示的as路径的合法性时,由于对该路径信息中的as对的商业关系的误判,从而导致的对该as路径合法性的误判。因此,本技术实施例所提供的验证as对的方法,提高了验证包括该as对的路径信息所指示的as路径的准确率。
[0372]
上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0373]
本技术实施例可以根据上述方法示例对验证as对的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0374]
如图10所示,图10示出了本技术实施例提供的一种验证as对的装置100的结构示意图。装置100可以应用于网络设备,并用于执行上述的验证as对的方法,例如用于执行图5所示的方法。其中,装置100可以包括获取单元101和处理单元102。
[0375]
获取单元101,用于获取包括as对的路径信息,路径信息中的as对包括该路径信息中相邻的两个as号。处理单元102,用于确定as对所属区域的区域信息,以及用于基于as对所属区域的区域信息对as对进行验证。
[0376]
作为示例,结合图5,获取单元101可以用于执行s101,处理单元102可以用于执行s102-s103。
[0377]
可选的,处理单元102,具体用于基于上述确定的as对所属区域的区域信息和验证表项数据库,对as对进行验证。
[0378]
作为示例,结合图5,处理单元102可以用于执行s103。
[0379]
可选的,处理单元102,具体用于当上述验证表项数据库中存在包括as对、以及与该as对所属区域的区域信息对应的区域标识的验证表项,则确定对该as对验证成功。
[0380]
作为示例,结合图5,处理单元102可以用于执行s103。
[0381]
可选的,处理单元102,还具体用于当上述验证表项数据库中不存在包括as对、以及与该as对所属区域的区域信息对应的区域标识的验证表项,则确定对该as对验证失败。
[0382]
作为示例,结合图5,处理单元102可以用于执行s103。
[0383]
可选的,处理单元102,还用于在包括上述路径信息的路由信息中,确定as对所属区域的区域信息;或者,还用于基于上述路由信息的前缀,确定as对所属区域的区域信息。
[0384]
作为示例,结合图5,处理单元102可以用于执行s103。
[0385]
可选的,获取单元101,还用于获取上述的验证表项数据库。
[0386]
作为示例,结合图6,获取单元101可以用于执行s203。
[0387]
可选的,如果上述的验证表项数据库包括第一验证表项数据库。在装置100还包括:接收单元103,用于接收来自服务器的协议数据单元pdu报文,该pdu报文中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域标识。处理单元102,还用于基于接收到的pdu报文,生成上述第一验证表项数据库。
[0388]
作为示例,结合图6,接收单元103和处理单元102可以用于执行s203。
[0389]
可选的,如果上述的验证表项数据库还包括第二验证表项数据库。则处理单元102,还用于基于网络路由表和/或网络数据,生成上述第二验证表项数据库。其中,网络路由表和/或网络数据中包括具有预设商业关系的as对和具有预设商业关系的as对所属区域的区域信息。
[0390]
作为示例,结合图9,处理单元102可以用于执行s302。
[0391]
可选的,处理单元102,还具体用于基于as对所属区域的区域信息和上述第一验证表项数据库,对as对进行验证;以及用于,如果as对验证失败,则基于as对所属区域的区域信息和上述第二验证表项数据库,对as对进行验证。
[0392]
作为示例,结合图5,处理单元102可以用于执行s103。
[0393]
可选的,处理单元102,还具体用于基于as对所属区域的区域信息,以及上述验证表项数据库中与上述路径信息的前缀对应的目标验证表项,对as对进行验证;其中,该目标验证表项中as对的ip版本与该路径信息中前缀的ip版本相同。
[0394]
作为示例,结合图5,处理单元102可以用于执行s103。
[0395]
可选的,上述路径信息包括按照预设顺序排列的多个as号,该多个as号用于指示该路径信息对应的路径。处理单元102,还用于依次对该路径信息中的每个as对进行验证,以实现该路径信息对应的路径的验证。
[0396]
作为示例,结合图5,处理单元102可以用于执行s104。
[0397]
可选的,处理单元102,还用于当在上述路径信息中首次验证as对失败时,翻转该路径信息中未进行验证的as对。处理单元102,还用于对翻转后的as对进行验证,以完成该路径信息对应的路径的验证。
[0398]
作为示例,结合图5,处理单元102可以用于执行s104。
[0399]
可选的,处理单元102,还用于如果上述路径信息中包括至多一个验证失败的as对,则确定该路径信息对应的路径验证成功。
[0400]
作为示例,结合图5,处理单元102可以用于执行s104。
[0401]
可选的,处理单元102,还用于基于上述路径信息生成第一转发表项。
[0402]
作为示例,结合图5,处理单元102可以用于执行s106。
[0403]
可选的,处理单元102,还用于如果上述路径信息包括至少两个验证失败的as对,则确定该路径信息对应的路径验证失败。
[0404]
作为示例,结合图5,处理单元102可以用于执行s104。
[0405]
可选的,处理单元102,还用于基于上述路径信息生成第二转发表项。处理单元102,还用于为该第二转发表项标记特定信息,该特定信息用于指示该第二转发表项是高风
险转发表项或低优先级转发表项。
[0406]
作为示例,结合图5,处理单元102可以用于执行s106。
[0407]
可选的,上述网络设备是第一as中的网络设备。则装置100还包括:发送单元104,用于向目标设备发送上述路径信息对应的路径的验证结果。其中,该目标设备是第一as中与上述网络设备连接通信的设备。
[0408]
作为示例,结合图5,发送单元104可以用于执行s105。
[0409]
可选的,获取单元101,具体用于获取边界网关协议bgp更新报文,该bgp更新报文中包括上述路径信息。
[0410]
作为示例,结合图5,获取单元101可以用于执行s101。
[0411]
可选的,处理单元102,还用于在上述接收bgp更新报文后,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。或者,处理单元102用于在发送上述bgp更新报文前,对该bgp更新报文里的路径信息中的as对进行验证,以实现该路径信息对应的路径的验证。
[0412]
作为示例,结合图5,处理单元102可以用于执行s103以及s104。
[0413]
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种装置100的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
[0414]
作为示例,结合图3,装置100中的获取单元101和处理单元102,可以通过图3中的处理器31执行图3中的存储器32中的程序代码来实现其功能。接收单元103和发送单元104,可以通过图3中的通信接口3实现其功能。
[0415]
本技术实施例还提供一种芯片系统110,如图11所示,该芯片系统110包括至少一个处理器和至少一个接口电路。
[0416]
作为示例,当该芯片系统110包括一个处理器和一个接口电路时,则该一个处理器可以是图11中实线框所示的处理器111(或者是虚线框所示的处理器111),该一个接口电路可以是图11中实线框所示的接口电路112(或者是虚线框所示的接口电路112)。
[0417]
当该芯片系统110包括两个处理器和两个接口电路时,则该两个处理器包括图11中实线框所示的处理器111和虚线框所示的处理器111,该两个接口电路包括图11中实线框所示的接口电路112和虚线框所示的接口电路112。对此不作限定。
[0418]
处理器111和接口电路112可通过线路互联。例如,接口电路112可用于接收信号(例如获取as对所属区域的区域信息,或接收来自服务器的pdu报文等)。又例如,接口电路112可用于向其它装置(例如处理器111)发送信号。
[0419]
示例性的,接口电路112可读取存储器中存储的指令,并将该指令发送给处理器111。当该指令被处理器111执行时,可使得验证as对的装置执行上述实施例中的各个步骤。当然,该芯片系统110还可以包含其他分立器件,本技术实施例对此不作具体限定。
[0420]
本技术另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在验证as对的装置上运行时,该验证as对的装置执行上述方法实施例所示的方法流程中该验证as对的装置执行的各个步骤。
[0421]
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
[0422]
图12示意性地示出本技术实施例提供的计算机程序产品的概念性局部视图,该计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。
[0423]
在一个实施例中,计算机程序产品是使用信号承载介质120来提供的。该信号承载介质120可以包括一个或多个程序指令,其当被一个或多个处理器运行时可以提供以上针对图5描述的功能或者部分功能。因此,例如,参考图5中s101~s106的一个或多个特征可以由与信号承载介质120相关联的一个或多个指令来承担。此外,图12中的程序指令也描述示例指令。
[0424]
在一些示例中,信号承载介质120可以包含计算机可读介质121,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等等。
[0425]
在一些实施方式中,信号承载介质120可以包含计算机可记录介质122,诸如但不限于,存储器、读/写(r/w)cd、r/w dvd、等等。
[0426]
在一些实施方式中,信号承载介质120可以包含通信介质123,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。
[0427]
信号承载介质120可以由无线形式的通信介质123(例如,遵守ieee 1202.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令可以是,例如,计算机可执行指令或者逻辑实施指令。
[0428]
在一些示例中,诸如针对图5描述的验证as对的装置可以被配置为,响应于通过计算机可读介质121、计算机可记录介质122、和/或通信介质123中的一个或多个程序指令,提供各种操作、功能、或者动作。
[0429]
应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。
[0430]
另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
[0431]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上和执行计算机执行指令时,全部或部分地产生按照本技术实施例的流程或功能。
[0432]
计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0433]
计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0434]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献