检测边界网关协议节点运行信息一致性的系统及其方法

文档序号:7960198阅读:258来源:国知局
专利名称:检测边界网关协议节点运行信息一致性的系统及其方法
技术领域
本发明涉及因特网(Internet)技术领域,特别是一种检测自治系统(Autonomous System,AS)中边界网关协议(Border Gateway Protocol,BGP)节点运行信息同预期运行信息的一致性的系统及方法。
背景技术
当前,BGP是因特网的核心路由协议,AS是BGP的处理单元。AS内部可以使用不同的内部网关协议(IGP),但是需要保持对外行为的一致性。目前在因特网中活跃的AS超过20000个,各AS之间及其内部都是通过BGP进行互连。BGP包括外部边界网关协议(External BGP,EBGP)和内部边界网关协议(Internal BGP,IBGP)两种运行模式,其中EBGP用于AS之间的互连,IBGP用于AS内部交换路由信息。
根据BGP的规定,AS内部的IBGP会话连接必须保证在逻辑上形成全网状连接以保证AS内部的连通性,同时确保通过IBGP连接的路由器都具有相同的路由表。一般来说,为了保障AS内部IBGP会话形成全网状连接,对于一个拥有N个BGP节点的AS网络(也称为AS域)来说,直接实现全网状连接需要有((N-1)×N)/2个IBGP连接,如此多的连接在网络的性能和实现上都造成了很大的问题,因此引入了路由反射器(简称反射器)以及联盟等扩展机制。
引入路由反射器后,IBGP节点被分为如下三类路由反射器、路由反射器客户和普通的IBGP(即非客户)。路由反射器根据其运行规则在客户以及非客户之间进行路由反射,将从一个IBGP节点传来的路由传给另一个IBGP节点。例如,在如图1所示的AS网络中,反射器1具有与其相连接的客户1和客户2,反射器2也具有与其相连接的客户3和客户4,图1中的普通IBGP为反射器1和反射器2的非客户。以反射器1的运行为例,反射器1将其客户1的路由向其客户2以及反射器2发送,将其客户2的路由向其客户1以及反射器2发送,将非客户的路由向其客户1以及客户2发送,以及将反射器2的路由信息也发送给它的两个客户。这样可以极大的减少IBGP连接数量,还可以提高网络的可扩展性。
联盟机制是在AS内部划分子AS,在子AS中运行IBGP并直接使用全网状连接,在子AS之间使用EBGP连接,这样可以减少对于IBGP连接的需求。
BGP安全是多年以来人们一直关注的热点,但是人们普遍关注AS域间通信的安全,而忽视AS域内问题导致的运行错误。AS内部的配置运行不当,同样会引起域间BGP的通告错误,所以域内的安全也很重要。通常在AS内部中可能出现如下两个问题1.IBGP会话没有形成逻辑上的全网状互连,这样导致域内各BGP节点获取的路由信息缺失,从而导致对外通告的路由不同,使得AS对外行为不一致,最终会导致某些路由不可达等问题;2.各BGP节点配置的本地策略同AS规划时的预期策略有冲突,导致对外通告的路由信息同预期的不一致。虽然策略丰富是BGP的一个特点,各节点可以配置不同策略,但是AS内部相当部分的策略应该是一致的,以保证AS对外行为的一致性。
上述问题在内部包括数量众多的BGP节点的大型AS中更易出现。上述两个问题的根本原因是没有保证AS域内运行信息在不同BGP节点间的一致性,即各AS内的BGP节点没有形成统一的视图,包括策略以及互连情况等。
IBGP与IGP有类似的要求,即节点对于整个域有完全相同的拓扑了解。不同之处在于IGP大多是通过组播的方式扩散信息,从而可以实现自动拓扑发现,而IBGP由于使用了传输控制协议(TCP)作为承载协议,必须通过手工配置方式实现全网状连接,无法实现自动拓扑发现。另外IBGP的本地策略对于选择路由有重要影响,同样其策略必须通过手工配置的方式在各个节点进行配置。所以问题的本质在于IBGP没有像IGP那样每个节点都有相同的预期运行信息。
针对上述问题,现有的解决方案一般采用如图2所示的配置检测方案来克服。参见图2,该方案在手工驱动下,输入当前AS内部的预期规划的规则和当前AS内的设备配置文件,根据当前AS内部预期规划的规则和当前AS内的设备配置文件进行检测,判断两者是否一致,并输出两者不一致的情况,另外该方案还浏览上述配置文件,根据配置文本信息获取高层次汇总信息。
但是,在上述的现有技术中,检测是手工驱动的,因此无法自动、动态实时地反映AS网络中的问题,并且对于配置改动后引入的差错不能及时检查。并且,仅从配置无法精确地了解当前网络的运行状态,因而该方式检测的结果也不能够准确地反映网络的实际问题。

