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

一种IDC网间路由异常的自动监控方法与流程

2022-12-02 19:03:10 来源:中国专利 TAG:
一种idc网间路由异常的自动监控方法
技术领域
1.本发明属于通信领域,涉及一种idc网间路由异常的监控方法。


背景技术:

2.随着云计算技术的广泛应用,电信运营商及大型企业往往建设多个idc网络作为业务及应用承载的网络平台,同时为了实现业务和应用在这些idc网络之间的灵活部署与迁移,电信运营商及大型企业往往使用dci网络连接这些idc,实现idc之间网络层面的互通。
3.bgp路由协议作为两个自治系统(as)之间进行ip路由交换的标准协议,广泛应用在idc-dci互联场景,实现vpn在不同idc之间使用ipv4协议或ipv6协议互通。虽然bgp路由协议可以通过设置灵活的路由策略实现as之间灵活的双向路由控制,但这种策略的灵活性带来的复杂性,容易导致路由错误,并造成idc之间的通信部分或全部中断,严重影响idc所承载的业务。
4.idc-dci网络使用bgp协议实现互联的场景示例如图1所示。具体环境如下:
5.1、在该示例场景中包括四个idc网络与一个dci网络,其中四个idc网络分别为idc-1、idc-2、idc-3、idc-4。每个网络分别作为一个独立的自治域,对应的自治域号分别为b、c、d、e;dci网络的自治域号为a。
6.2、全网部署了三个vpn,分别为vpn x、vpn y、vpn z。vpn x部署在idc-1、idc-2、idc-3;vpn y部署在idc-1、idc-3;vpn y部署在idc-2、idc-3、idc-4;
7.3、四个idc网络分别与dci网络之间建立物理连接,idc与dci网络互联的边界设备之间建立ebgp会话,使用bgp路由协议在idc与dci之间交换三个vpn的路由,路由交换方式使用ietf技术标准rfc4364中规定的option-a或option-b方式,实现vpn跨idc的互通。
8.4、为了保障网络的安全或者实现网络路由的备份等要求,idc与dci之间的ebgp会话两端,均会部署双向bgp策略,对bgp会话的收发路由进行控制。
9.在上述场景中,如果bgp会话策略的配置失误,往往容易导致路由丢失或路由错误,造成不同idc之间的vpn通信中断,严重影响网络承载的业务及应用。
10.在实际网络环境中,idc网络及vpn网络的数量不限于示例图中的数量。


技术实现要素:

