用于集中收集链路状态路由协议数据的方法和系统的制作方法

文档序号:7595395阅读:108来源:国知局
专利名称:用于集中收集链路状态路由协议数据的方法和系统的制作方法
技术领域
本发明一般地涉及在网络上路由数据,具体地说,本发明涉及链路状态路由协议。更具体地说,本发明涉及用于集中收集链路状态路由协议数据的方法和系统。
背景技术
近来及目前非集中型网络中的创新已经引起更多地使用路由器在网络上引导数据分组。这种增加的使用已经导致需要动态路由技术来帮助管理网络内的流量。动态路由允许路由器适应网络条件的变化,例如新的路由器的增加、由于分组拥塞导致的缓慢路由以及已建立的路由的去除。一种用于实现动态路由的技术是让路由器彼此通知有关可用路由的状态。链路状态路由协议为路由器提供了在网络中动态地交换关于拓扑或路由路径的信息的过程。
网络可以包括一个或多个分立的子网络。自治系统包括在单个管理域下操作的网络或网络集。图1是根据现有技术的一个自治系统和两个部分自治系统的视图。其示出了自治系统100和另外两个自治系统102、104的部分。自治系统100被分为两个区域或地区106、108,这二者分别包括三个路由器110、112、114和116、118、120。部分自治系统102包括路由器122、124,而部分自治系统104包括路由器126、128。部分自治系统102中的路由器122经由路由器112连接到自治系统100。并且部分自治系统104中的路由器128经由路由器120连接到自治系统100。
利用链路状态路由协议的路由器包括附接到各个路由器的各种链路、路由器和网络的状态和费用的完整数据库。该信息被称为链路状态数据库,并且用于在每个路由器内生成路由表。该链路状态数据库用于确定将数据分组向它的最终目的地转发的最优路径。所有属于相同区域的路由器具有相同的链路状态数据库。
为了创建和维护链路状态数据库,各个区域内的每个路由器传输链路状态路由协议数据,该数据描述了附接到该路由器的链路、路由器和网络。每当发生网络配置变化时,该数据一般就在整个区域中溢满。该链路状态路由协议数据还以有规律的间隔在整个区域中溢满以保证在网络中不出现失效的信息。
为了监视区域的状态,在每个区域内将计算设备或探测器连接到路由器。例如,在区域106中探测器130被连接到路由器114,并且在区域108中探测器132被连接到路由器120。探测器130收集在整个区域106中传输的链路状态路由协议数据,而探测器132收集在整个区域108中传输的链路状态路由协议数据。每个探测器能够解码原始字节格式的链路状态通知,从而监视该区域的链路和路由器及该区域的状态。不幸的是,随着网络的大小和复杂性的增加,由于与购买和安装新的探测器相关联的费用,在每个区域中放置探测器可能是昂贵的。另外,为探测器管理安全性和提供维护的费用随着每个附加的探测器而升高。

发明内容
根据本发明,提供了集中收集链路状态路由协议数据的方法和系统。单个探测器为两个或多个区域收集链路状态路由协议数据。区域可以位于一个自治系统内或分开在多个自治系统中。每个自治系统依照链路状态路由协议操作。选择每个区域中的路由器以与探测器共享它的链路状态路由协议数据。为了促进该共享,在每个所选择的路由器和探测器之间建立逻辑连接。探测器将通过创建与每个所选择的路由器的邻接(adjacency)或部分邻接来开始获得路由信息的过程。一旦建立了邻接,则每当链路状态路由协议数据贯穿各个区域传递时,探测器就将从相应的所选择的路由器接收链路状态路由协议数据。在根据本发明的另一个实施例中,选择要被监视的每个区域中的路由器,并且中心探测器周期性地轮询所选择的路由器来要求适合的SNMP MIB表。中心探测器解码MIB数据以获得链路状态路由协议数据。