发明内容
有鉴于此,本发明提出了一种检测BGP节点运行信息一致性的系统,用以自动进行一致性检测,并实时反映问题。本发明的另一个目的是提出一种能够自动进行一致性检测并实时反映问题的检测BGP节点运行信息一致性的方法。
根据上述目的,本发明提供了一种检测BGP节点运行信息一致性的系统,该系统包括一个或一个以上BGP节点,该系统还包括管理者,用于维护预期运行信息以及将预期运行信息下发给一致性检测模块;一致性检测模块,用于判断管理者下发的预期运行信息与从BGP节点获取的实际运行信息是否一致。
所述一致性检测模块位于各BGP节点内或者位于所述管理者内。
所述管理者和BGP节点之间采用带内方式进行通信。或者,所述管理者和BGP节点之间采用带外方式进行通信。
所述一致性检测模块为独立存在的仲裁者。
所述BGP节点和仲裁者之间采用带内方式进行通信。或者,所述BGP节点和仲裁者之间采用带外方式进行通信。
所述带内方式包括BGP、或其扩展消息、或属性扩展。
所述带外方式包括简单网管协议SNMP。
所述一致性检测模块进一步用于在不一致的情况下向管理者发出告警。
本发明还提供了一种检测BGP节点运行信息一致性的方法,该方法包括以下步骤A.一致性检测模块从管理者获取预期运行信息以及从BGP节点获取实际运行信息;B.一致性检测模块判断所述预期运行信息和实际运行信息是否一致。
步骤B进一步包括所述一致性检测模块在所述预期运行信息和实际运行信息不一致的情况下向管理者发出告警。
步骤B之前进一步包括一致性检测模块判断所获取的预期运行信息是否比本地已有的预期运行信息新,如果是,则用获取的预期运行信息替换本地已有的预期运行信息。骤B中所述预期运行信息为替换后的预期运行信息。
步骤B进一步包括在预期运行信息和实际运行信息一致的情况下,使实际运行信息生效。
步骤B进一步包括在预期运行信息和实际运行信息不一致的情况下,一致性检测模块限制实际运行信息的生效。
步骤A中所述从管理者获取预期运行信息的步骤为管理者向一致性检测模块下发所述预期运行信息。
管理者在AS域内预期运行信息改变之后、或者在新的BGP节点同管理者建立连接的时候、或者接收到一致性检测模块的请求时下发所述预期运行信息。
步骤A中管理者采用加密方式和/或完整性保护方式向一致性检测模块下发所述预期运行信息。
步骤A中管理者向一致性检测模块下发所述预期运行信息之前进一步包括管理者与一致性检测模块执行认证的步骤,并在认证通过的情况下管理者向一致性检测模块下发所述预期运行信息。
所述一致性检测模块位于各BGP节点内。所述一致性检测模块在BGP节点的实际运行信息发生变化时或者在BGP节点接收到新的预期运行信息时,执行步骤B。
所述一致性检测模块为独立存在的仲裁者或位于管理者内。
步骤A中一致性检测模块从BGP节点获取实际运行信息的步骤为一致性检测模块通过分析BGP节点通信流量获取实际运行信息。
步骤A中一致性检测模块从BGP节点获取实际运行信息的步骤为A1.BGP节点向一致性检测模块上报实际运行信息。
所述BGP节点在其实际运行信息发生变化时、或者在其接收到新的预期运行信息时、或者在其接收到一致性检测模块的通知时,执行步骤A1。
所述运行信息包括拓扑信息。
所述运行信息包括策略信息。所述策略信息包括前缀过滤策略、振荡抑制策略、特殊前缀的属性、可由本AS域产生的前缀其中之一或者它们的任意组合。所述策略信息包括共有策略、局部策略、节点策略其中之一或者它们的任意组合。
所述运行信息为本AS域产生的前缀。
管理者中所述预期本AS域产生的前缀是手工配置的、或者从权威机构获取。
BGP节点中所述实际产生的前缀是配置的、或者从内部边界网关协议IBGP邻居学习的、或者从内部网关协议IGP和/或从静态路由中进行重分布获得的。
从上述方案中可以看出,由于本发明通过将管理者维护的预期运行信息下发给一致性检测模块,而一致性检测模块判断预期运行信息与各BGP节点实际运行的运行信息是否一致,并在不一致的情况下向管理者发出告警,这样本发明无需手动启动就实现了AS域内运行信息一致性的检测,从而自动确保BGP的安全。本发明使用的是BGP节点实际运行信息,因而可以真实准备地反映网络的实际状况,从而检测结果能够真实地反映网络是否存在问题。一致性检测模块可以位于BGP节点内或管理者内作为其一部分,也可以是独立存在的仲裁者,为具体实施本发明提供了多种方式。运行信息一致性的检测可以是在管理者下发新的预期运行信息之后,或者是BGP节点实际运行的运行信息发生变化后执行,因此本发明还可以实时地进行一致性检测,从而实时地确保BGP的安全。并且,在本发明中,管理者与BGP节点之间、管理者与仲裁者之间以及仲裁者与BGP节点之间可以采用现有的BGP或其扩展属性或其扩展消息来传输各种信息,也可以其它自定义的协议或现有协议(例如简单网管协议SNMP)来传输各种信息,因此本发明还具有广泛的适用性。