11.本发明所要解决的技术问题是提供一种idc网间路由异常的自动监控方法。
12.本发明解决上述技术问题所采取的技术方案如下:
13.一种idc网间路由异常的自动监控方法,包括:
14.步骤1)建立全网ip地址模型,包括:
15.根据网络规划数据,建立全网每一个vpn内部ip地址段与各idcas号之间的对应关系,作为ebgp路由分析的基准数据;
16.步骤2)idc-dciebgp路由数据采集,包括:
17.使用bmp协议,实时采集idc边界路由器与dci边界路由器之间ebgp会话的原始收发路由数据;
18.步骤3)idcebgp路由数据分析,包括:
19.通过比对bmp协议采集的路由数据与全网ip地址模型,发现出现异常的路由及异常路由的发生时间。
20.本发明采取了上述方案后,能够在idc-dci互联场景下,在idc侧对idc与dci之间双向交换的bgp路由进行自动监控,并自动发现idc双向vpn路由出现路由异常的方法。使用这种方法,可以及时发现,定位bgp路由异常导致的as间通信中断。
21.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、以及附图中所特别指出的结构来实现和获得。
附图说明
22.下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,
23.图1是现有技术中idc-dci网络使用bgp协议实现互联的场景示例图;
24.图2是本发明idc网间路由异常的自动监控方法的流程示意图;
25.图3是本发明中路由数据采集方法的示意图;
26.图4是本发明中路由采集内容的示意图。
具体实施方式
27.以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
28.另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.具体来说,如图2所示,为了克服现有技术的缺陷,本发明提供了一种idc网间路由异常的自动监控方法,包括:
30.步骤1)建立全网ip地址模型,包括:
31.根据网络规划数据,建立全网每一个vpn内部ip地址段与各idcas号之间的对应关系,作为ebgp路由分析的基准数据;
32.步骤2)idc-dciebgp路由数据采集,包括:
33.使用bmp协议,实时采集idc边界路由器与dci边界路由器之间ebgp会话的原始收发路由数据;
34.步骤3)idcebgp路由数据分析,包括:
35.通过比对bmp协议采集的路由数据与全网ip地址模型,发现出现异常的路由及异常路由的发生时间。
36.本发明采取了上述方案后,能够在idc-dci互联场景下,在idc侧对idc与dci之间双向交换的bgp路由进行自动监控,并自动发现idc双向vpn路由出现路由异常的方法。使用这种方法,可以及时发现,定位bgp路由异常导致的as间通信中断。
37.其中,使用本方法,可以实现idc-dci之间双向交换的下列异常路由分析:
38.1、idc发送路由缺失及路由丢失时间;
39.2、idc发送错误路由(不应该发送的路由前缀),及错误路由发送时间;
40.3、dc接收路由丢失及路由丢失时间;
41.4、idc接收路由错误(不应该发送的路由前缀,或归属as号错误的路由前缀)及错误路由发送时间、错误路由来源自治域号。
42.其中,结合具体的实施例对本发明进行详细说,其中,本发明idc网间路由异常的自动监控方法,主要包括下列步骤:
43.步骤1、建立全网ip地址模型:
44.根据网络规划数据,建立全网每一个vpn内部ip地址段与各idcas号之间的对应关系,作为ebgp路由分析的基准数据;
45.步骤2、idc-dciebgp路由数据采集:
46.使用bmp协议,实时采集idc边界路由器与dci边界路由器之间ebgp会话的原始收发路由数据;
47.步骤3、idcebgp路由数据分析:
48.通过比对bmp协议采集的路由数据与全网ip地址模型,发现出现异常的路由及异常路由的发生时间。
49.其中,步骤1、建立全网ip地址模型中,主要包括:
50.根据网络规划数据,建立全网每一个vpn的rd、该wn在每一个idc内使用的ip地址的最大可聚合ip地址段列表、idc自治域号之间的对应关系,作为ebgp路由分析的基准数据。
51.以图1所示场景为例,全网共规划部署了三个vpn,分别为vpn x、vpn y、vpn z。其中vpn x分布在idc-1、idc-2、idc-3。在idc-1中,vpn x使用的ip地址段为prefix-11、prefix-12、......、prefix-1m;在idc-2中,vpn x使用的ip地址段为prefix-21、prefix-22、......、prefix-2n;在idc-4中,vpn x使用的ip地址段为prefix-41、prefix-42、......、prefix-4p。
52.上述在同一个idc内的所有ip地址段均按照最大可聚合地址段的方式表达,即可以合并为一个地址段的ip地址段,使用合并后的地址段表示,直到所有的ip地址段都不能合并为止。例如ipv4地址段10.1.0.0/24与ip地址段10.1.1.0/24,使用地址段10.1.0.0/23表示。
53.在上述ip地址段中,仅包含已经在网络中启用的ip地址段。
54.在上述ip地址段中,仅包含需要在不同idc之间进行通信的ip地址段。
55.根据各idc as号的规划数据,idc-1、idc-2、idc-3、idc-4对应的自治域号分别为b、c、d、e。
56.根据vpn的rd规划数据,vpnx的rd规划为rd-x。
57.根据上述规划数据,建立vpn x的全网ip地址模型如下:
[0058][0059]
按照上述相同的方式,建立vpny与vpnz的ip地址模型。
[0060]
全网所有vpn的ip地址模型组成全网ip地址模型。
[0061]
步骤2、idc-dciebgp路由数据采集中,具体包括:
[0062]
使用bmp协议,从idc侧实时采集idc-dci之间通过ebgp交换的双向路由完整信息。
[0063]
其中,以图1中的idc-1为例,路由数据采集方法如图3所示,采集服务器与idc-1的边界路由器gw建立bmp会话,并使用bmp会话采集idc-1边界路由器与dci路由之间ebgp会话的bgp路由收发信息。
[0064]
在图4中,gw1为idc-1侧边界路由器,gw2为dci侧与gw1互联的边界路由器。
[0065]
idc-1内部署的每一个跨多个idc的vpn,在gw1与gw2中都存在一个路由表vrf与之对应,同时,gw1与gw2之间,需要为该vpn建立一个独立的ebgp会话,用于交换该vrf的路由。
[0066]
以图4中的vpnx为例,在gw1中,该vpn对应的vrf为vrfx,并为该vrf分配rd为rd-x,在gw2中,该vpn对应的vrf为vrfx,在gw1与gw2之间,为该vrf建立ebgp会话,并使用该会话交换vrfx的路由。
[0067]
与vrfx对应的ebgp会话交换的路由信息包括两个方向,分别为gw1至gw2方向发布路由信息与gw2至gw1方向发布路由信息。
[0068]
gw1至gw2方向发布路由信息过程及内容如下:
[0069]
1、vpnx在idc-1中使用,且需要与其他idc进行通信的ip地址段对应的bgp路由,在gw1中经过gw2与gw1之间与vrf x对应的ebgp会话的

出向策略

处理后,保存在post-policy adj-ribs-out中;
[0070]
2、gw1中post-policy adj-ribs-out中的所有路由信息,通过ebgp会话发送至gw2;
[0071]
3、gw2通过ebgp会话接收上述路由后,保存在gw2中与该ebgp会话对应的pre-policy adj-ribs-in中;
[0072]
4、gw2根据与该ebgp会话对应的