当与附图一起阅读时,通过参照下面的根据本发明的实施例的详细描述,将最好地理解本发明,其中图1是根据现有技术的一个自治系统和两个部分自治系统的视图;图2是根据本发明的第一实施例中的自治系统的视图;图3是根据本发明的第二实施例中的两个部分自治系统的视图。
图4图示了OSPF协议定义的路由器链路通知分组的格式;图5是根据本发明的实施例用于建立中心探测器的方法的流程图;图6是根据图5的实施例用于建立中心探测器的第一方法的流程图。
图7是根据图5的实施例用于建立中心探测器的第二方法的流程图。
图8是根据图5的实施例用于建立中心探测器的第三方法的流程图。
图9是根据本发明的第三实施例中的连接到三个区域的中心探测器的视图;图10是根据图9的实施例用于建立中心探测器的方法的流程图。
具体实施例方式
本发明涉及用于集中收集链路状态路由协议数据的方法和系统。下面的描述是为了使本领域技术人员能够制造和使用本发明,并且该描述在专利申请的上下文和它的要求中提供。对所公开的实施例的各种修改对于本领域技术人员是清楚的,并且这里的通用原则可以应用于其他实施例。这样,并非意在将本发明限制到所示出的实施例,而是要给予本发明与所附权利要求和这里描述的原则和特征相一致的最宽的范围。
现在参照附图,具体地说参照图2,图2示出了根据本发明的第一实施例中的自治系统的视图。自治系统200被分成3个区域或地区202、204和206。区域202包括路由器208、210和212,而区域204包括路由器214、216和218。区域206包括路由器220、222和一个中心探测器224。但是,根据本发明的实施例不限于具有三个区域的自治系统。自治系统可以具有任意数目的区域。另外,根据本发明的实施例不限于单个自治系统,并且可以根据需要在多个自治系统上实现。
中心探测器224被连接到分别在区域202、204和206中的路由器212、216和222。中心探测器224监视区域202、204和206以得到链路状态路由协议数据。在根据本发明的该实施例中,中心探测器只监视一个自治系统的状态。但是,根据本发明的实施例不限于该配置。图3是根据本发明的第二实施例中的两个部分自治系统的视图。在该实施例中,中心探测器224被连接到分别在区域304和306中的路由器300和302,以获得每个区域的链路状态路由协议数据。区域304在自治系统308中,而区域306位于自治系统310中。在根据本发明的其他实施例中,可以使用单个探测器来监视任何数目的自治系统,或多个自治系统内的区域。
中心探测器224是能够在自治系统200中支持链路状态路由协议的计算设备。在根据本发明的该实施例中,链路状态路由协议是OSPF(开放最短路径优先)。但是,根据本发明的其他实施例可以利用其他链路状态路由协议,例如IS-IS(中间系统-中间系统)。
区域内的每个路由器负责维护描述该区域的拓扑的链路状态数据库。启动后,根据由路由器的管理员预配置的信息,路由器只意识到它的连接接口和网络(即,它自己的本地状态)。通过与自治系统内的其他路由器交换由OSPF协议定义的链路状态路由协议数据,可以完成学习和发布诸如连接性的其他网络状态信息的过程。
初始的“邻接(adjacency)”是使用例如分组多播(multicast)技术而与相邻路由器形成的。邻接是为了交换路由信息的目的而与路由器的每个活动的邻居形成的关系。一旦形成邻接,邻接的路由器就使用OSPF链路状态通知分组来交换有关它们的状态的信息。该过程继续,直到所有的路由器共享它们的自治系统的拓扑的共同的观点,从而在每个路由器中建立了链路状态数据库。
当整个自治系统中邻接形成过程完成时,每个路由器结合它自己的链路状态数据库的拷贝来执行Dijkstra算法以构建唯一的路由表,该路由表包括最小费用路径树,其中它自己作为该树的根。在每个路由器初始地生成它的链路状态数据库和路由表之后,如果在它的区域中发生改变,则该路由器重复信息交换和路由计算过程。改变可以包括增加链路或路由器,链路或路由器的去除或者链路费用的改变。为了避免链路状态数据库失效,在没有新的更新时,周期性地重新广播分组。每种类型的链路状态通知分组描述了自治系统内的不同的元素。
OSPF协议定义了五种不同的链路状态通知分组。一种路由器链路通知、一种网络链路通知、两种总结链路通知和一种自治系统外部链路通知形成了五种OSPF链路状态通知。图4图示了路由器链路通知的格式。路由器链路通知被区域内的所有路由器发送和接收。称为类型1的通知的路由器链路通知包括头部和描述了附接到发送分组的路由器的链路、路由器和网络的字段的集合。
网络链路通知(类型2)包括有关附接到网络的路由器集的信息。总结链路通知(类型3和类型4)包括区域内路由的描述,并且使在区域边界的路由信息能够简化。类型3的通知描述了到网络的路由,而类型4的通知描述了沿着自治系统边界到路由器的路由。最后,自治系统外部链路通知(类型5)包括有关到自治系统外部的目的地的路由的信息。
区域的链路状态数据库包括各种链路状态通知的集合。并且,如前面提到的,每当发生网络配置的变化时,这些通知一般就在整个自治系统中溢满。这些通知还以有规律的时间间隔传递以保证在网络中不出现失效的信息。
现在参照图5,图5示出了根据本发明的实施例用于建立中心探测器的方法的流程图。选择区域中的路由器作为将向探测器传输诸如通知的链路状态路由协议数据的路由器(方框500)。接着在方框502在所选择的路由器和探测器之间建立逻辑连接。在所选择的路由器和探测器之间创建邻接,这样使得探测器可看作相邻路由器。该步骤图示于方框504。该邻接允许探测器接收该区域的链路状态通知。接着在方框506确定探测器是否逻辑地连接到所有要被监视的区域。如果没有,该过程返回方框400,并且重复,直到探测器连接到要监视的每个区域中的路由器。如前面所讨论的,区域可以包括在一个或多个自治系统中。
图6是根据图5的实施例用于建立中心探测器的第一方法的流程图。初始地,中心探测器上的网络接口配置了用于要被监视的区域的子接口(方框600)。该子接口的IP地址将在分配给被监视的区域内的所连接的子网络的IP网络地址块中。为了为每个区域维护分立的链路状态数据库,在图5的实施例中,中心探测器监视的每个区域将具有单独的子接口。
如方框602所示,选择该区域中的路由器以成为将向中心探测器传输链路状态通知的路由器。接着配置从所选择的路由器上的接口到中心探测器上的各个子接口的IP(互联网协议)隧道(方框604)。这样在所选择的路由器和中心探测器之间就建立了逻辑连接。接着在所选择的路由器和探测器之间建立邻接,如方框606所示。一旦建立了邻接,探测器看作是所选择的路由器的相邻路由器。在根据本发明的该实施例中,探测器提供了单个主路由(host route),从而允许中心探测器接收该区域的链路状态通知。
接着在方框608确定探测器是否逻辑地连接到要被监视的所有区域。如果没有,则过程返回到方框600,并且重复,直到中心探测器连接到要被监视的每个区域中的路由器。当中心探测器连接到要被监视的所有区域时,探测器将从每个区域接收所传递的链路通知。
现在参照图7,图7示出了根据图5的实施例用于建立中心探测器的第二方法的流程图。初始地,在探测器上创建要被监视的区域的物理接口(方框700)。为了为每个区域维护分立的链路状态数据库,中心探测器监视的每个区域在中心探测器上具有单独的物理接口。
如方框702所示,接着选择区域中的路由器以成为将向中心探测器传输链路状态通知的路由器。创建从所选择的路由器到中心探测器的链路(方框704)。这样在所选择的路由器和中心探测器之间就建立了逻辑连接。接着在各个路由器和中心探测器之间建立邻接,如方框706所示。一旦建立了邻接,探测器可看作是所选择的路由器的相邻路由器,从而允许中心探测器接收该区域的链路状态通知。
接着在方框708确定探测器是否逻辑地连接到要被监视的所有区域。如果没有,则过程返回到方框700,并且重复,直到中心探测器连接到要被监视的每个区域中的路由器。当中心探测器连接到要被监视的所有区域时,探测器将接收来自每个区域的所溢满的链路通知。
图8是根据图5的实施例用于建立中心探测器的第三方法的流程图。中心探测器被配置为不传输任何有关它的链路状态数据库的信息或链路状态通知,如方框800所示。在根据本发明的该实施例中,探测器传输问候命令(Hello command)、链路状态请求和链路状态确认。这样,探测器能够在所选择的路由器和它自身之间建立邻接以接收链路状态通知,但是,探测器不能传输任何链路状态通知或输出任何它自己的数据库描述或链路状态更新分组。从而,探测器与所选择的路由器建立了单向邻接或部分邻接。该部分邻接允许探测器以非打扰(non-intrusive)的方式接收链路状态路由协议数据。
如方框802所示,选择要被监视的区域中的路由器以成为将向中心探测器传输链路状态通知的路由器。接着建立从所选择的路由器到中心探测器的路由(方框804)。这样在所选择的路由器和中心探测器之间就建立了逻辑连接。接着在各个路由器和中心探测器之间建立部分邻接,如方框806所示。一旦建立了部分邻接,探测器就接收该区域的链路状态通知。
接着在方框808确定探测器是否逻辑地连接到要被监视的所有区域。如果没有,则过程返回到方框802,并且重复,直到中心探测器连接到要被监视的每个区域中的路由器。当中心探测器连接到要被监视的所有区域时,探测器将从每个区域接收所溢满的链路通知。
现在参照图9,图9示出了根据本发明的第三实施例的连接到三个区域的中心探测器的视图。在图9的实施例中,区域902、904和906利用链路状态路由协议OSPF。在根据本发明的其他实施例中,可以使用不同的链路状态路由协议,例如IS-IS。
分别在区域902、904和906中的路由器908、910和912连接到探测器900。中心探测器900收集来自路由器908、910和912的链路状态路由协议数据。诸如OSPF的链路状态路由协议一般包括SNMP(简单网络管理协议),SNMP协议促进了网络设备之间的信息交换。在根据本发明的该实施例中利用SNMP命令来获得SNMP MIB表(管理信息基础)。MIB是分等级地组织的信息集合。在图9的实施例中获得的MIB表包括链路状态分组的当前的且完整的描述。
图10是根据图9的实施例用于建立中心探测器的方法的流程图。如方框1000所示,选择要被监视的区域中的路由器。中心探测器轮询所选择的路由器以要求适合的SNMP MIB表(方框1002)。在根据本发明的该实施例中,使用“获取表”命令来获得SNMP MIB表。接着探测器解码MIB数据以获得链路状态路由协议数据,该MIB数据一般以原始字节格式提供(方框1004)。接着在方框1006确定是否已经轮询了要被监视的所有区域。如果没有,则过程返回到方框1000,并且重复,直到已经访问了所有区域。
权利要求
1.一种自治系统,包括两个或多个区域,其中每个区域包括路由器;和探测器,其逻辑地连接到每个区域中的所述路由器,并且被配置为从每个区域中的所述路由器接收链路状态路由协议。
2.如权利要求1所述的自治系统,其中当每个区域中的所述路由器在整个所述自治系统上溢满链路状态路由协议数据时,所述探测器接收所述链路状态路由协议数据。
3.如权利要求1所述的自治系统,其中当所述探测器轮询每个区域中的所述路由器时,所述探测器接收链路状态路由协议数据。
4.如权利要求1所述的系统,其中所述链路状态路由协议数据包括描述区域中的每个链路、路由器和网络的状态和费用的数据。
5.一种用于监视链路状态路由协议数据的系统,包括两个或多个要被监视的区域,其中每个区域包括路由器;和探测器,其逻辑地连接到每个区域中的所述路由器,并且被配置为从每个区域中的所述路由器接收链路状态路由协议。
6.如权利要求5所述的系统,其中当每个区域中的所述路由器在整个所述自治系统上溢满链路状态路由协议数据时,所述探测器接收所述链路状态路由协议数据。
7.如权利要求5所述的系统,其中当所述探测器轮询每个区域中的所述路由器时,所述探测器接收链路状态路由协议数据。
8.如权利要求5所述的系统,其中所述链路状态路由协议数据包括描述区域中的每个链路、路由器和网络的状态和费用的数据。
9.如权利要求5所述的系统,其中所述两个或多个区域包括在单个自治系统中。
10.如权利要求5所述的系统,其中至少一个要被监视的区域包括在第一自治系统中,并且至少一个要被监视的区域包括在第二自治系统中。
11.一种方法,用于集中收集链路状态路由协议数据,包括在区域中选择路由器以收集所述链路状态路由协议数据,其中所述链路状态路由协议数据是从两个或多个区域收集的;建立与每个区域中的所述所选择的路由器的逻辑连接;以及在每个区域中的所述所选择的路由器和探测器之间创建连接,以允许所述探测器从每个区域中的所述所选择的路由器接收所述链路状态路由协议数据。
12.如权利要求11所述的方法,其中所述建立与所述所选择的路由器的逻辑连接的步骤包括在所述探测器上为每个区域配置子接口;以及配置从每个所选择的路由器上的接口到所述探测器上的所述子接口的互联网协议隧道。
13.如权利要求11所述的方法,其中所述建立与所述所选择的路由器的逻辑连接的步骤包括在所述探测器上为每个区域配置接口;以及创建从每个所选择的路由器到所述探测器的链路。
14.如权利要求11所述的方法,其中所述在每个所选择的路由器和探测器之间创建连接的步骤包括在每个所选择的路由器和所述探测器之间建立邻接。
15.如权利要求11所述的方法,其中所述在每个所选择的路由器和探测器之间创建连接的步骤包括在每个所选择的路由器和所述探测器之间建立部分邻接,其中所述探测器只接收链路状态路由协议数据。
16.如权利要求11所述的方法,其中所述链路状态路由协议数据包括描述与区域中的每个链路、路由器和网络相关联的状态和费用的数据。
17.如权利要求11所述的方法,其中所述在每个区域中的所述所选择的路由器和探测器之间创建连接以允许所述探测器从每个区域中的所述所选择的路由器接收所述链路状态路由协议数据的步骤包括在每个区域中的所述所选择的路由器和探测器之间创建路由以允许所述探测器从每个区域中的所述所选择的路由器接收所述链路状态路由协议数据。
18.如权利要求17所述的方法,其中在每个区域中的所述所选择的路由器和所述探测器之间的所述路由包括单个主路由。
全文摘要
本发明公开了收集两个或多个区域的链路状态路由协议数据的单个探测器。所述区域可以位于一个自治系统内或分开在多个自治系统中。每个自治系统依照链路状态路由协议操作。选择每个区域中的路由器以与探测器共享它的链路状态路由协议数据。在每个所选择的路由器和探测器之间建立逻辑连接。探测器将通过创建与每个所选择的路由器的邻接或部分邻接来开始获得路由信息的过程。一旦建立了邻接,探测器将从每个所选择的路由器接收链路状态路由协议数据。或者选择要被监视的每个区域中的路由器,并且探测器周期性地轮询所选择的路由器来要求适合的SNMPMIB表。探测器解码MIB数据以获得链路状态路由协议数据。
文档编号H04L12/56GK1607790SQ200410062599
公开日2005年4月20日 申请日期2004年7月5日 优先权日2003年10月15日
发明者兰斯·A·塔特曼, 安德鲁·R·莱哈恩 申请人:安捷伦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1