图1为采用路由反射器的AS示意图。
图2为现有技术的示意图。
图3为本发明实施例中的一种系统结构示意图。
图4为AS域内一种连接方式的示意图。
图5为本发明实施例中的另一种系统结构示意图。
图6为本发明实施例中的再一种系统结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
本发明的实施例根据BGP节点是否进行一致性判定,提出两种模型。
第一种是主动模型,由BGP节点判定实际运行信息与预期运行信息是否一致。在这种模式下,BGP节点需要了解预期运行信息,这里主要包括预期的拓扑信息和/或策略信息。
图3是主动模型的结构示意图。参见图3,在AS域内包括一个或一个以上BGP节点、管理者,各BGP节点内部包括用阴影表示的一致性检测模块。
其中,BGP节点通过IBGP模式运行BGP协议,在AS内部传递路由信息。边界BGP节点还可以同时作为对外路由的通告者,通过EBGP模式同其他AS进行路由传递。由于在BGP节点内含有一致性检测模块,一致性检测模块可以通过BGP节点的内部接口与BGP节点交互信息,根据管理者下发的预期运行信息和BGP节点实际运行信息,判断两者是否一致,并且进一步在不一致的时候,向管理者告警。
管理者负责维护AS的预期运行信息,并将这些信息下发给BGP节点。所述预期运行信息主要包含但不限于AS内部预期的拓扑信息和/或策略信息。其中,AS内部的拓扑信息主要是指管理者规划的AS节点以及节点之间的逻辑和/或物理互连方式,例如一般情况下要求AS内部BGP节点在逻辑上形成全网状互连的方式;策略信息主要是管理者关心的AS策略信息,例如但不限于前缀过滤策略、振荡抑制策略、特殊前缀的属性、本AS域产生的前缀等。在主动模式下,这些运行信息在AS内部传播,不向EBGP邻居发送。运行信息还可以包括对外允许通告的本AS域产生的前缀信息等。
上述管理者与BGP节点之间可以采用现有的BGP协议或其标准扩展方式(例如扩展新的属性和扩展新的消息类型)、或者使用现有传输协议(例如SNMP)、或者自定义的协议来传输各种信息。
在主动模型下,运行信息一致性检测的过程包括以下步骤步骤11,管理者下发预期运行信息给BGP节点,这里以预期的拓扑信息和预期的策略信息为例。管理者根据AS域的设计规划将预期的域内拓扑信息和预期策略信息下发到AS内部的BGP节点中的一致性检测模块。由于主动模型中一致性模块位于BGP节点内,所以本实施例下面所述管理者向BGP节点下发预期运行信息,即是指向一致性检测模块下发预期运行信息。
预期运行信息下发的方式可以采用带内以及带外的方式,即管理者可以使用BGP协议或其标准扩展方式,例如扩展新的属性和扩展新的消息类型,向其他BGP节点下发信息,也可以采用其它协议,如简单网管协议(SNMP)等带外方式下发。本发明的实施例并不限制下发的方式。
运行信息的下发可以在域内预期运行信息发生改变的情况下由管理者进行下发,也可以在新的BGP节点同管理者建立连接的时候触发管理者下发,也可以在域内BGP节点的一致性检测模块请求后进行下发。
在本发明的实施例中,拓扑信息的表示方法不限。例如可以采用逻辑连接的方式进行描述,以全网状互连拓扑为例,假设AS域内共有5个BGP节点A、B、C、D、E。则仅仅需要下发{A、B、C、D、E}集合,就可以表示拓扑信息;非全互联情况可以按照类似方式定义。还可以采用对连接进行描述的方式,以图4中的拓扑为例,可以用如下描述表示拓扑信息“A、B、C为一个簇,其中C为反射器,C同非客户D相邻,B同E相邻。”BGP节点根据拓扑信息可以计算出互连情况。
本发明的实施例也不限定策略的内容,如前所述可能的策略举例如下前缀过滤策略,例如规划外发的时候应该过滤某些私有的地址空间的前缀等;振荡抑制策略,例如是否应该实施振荡抑制以及采用何种振荡抑制策略等;特殊前缀的属性,例如对于特定的到达重要资源的路由应该保持其有效性等;本AS域产生的前缀,即AS允许产生并向外通告的前缀。本发明实施例中的策略包括上述任意一种或者它们的任意组合。
另外,按照策略的使用范围,AS中策略可以划分为AS内部所有BGP节点使用的共有策略;AS内部的部分BGP节点使用的局部策略,例如在联盟内部使用的策略;AS内的特定节点使用的节点策略。本发明实施例所指的策略可能包含上述任何类型的策略。
AS域内的BGP节点可以分为通告节点和内部节点两类。其中,通告节点除了运行IBGP协议外,还要向AS域外通告路由,同时运行IBGP模式和EBGP模式的BGP协议,由于对外通告路由因此具有全局的影响力;内部节点是指AS内部不运行EBGP协议的节点。因此,并非所有的预期运行信息都需要下发到所有的BGP节点中,可以向不同节点下发与其对应的预期运行信息,例如向使用局部策略的部分BGP节点下发局部策略,而不向其它BGP节点下发给局部策略。
步骤12,BGP节点获取实际运行信息。
其中,以图4中的连接关系为例,拓扑信息的形成包括相邻BGP节点之间传递实际的互连信息,C向A通告其同客户B、非客户D连接,这样A就知道自身同A、B、D可连通,依此类推最终每个节点都知道自身的逻辑互连情况;各BGP节点根据所收到的邻居节点发送的互连信息结合与自身相邻的节点信息进行计算,得出如图4所示的与实际相同的内部互连的拓扑信息,即A、B、C形成一个簇,因此逻辑上全互连;邻居D连接到反射器C上,所以A、B、C、D全互连;而邻居E连接到反射器C的客户B上。
可以由多种情况激发获取拓扑信息的过程。例如建立了新的BGP邻居或者邻居断开,节点需要向其它相邻者通告新的连接信息。这样在AS内每个BGP节点都可以实时了解当前域内的拓扑信息。
BGP节点上的策略信息,可以是配置的,可以是从IBGP邻居学习的,本发明的实施例并不限制其来源。
上述步骤11和步骤12的执行没有先后顺序关系,之所以分成两个步骤,只是为了描述清楚的目的。
步骤13,BGP节点中的一致性检测模块,判断管理者下发的预期运行信息与实际运行信息是否一致,并在不一致的情况下向管理者告警,还可以进一步限制实际运行信息的生效,例如限制不一致通告向外发送。在一致的情况下,可以进行其它操作或不作操作。
对于拓扑信息,各BGP节点的一致性检测模块根据当前实际配置的互连情况的拓扑信息,对照管理者下发的拓扑信息进行检测,判断两者是否一致。如果发现不一致,即发现连通性问题,则向管理者告警。如图4所示,实际的连接情况为A、B、C、D形成逻辑上的全网状连接,E通过反射器C的客户B与该全连接关联,这样E无法收到A、C、D的信息,没有形成全局逻辑上的全网状连接。如果预期的拓扑信息为A、B、C、D、E形成全局的全网状连接,那么BGP中的一致性检测模块就判断出两者不一致,从而向管理者发出告警。一般情况下,可能的拓扑信息不一致的情况如没有实现管理者要求的连通性,此时可能造成路由通告缺失;有额外的连通节点,例如可能同非规划的邻居建立了BGP连接等,可能导致信息泄漏等。
对于策略信息,各BGP节点的一致性检测模块判断管理者下发的策略信息是否与本地策略一致,如果检测到不一致,则向管理者发出告警,还可以进一步限制实际运行信息的生效,例如限制不一致通告向外发送。
第二种是被动模型,由管理者或仲裁者进行一致性的判定。在这种模型中,普通BGP节点并不具有整个AS内的预期运行信息。因此被动模型可以避免主动模型中BGP节点拥有预期运行信息而可能造成泄漏的问题。
图5为管理者进行一致性检测的系统结构示意图,当由管理者进行一致性检测时,系统结构图与图3类似,所不同的是,一致性检测模块位于管理者中。在这种情况下,管理者负责维护AS预期运行信息,并将这些信息通过内部接口下发给一致性检测模块。一致性检测模块根据该预期运行信息和从BGP节点获取的实际运行信息,判断两者是否一致,并且进一步在不一致的时候,通过内部接口向管理者告警。BGP节点在自身运行信息发生改变时、一致性检测模块发送通知或其它情况下将实际运行信息发送给管理者中的一致性检测模块。
被动模式下,采用图5所示系统进行一致性检测的方法包括以下步骤步骤21,管理者通过内部接口将预期运行信息下发给一致性检测模块。
步骤22,BGP节点获取实际运行信息,并将所获取的实际运行信息发送给管理者中的一致性检测模块。其中BGP节点获取实际运行信息的过程与主动模式相同,这里不再赘述。
这里,BGP节点可以是主动将实际运行信息发送给管理者,例如实际运行信息发生变化时;也可以是管理者向BGP节点发送通知,BGP节点收到通知后再将实际运行信息发送给管理者。
上述步骤21和步骤22的执行没有先后顺序关系,之所以分成两个步骤,只是为了描述清楚的目的。
步骤23,一致性检测模块判断预期运行信息与从BGP节点获取的实际运行信息是否一致,并在不一致的情况下通过内部接口向管理者告警。在一致的情况下,可以进行其它操作或不作操作。具体的判断过程与主动模式中的判断过程相同,这里不再赘述。
图6是被动模型中由仲裁者进行一致性检测的系统的结构示意图。参见图6,在AS域内包括各BGP节点、仲裁者和管理者。其中,管理者负责维护AS预期的部署信息,并将这些信息下发给仲裁者。仲裁者为独立存在的一致性检测模块,负责收集BGP节点当前的实际运行信息,并同管理者下发的预期运行信息进行比较,判断两者是否一致,并在不一致的时候向管理者发出告警。BGP节点在自身运行信息发生改变时、仲裁者发送通知或其它情况下将实际运行信息发送给仲裁者。
在上述管理者与BGP节点之间、管理者与仲裁者之间以及仲裁者与BGP节点之间可以采用现有的BGP协议或其扩展属性或者自定义的协议来传输各种信息,被动模式下的一致性情况的检测包括以下步骤步骤31,管理者将预期运行信息下发给仲裁者。
步骤32,BGP节点获取实际运行信息,并将所获取的实际运行信息发送给仲裁者。其中BGP节点获取实际运行信息的过程与主动模式相同,这里不再赘述。
这里,BGP节点可以是主动将实际运行信息发送给仲裁者,例如实际运行信息发生变化时;也可以是仲裁者向BGP节点发送通知,BGP节点收到通知后再将实际运行信息发送给仲裁者。
上述步骤31和步骤32的执行没有先后顺序关系,之所以分成两个步骤,只是为了描述清楚的目的。
步骤33,仲裁者判断管理者下发的预期运行信息与从BGP节点获取的实际运行信息是否一致,并在不一致的情况下向管理者告警。在一致的情况下,可以进行其它操作或不作操作。具体的判断过程与主动模式中的判断过程相同,这里不再赘述。
以下描述被动模型时主要以一致性检测模块独立存在为仲裁者为例说明,一致性检测模块位于管理者中的情况与此类似。
在上述实施例中,为了保护预期运行信息的安全,可以在AS内使用类似公钥基础设施(PKI)系统,具体来说,管理者使用私钥对于AS内的预期的运行信息进行签名,仲裁者或BGP节点可以使用管理者的公钥验证所述预期的运行信息的真实性。
另外,AS内部节点同管理者或仲裁者之间的传输通道可以使用加密的方式进行传输,这样可以保障传输的私密性。同时也可以采用完整性保护方式,保证信息传输过程中流量未被修改。
另外,管理者在下发预期运行信息的时候,可以在预期运行信息中携带时间戳字段,一致性检测模块根据时间戳字段判断所收到的预期运行信息是否比本地的预期运行信息新,如果是,则用收到的预期运行信息替换本地旧的预期运行信息,并以替换后新的预期运行信息与实际运行信息作比较,否则不作替换。
在实际使用中,一致性检测可以在系统运行情况变化或者新的规划信息下发的时候进行。为了不影响系统运行,一致性检测模块可以选择CPU空闲时间进行后台检测。在判断得出不一致的情况下,BGP节点或仲裁者可以使用带内或者带外措施向管理者或其它网管站进行告警,以通告管理员进行问题排查;还可以进一步限制实际运行信息的生效,例如对于不一致策略相关的通告信息进行限制发送。本发明实施例中不仅可以在判断不一致时进行告警,而且可以在拓扑信息以及策略信息恢复一致后,由一致性检测模块向管理者上报恢复一致的通告信息,或者由一致性检测模块周期性地上报一致的结果,以便应对信息丢失的情况。
通过本发明的实施,可以察觉外界对BGP节点的攻击。假设BGP节点被攻占,攻占者修改了运行环境,更改了BGP节点的策略以及互连情况等。此时一致性检测模块就会检测出不一致,并进行后续处理,因此攻击会被及时发现。如果攻击者想要实现不被察觉的攻击,必须同时攻占BGP节点以及仲裁者或管理者,而这一点在实际中通常是难以达到的。
AS内部BGP节点同管理者或仲裁者之间发送信息可以采用认证机制,管理者和仲裁者之间也可以采用认证或者双向认证的机制,从而避免将信息发送到伪造的攻击者。
另外,为了避免由BGP通告节点的误配置导致的对外通告了错误路由引起全网的路由问题,可以考虑对于配置生效进行强制的同步。也就是,当对于BGP节点更新了配置,实际运行信息发生改变时,必须在进行一致性检测并判断出一致后,新的配置方能生效,如果没有通过一致性检测则配置不生效。这样做可以很好地应对由于当前BGP的误配置所带来的全局影响。
下面针对可以由本AS域产生的前缀这一策略,再具体描述本发明的一个具体实施例,本实施例主要检测前缀源的有效性。现今BGP面临的一个安全问题是前缀的源验证的问题,即BGP协议机制中没有办法检测AS是否有权声明特定的前缀是否是AS本身自身产生的。这个问题有可能由于误配置造成的,也有可能是设备被攻占而由攻击者造成的。但是绝大部分情况是由于前者引起的。因此如果每个AS通过使用本发明进行域内的一致性检测,可以很好地缓解该问题。
首先说明AS域预期产生的前缀的获取。获取的方式包括但不局限于以下几种方法1.在管理者手工进行配置。由于对于每个AS来说,预期产生的前缀范围在特定时刻是明确的,因此可以在管理者上进行手工配置。
2.从权威机构获取。例如国际因特网地址分配委员会(IANA)以及全球四个主要的地址分配机构未来可能会维护类似的数据库,管理者可以从这些权威机构获取本AS域预期产生的前缀。
3.通过信任的方式获取。如果负责维护前缀产生者同前缀关系的维护者(例如ISP)实施了PKI等类似系统用于对这种分配情况进行授权验证,则维护者可以通过对于信息进行数字签名的形式保证信息的可靠性。
通告BGP节点的实际产生的前缀来源可以是使用例如network命令进行配置的,也可以是通过从IBGP邻居学习或者通过从IGP和/或静态路由中进行重分布获得的实际产生的前缀。
以下描述本AS域产生的前缀的检测过程在主动模式下,管理者将AS预期本AS域产生的前缀下发到通告BGP节点中。各通告BGP节点将预期本AS域产生的前缀同本地实际产生的前缀相比较,判断两者是否一致,并在不一致的情况下,向管理者告警,即上报不一致信息,还可以进一步限制实际运行信息的生效,例如限制不一致通告向外发送。
在被动模式下,如果是管理者进行一致性检测,则管理者将AS预期本AS域产生的前缀通过内部接口下发到一致性检测模块,一致性检测模块收集各通告BGP节点的实际产生的前缀信息,并进行比较以判断两者是否一致,在不一致的情况下,向管理者告警,还可以进一步限制实际运行信息的生效,例如限制相关不一致通告向外发送。
如果是仲裁者进行一致性检测,则管理者将AS预期本AS域产生的前缀下发到仲裁者中,仲裁者收集各通告BGP节点的实际产生的前缀信息,并进行比较以判断两者是否一致,在不一致的情况下,向管理者告警,即上报不一致信息,还可以进一步限制实际运行信息的生效,例如限制相关不一致通告向外发送。
进一步,在通过了一致性检测之后,通告BGP节点实际产生的前缀方能生效,亦即在主动模式下,通告BGP节点在判断得出一致的情况后,使实际产生的前缀生效,并向外发送;在被动模式下,仲裁者在判断得出一致的情况后,向通告BGP节点发送许可或不干预通告BGP节点相关通告的发送。
管理者和仲裁者可以使用内网IP地址同域内的BGP节点进行通信,这样外部攻击者不易实施针对管理者和仲裁者的攻击行为。攻击者可能通过各种方式进行攻击,例如攻占BGP节点或者通过IGP、BGP向路由表注入虚假的路由信息。此时通过上述提到的一致性检测方式以及通过检测后方能生效方式可以应对这些攻击。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种检测边界网关协议BGP节点运行信息一致性的系统,该系统包括一个或一个以上BGP节点,其特征在于,该系统还包括管理者,用于维护预期运行信息以及将预期运行信息下发给一致性检测模块;一致性检测模块,用于判断管理者下发的预期运行信息与从BGP节点获取的实际运行信息是否一致。
2.根据权利要求1所述的系统,其特征在于,所述一致性检测模块位于各BGP节点内或者位于所述管理者内。
3.根据权利要求2所述的系统,其特征在于,所述管理者和BGP节点之间采用带内方式进行通信。
4.根据权利要求2所述的系统,其特征在于,所述管理者和BGP节点之间采用带外方式进行通信。
5.根据权利要求1所述的系统,其特征在于,所述一致性检测模块为独立存在的仲裁者。
6.根据权利要求5所述的系统,其特征在于,所述BGP节点和仲裁者之间采用带内方式进行通信。
7.根据权利要求5所述的系统,其特征在于,所述BGP节点和仲裁者之间采用带外方式进行通信。
8.根据权利要求3或6所述的系统,其特征在于,其中所述带内方式包括BGP、或其扩展消息、或属性扩展。
9.根据权利要求4或7所述的系统,其特征在于,所述带外方式包括简单网管协议SNMP。
10.根据权利要求1所述的系统,其特征在于,所述一致性检测模块进一步用于在不一致的情况下向管理者发出告警。
11.一种检测BGP节点运行信息一致性的方法,其特征在于,该方法包括以下步骤A.一致性检测模块从管理者获取预期运行信息以及从BGP节点获取实际运行信息;B.一致性检测模块判断所述预期运行信息和实际运行信息是否一致。
12.根据权利要求11所述的方法,其特征在于,步骤B进一步包括所述一致性检测模块在所述预期运行信息和实际运行信息不一致的情况下向管理者发出告警。
13.根据权利要求11所述的方法,其特征在于,步骤B之前进一步包括一致性检测模块判断所获取的预期运行信息是否比本地已有的预期运行信息新,如果是,则用获取的预期运行信息替换本地已有的预期运行信息;步骤B中所述预期运行信息为替换后的预期运行信息。
14.根据权利要求11所述的方法,其特征在于,步骤B进一步包括在预期运行信息和实际运行信息一致的情况下,使实际运行信息生效。
15.根据权利要求11所述的方法,其特征在于,步骤B进一步包括在预期运行信息和实际运行信息不一致的情况下,一致性检测模块限制实际运行信息的生效。
16.根据权利要求11所述的方法,其特征在于,步骤A中所述从管理者获取预期运行信息的步骤为管理者向一致性检测模块下发所述预期运行信息。
17.根据权利要求16所述的方法,其特征在于,管理者在AS域内预期运行信息改变之后、或者在新的BGP节点同管理者建立连接的时候、或者接收到一致性检测模块的请求时下发所述预期运行信息。
18.根据权利要求16所述的方法,其特征在于,步骤A中管理者采用加密方式和/或完整性保护方式向一致性检测模块下发所述预期运行信息。
19.根据权利要求16所述的方法,其特征在于,步骤A中管理者向一致性检测模块下发所述预期运行信息之前进一步包括管理者与一致性检测模块执行认证的步骤,并在认证通过的情况下管理者向一致性检测模块下发所述预期运行信息。
20.根据权利要求11所述的方法,其特征在于,所述一致性检测模块位于各BGP节点内;所述一致性检测模块在BGP节点的实际运行信息发生变化时或者在BGP节点接收到新的预期运行信息时,执行步骤B。
21.根据权利要求11所述的方法,其特征在于,所述一致性检测模块为独立存在的仲裁者或位于管理者内。
22.根据权利要求21所述的方法,其特征在于,步骤A中一致性检测模块从BGP节点获取实际运行信息的步骤为一致性检测模块通过分析BGP节点通信流量获取实际运行信息。
23.根据权利要求21所述的方法,其特征在于,步骤A中一致性检测模块从BGP节点获取实际运行信息的步骤为A1.BGP节点向一致性检测模块上报实际运行信息。
24.根据权利要求23所述的方法,其特征在于,所述BGP节点在其实际运行信息发生变化时、或者在其接收到新的预期运行信息时、或者在其接收到一致性检测模块的通知时,执行步骤A1。
25.根据权利要求11~24任一项所述的方法,其特征在于,所述运行信息包括拓扑信息。
26.根据权利要求11~24任一项所述的方法,其特征在于,所述运行信息包括策略信息。
27.根据权利要求26所述的方法,其特征在于,所述策略信息包括前缀过滤策略、振荡抑制策略、特殊前缀的属性、可由本AS域产生的前缀其中之一或者它们的任意组合。
28.根据权利要求26所述的方法,其特征在于,所述策略信息包括共有策略、局部策略、节点策略其中之一或者它们的任意组合。
29.根据权利要求11~24任一项所述的方法,其特征在于,所述运行信息为本AS域产生的前缀。
30.根据权利要求29所述的方法,其特征在于,管理者中所述预期本AS域产生的前缀是手工配置的、或者从权威机构获取。
31.根据权利要求29所述的方法,其特征在于,BGP节点中所述实际产生的前缀是配置的、或者从内部边界网关协议IBGP邻居学习的、或者从内部网关协议IGP和/或从静态路由中进行重分布获得的。
全文摘要
本发明公开了一种检测BGP节点运行状况同预期运行情况一致性的系统,该系统包括一个或一个以上BGP节点,还包括管理者,用于将预期运行信息下发给一致性检测模块;一致性检测模块,用于判断管理者下发的预期运行信息与从BGP节点获取的实际运行情况是否一致。本发明可以动态实现AS域内预期运行信息一致性的检测。一致性检测模块可以位于BGP节点内或管理者内作为其一部分,也可以是独立存在的仲裁者,为实现本发明提供了多种方式。本发明还可以实时地进行一致性检测,并具有广泛的适用性。
文档编号H04L12/66GK101047565SQ20061007589
公开日2007年10月3日 申请日期2006年4月24日 优先权日2006年4月24日
发明者赵烨 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1