入向策略

对pre-policy adj-ribs-in进行处理
后,再进行后续的bgp路由处理流程并使用bgp路由协议将对应路由发布至其他idc,实现其他idc中归属vpnx的主机至idc-1中归属vpnx的主机方向的通信。
[0073]
gw1至gw2方向发布路由信息过程及内容如下:
[0074]
1、vpnx在其他各idc(即除idc-1外的其他idc)中使用的ip地址段,通过bgp路由协议发布至dci,并同步至gw2,并经过gw2与gw1之间与vrf x对应的ebgp会话的

出向策略”处理后,保存在post-policy adj-ribs-out中;
[0075]
2、gw2中post-policy adj-ribs-out中的所有路由信息,通过ebgp会话发送至gw1;
[0076]
3、gw1通过ebgp会话接收上述路由后,保存在gw1中与该ebgp会话对应的pre-policy adj-ribs-in中;
[0077]
4、gw1根据与该ebgp会话对应的

入向策略

对pre-policy adj-ribs-in进行处理后,再进行后续的bgp路由处理流程,实现idc-1中归属vpnx的主机至其他idc中归属vpnx的主机方向的通信。
[0078]
在上述过程中,如果增加了某个ip地址段或某个ip地址段的路由属性发生了变化,gw之间使用bgp的update消息通知对方,增加或覆盖对应ip地址段原有路由信息;如果需要撤销某个ip地址段的路由,gw之间使用bgp的withdraw消息通知对方删除对应ip地址对应的路由信息。
[0079]
在本方案中,通过使用bmp协议采集gw 1与dci网络中每一个边界路由器ebgp会话的pre-policy adj-ribs-in与post-policy adj-ribs-out及其变动信息,就可以获取gw1与gw2之间每一个ebgp会话双向传递的路由信息。该信息即为idc与dci之间双向传递的路由信息,具体包括下列数据:
[0080]
1、bgp会话数据,包括下列内容:
[0081]
每一个bgp会话对应的vpn的rd、bgp会话两端的ip地址。
[0082]
2、每一个bgp会话发送的路由数据,包括下列内容:
[0083]
发送的每一个update消息发送时间戳、发送的每一个update消息中包含的路由前缀、发送的每一个withdraw消息发送时间戳、发送的每一个withdraw消息中包含的路由前缀。
[0084]
3、每一个bgp会话接收的路由数据,包括下列内容:
[0085]
发送的每一个withdraw消息中包含的路由前缀、接收的每一个update消息的接收时间戳、接收的每一个update消息中包含的路由前缀、接收的每一个update消息中包含as-path属性、接收的每一个withdraw消息发送时间戳、接收的每一个withdraw消息中包含的路由前缀。
[0086]
步骤3、idcebgp路由数据分析中,截图包括:
[0087]
基于建立全网ip地址模型,对采集的路由数据进行分析,找出每一个vpn中每一个ebgp会话发送/接收的异常路由及异常路由的发生时间。异常路由包括下列几类:
[0088]
发送路由缺失、发送错误路由(不应该发送的路由前缀)、接收路由丢失和接收路由错误(不应该发送的路由前缀,或归属as号错误的路由前缀)。
[0089]
以在图1中的idc-1对vpnx进行idc-dci路由监控为例,具体分析方法如下:
[0090]
1、分析idc向dci发送的路由中存在的异常路由,包括缺失路由与错误路由,具体
方法如下:
[0091]
在2.2采集的数据中,找出每一个rd为rd-x的bgp会话发送的每一条路由前缀,按照最大可聚合地址段的方式聚合,然后将聚合后的每一条路由前缀(记为p-ax)与2.1中所有rd为rd-x且as号等于b的prefix进行比对,具体比对方法如下:
[0092]
如路由前缀p-ax与某一个prefix完全一致,则p-ax包含的聚合前的路由前缀为正确路由;
[0093]
如路由前缀p-ax属于某一个prefix(记为prefix-mn)的子网,则p-ax包含的聚合前的路由前缀为正确路由;同时,prefix-mn包含但p-ax中不包含的路由前缀集合p-missing={p:p属于prefix-mn子网且p不属于p-ax子网}(其中的p按照最大可聚合方式表达)中的元素均为缺失路由;
[0094]
如存在某一个prefix(记为prefix-mn)属于路由前缀p-ax的子网,对p-ax包含的聚合前的所有路由前缀进一步分析如下:
[0095]
如果聚合前的路由前缀包含p-ax本身,则p-ax本身即为错误路由;
[0096]
如果聚合前的路由前缀p-x为p-ax的子网,且p-x与prefix-mn相同或为prefix-mn的子网,则p-x为正确路由;
[0097]
如果p-x与prefix-mn不同且不是prefix-mn的子网,则p-x为错误路由;
[0098]
其中,路由前缀p-ax与任何prefix均不同,且不是任何prefix的子网或被任何prefix包含,则p-ax包含的聚合前的路由前缀为错误路由。
[0099]
如果某一个prefix与任何一个路由前缀p-ax均不相同,且任何一个路由前缀p-ax都不是该prefix的子网,则该prefix为缺失路由;
[0100]
2、分析idc向dci发送的路由中缺失路由的丢失时间,具体方法如下:
[0101]
第1步中发现的每一条缺失路由,在对应的bgp会话中,在发送方向中查找最近一个包含缺失路由的withdraw消息的时间戳,该时间即为缺失路由的丢失时间;
[0102]
如果没有找到包含缺失路由的withdraw消息,则将该路由拆分为两条路由,在发送方向中查找最近一个包含这两条的withdraw消息的时间戳,该时间即为缺失路由的丢失时间;
[0103]
对于拆分后仍然存在无法找到withdraw消息的路由,则继续将路由拆分为两条路由,重复前述步骤,直至在发送方向中找到包含路由的withdraw消息或路由无法拆分为止。在路由拆分过程中,为了提升采用软件系统自动实现本方法的效率,可以根据网络实际情况,设置路由拆分颗粒度下限,即拆分的路由掩码长度达到颗粒度规定的下限后,如果仍然没有找到withdraw消息,则停止对路由的继续拆分。
[0104]
3、分析idc向dci发送的错误路由的发送时间,具体方法如下:
[0105]
第1步中发现的每一条错误路由,在对应的bgp会话中,在发送方向中查找最近一个包含该路由的update消息的时间戳,该时间即为对应错误路由的发送时间;
[0106]
4、分析idc从dci接收的路由中存在的错误路由,具体方法如下:
[0107]
在2.2采集的数据中,找出每一个rd为rd-x的bgp会话接收的每一条路由前缀(记为p-bx),与2.1中所有rd为rd-x的prefix进行比对,具体比对方法如下:
[0108]
如果p-bx与某一个prefix完全一致或属于某一个prefix的子网,且其as-path属性中的最后一个as号与2.1中该prefix对应的as号一致,则该路由为正确路由;
[0109]
如果p-bx与某一个prefix完全一致或属于某一个prefix的子网,且其as-path属性中的最后一个as号与2.1中该prefix对应的as号不一致,则该路由为错误路由;
[0110]
如果某一个prefix是p-bx的子网,则p-bx为错误路由。
[0111]
5、分析idc从dci接收的路由中的缺失路由,具体方法如下:
[0112]
在第4步中找出的所有正确路由,按照最大可聚合地址段的方式聚合,然后将聚合后的每一条路由前缀(记为p-cx)与与2.1中所有rd为rd-x的prefix进行比对,具体比对方法如下:
[0113]
路由前缀p-cx与某一个prefix完全一致,则对应的prefix不存在路由缺失;
[0114]
路由前缀p-cx属于某一个prefix(记为prefix-mn)的子网,则prefix-mn包含但p-ax中不包含的路由前缀集合p-missing={p:p属于prefix-mn子网且p不属于p-ax子网}(其中的p按照最大可聚合方式表达)中的元素均为缺失路由;
[0115]
6、分析idc从dci接收的路由中缺失路由的丢失时间,具体方法如下:
[0116]
第5步中发现的每一条缺失路由,在对应的bgp会话中,在接收方向中查找最近一个包含缺失路由的withdraw消息的时间戳,该时间即为缺失路由的丢失时间;
[0117]
如果没有找到包含缺失路由的withdraw消息,则将该路由拆分为两条路由,在接收方向中查找最近一个包含这两条的withdraw消息的时间戳,该时间即为缺失路由的丢失时间;
[0118]
对于拆分后仍然存在无法找到withdraw消息的路由,则继续将路由拆分为两条路由,重复前述步骤,直至在接收方向中找到包含路由的withdraw消息或路由无法拆分为止。在路由拆分过程中,为了提升采用软件系统自动实现本方法的效率,可以根据网络实际情况,设置路由拆分颗粒度下限,即拆分的路由掩码长度达到颗粒度规定的下限后,如果仍然没有找到withdraw消息,则停止对路由的继续拆分。
[0119]
7、分析idc从dci接收的错误路由的接收时间,具体方法如下:
[0120]
第4步中发现的每一条错误路由,在对应的bgp会话中,在接收方向中查找最近一个包含该路由的update消息的时间戳,该时间即为对应错误路由的发送时间;
[0121]
按照上述方法,完成所有部署在idc-1中的vpn路由处理,即idc-1与dci之间双向交换的所有路由的异常分析。
[0122]
需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0123]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
[0124]
而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0125]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献