用于自行配置网络中的路由设备的方法和装置的制作方法

文档序号:7619315阅读:211来源:国知局
专利名称:用于自行配置网络中的路由设备的方法和装置的制作方法
技术领域
本发明一般地涉及改进的数据处理系统,具体地说,涉及用于处理网络内更改的方法和装置。更具体地说,本发明提供了用于重新配置路由设备的方法、装置和计算机指令。
背景技术
诸如交换机和路由器之类的路由设备被用于促进网络中不同计算机之间的数据传输。除少数情况外,计算机会连续不断地进行数据路由。添加新硬件或者用于路由业务(traffic)的现有硬件出现故障都可能干扰数据传输或导致数据传输失败。
当添加诸如新路由器之类的新硬件时,除非其他路由设备被停止并被重新配置以考虑到或包括该新路由器,否则会出现路由问题。如果现有路由器发生故障或被停止服务,由于与缺少现有路由器一起发生的错误,整个网络可能会关闭。或者,其他路由设备可能并不知道该现有路由器已发生故障并且可能继续向该路由器发送数据分组(packet)。在此情况下,这些分组被丢失并永远无法到达它们的目的地。目前,这种情况要求管理员或其他人员替换或修理发生故障的路由器,或者重新配置其他路由设备以停止通过该已经出现故障的现有路由器来路由业务。
因此,具有一种改进的方法、装置和计算机指令以便考虑到网络中的路由硬件更改是有利的。

发明内容
本发明提供了用于配置网络数据处理系统中的路由设备的方法、装置和计算机指令。所述网络数据处理系统中的路由更改被标识。响应于所述路由更改被标识,为所述网络数据处理系统中存在的一组路由设备生成节点拓扑。在该组路由设备内的某一路由设备处构建主网络配置表。所述网络配置表包含来自所述节点拓扑内的所述路由设备的配置数据。所述主网络配置表被广播到所述网络数据处理系统中的所述路由设备。


在所附权利要求中说明了被认为是本发明特性的新颖特征。但是,当结合附图阅读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解发明本身及其优选使用方式、进一步的目的和优点,这些附图是图1是其中可以实现本发明的数据处理系统网络的图形表示;图2是根据本发明的优选实施例的可以作为服务器实现的数据处理系统的方框图;图3是根据本发明的优选实施例的路由设备的方框图;图4是其中可以实现本发明的路由设备的示意图;图5是示出根据本发明的优选实施例的分组序列的示意图;图6是根据本发明的优选实施例的节点拓扑的一个实例;图7是根据本发明的优选实施例的用于响应重置分组的过程的流程图;图8是根据本发明的优选实施例的用于接收子通信分组的过程的流程图;图9是根据本发明的优选实施例的用于创建节点的配置数据的过程的流程图;以及图10是根据本发明的优选实施例的用于路由数据的过程的流程图。
具体实施例方式
现在参考附图,图1示出了其中可以实现本发明的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现本发明的计算机的网络。网络数据处理系统100包含网络102,网络102是用于在网络数据处理系统100内连接到一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆之类的连接。
在所示实例中,服务器104与存储单元106一起与网络102相连。另外,客户机108、110和112与网络102相连。这些客户机108、110和112可以是例如个人计算机或网络计算机。在所示实例中,服务器104向客户机108-112提供诸如引导文件、操作系统映像以及应用程序之类的数据。客户机108、110和112是服务器104的客户机。网络数据处理系统100可以包括其他服务器、客户机以及未示出的其他设备。例如,网络数据处理系统100包括诸如路由器和交换机之类的路由设备。这些路由设备用来促进网络数据处理系统100内不同数据处理系统之间的数据传输。
在所示实例中,网络数据处理系统100是因特网,同时网络102代表全球范围内使用传输控制协议/网际协议(TCP/IP)协议集来相互通信的网络和网关的集合。因特网的核心是主节点或主机之间高速数据通信线路的主干,它由数以千计的商业、政府、教育以及其他路由数据和消息的计算机系统构成。当然,网络数据处理系统100也可以被实现为许多不同类型的网络,诸如例如企业内部互联网、局域网(LAN)或广域网(WAN)。图1旨在作为一个实例,并非旨在对本发明进行结构体系限制。
参考图2,图2示出了根据本发明的一个优选实施例,可以作为诸如图1的服务器104之类的服务器被实现的数据处理系统的方框图。数据处理系统200可以是对称多处理器(SMP)系统,其中包括多个与系统总线206相连的处理器202和204。可替代地,可以采用单处理器系统。同时与系统总线206相连的是存储器控制器/高速缓冲存储器208,其提供到本地存储器209的接口。I/O总线桥210与系统总线206相连并提供到I/O总线212的接口。存储器控制器/高速缓冲存储器208和I/O总线桥210可以如示出的那样被集成在一起。
与I/O总线212相连的外围组件互连(PCI)总线桥214提供了到PCI局部总线216的接口。许多调制解调器可以被连接到PCI局部总线216。典型的PCI总线实现将支持四个PCI扩展槽或附加连接器。通过经由附加连接器被连接到PCI局部总线216的调制解调器218和网络适配器220,可以提供到图1中的客户机108-112的通信链路。
附加的PCI总线桥222和224为附加的PCI局部总线226和228提供了接口,从附加的PCI局部总线226和228可以支持附加的调制解调器或网络适配器。以这种方式,数据处理系统220允许连接多台网络计算机。存储器映射的图形适配器230和硬盘232也可以如示出的那样直接或间接地与I/O总线212相连。
本领域的技术人员将理解,图2中所示的硬件可以有所变化。例如,除所示硬件之外或替代所示硬件,还可以使用诸如光盘驱动器之类的其他外围设备。所示实例并非旨在暗示本发明的体系结构限制。
图2所示的数据处理系统可以是例如IBM eServer pSeries系统,它是纽约阿蒙克的国际商业机器公司的产品,运行高级交互执行(AIX)操作系统或者LINUX操作系统。
接着参考图3,图3示出了根据本发明的一个优选实施例的路由设备的方框图。在此实例中,路由设备采用路由器300的形式。此路由器可以被实现为在诸如图1的网络102之类的网络中路由业务。路由器是一种将数据分组从一个局域网(LAN)或广域网(WAN)转发到另一个局域网或广域网的设备。基于路由表和路由协议,路由器读取每个传输帧中的网络地址并根据最有利的路线来决定如何发送该帧。路由器工作在协议栈中的层3。
路由器300包括性能路由引擎302和线卡(line card)304、306和308。性能路由引擎302包含路由处理器310、性能加速转发引擎312、底板接口314以及动态随机存取存储器(DRAM)分组缓冲器316。
当路由数据分组时,路由处理器310提供层2和层3的分组操纵。性能加速转发引擎312对接收并存储在DRAM分组缓冲器316中的数据分组执行路由。就通过底板接口314向性能路由引擎302发送和接收完整的数据分组而言,线卡304、306和308各自管理其自己的特定类型的接口,底板接口314提供了连接这些线卡的接口。路由器300包含诸如示例性实例中的性能路由引擎302之类的冗余路由引擎。
现在参考图4,图4示出了其中可以实现本发明的路由设备的示意图。节点400、402、404、406、408和410代表诸如路由器之类的路由设备。这些节点可以使用诸如图3中的路由器300之类的路由器来实现。
在此实例中,配置问题可能发生在节点400与节点402之间的路径412中。节点402的故障可能导致该路径中出现问题。路径412上的那些路由器需要了解此更改,并在不干扰其他路径的情况下迅速对该故障作出响应。由于此问题,在诸如节点400的发起者到节点406中的最终目的地之间的节点400与节点402之间的路径412限制了整体性能。分组源或发送者可能仍然以原始速度设置来发送分组并接收被弹回的分组。另外,分组可以只是消失而没有到达节点406。
本发明提供了用于标识图4中的节点更改的方法、装置和计算机指令。所述更改包括例如节点故障、移除节点或添加新节点。使用诸如检测分组丢失、检测破坏的路由表或其他错误之类的现有机制,可以标识这些更改。所述更改可以由其中发生错误的节点来标识,或在其他情况下由其他节点来标识。
当更改发生时,将为系统中存在的节点标识出节点拓扑。所述节点会发送表明它们在系统中存在的消息。此节点拓扑包括存在的节点的标识。本发明的机制选择某一节点作为主节点或父节点。该节点可以被预先选择或基于某些方案。例如,主节点可以是最后对节点更改作出响应的节点。将创建一个主配置表。该表包括来自所有节点的配置信息。配置表是路由器用来确定数据分组应到何处或应被路由到何处的信息的集合。配置表中的信息包括关于哪些连接通向特定地址组的信息、要使用的连接的优先级以及用于处理常规和特殊情况业务的规则。所述表和节点拓扑然后被发送给所有节点。
本发明的机制允许更高效的路由并对网络中路由设备的更改作出响应。该机制可以作为路由设备设置过程的一部分来实现,并减少了瓶颈和网络性能降低。
在图4的此示例性实例中,如果诸如路由表更改或新节点更改之类的更改被添加到了图中示出的节点,则已更改的节点或新节点会发送标头(header)中特别编码的分组以表明将进入重置模式。如果某一节点发生故障,此故障节点可以被另一个节点检测到,这启动了本实例中的重置模式。
在此模式下,每个节点首先发出带有特殊预定标头的通信分组。只要新的节点被引入网络或在任何现有节点内部发生更改,就会启动重置模式。在通信分组内部,消息包括“I am your child”代码,每个节点都将该代码发送给相邻节点。
然后,接收节点将“o.k.I am your parent”代码消息发回到发送子节点。此顺序操作将一直被重复,直到达到最大节点数。该数量可以是任何数量。在本示例性实例中,最大节点数为16。发送父代码消息给子节点的节点可以是例如系统中的某些预先选定的节点。将在网络内部建立诸如单根树结构之类的拓扑。在本实例中,等待时间最长的节点成为该树结构的根。
就拓扑而言,任何节点都可以是根节点或管理节点。根节点的唯一目的是维护将由每个子节点发出的主连接配置表。网络中可以存在许多父节点,但只能为网络拓扑定义一个根节点。父节点可以具有不同的级别,其中较低级别的父节点是较高级别父节点的子节点。
一旦建立了根树结构,则根节点将节点ID号分配给每个子节点。另外,根节点从每个子节点获得诸如配置表之类的配置数据。这些配置表被用于构建主配置表。当完成该主配置表时,根节点将该配置表广播到每个子节点,以使本地树系统中的每个节点都对系统内部的每个节点的功能具有清晰的概念。
通过将此过程应用到节点,如图4中所示,提高了传输效率。因此,显著减少了网络瓶颈问题。由于功能或新增容量引起的现有系统的任何未来更改将导致新的重置,从而生成并广播已更新的配置表。
现在参考图5,图5示出了根据本发明的一个优选实施例的分组序列的示意图。分组500和502是分组序列504中的数据分组的实例,分组序列504通常由诸如图2中示出的那些节点之类的节点来处理。分组500包含标头506和有效负荷508。类似地,数据分组502包含标头510和有效负荷512。
本发明的机制提供了一种用于向不同节点报告更改并发送通信的机制。该机制涉及向正常分组序列添加一种新的类型的分组,例如路由器间通信分组514。路由器间通信分组514包含一个预定义的标头,该标头包含诸如代码或标志之类的指示器,可以被其他路由器识别为是包含由路由器所使用的信息的分组。在这些示例性实例中,路由器间通信分组514与数据分组一起被发送。这些类型的通信分组散置在分组序列504内的数据分组之间。
接着参考图6,图6示出了根据本发明的一个优选实施例的节点拓扑的一个实例。在此示例性实例中,节点拓扑600采用表格的形式。具体地说,节点拓扑600是一个代表路由树图的路由查找表代码簿。该表包含符号602、速度码604和状态码606。符号602代表本实例中的节点的标识符。速度码604标识或指示节点的路由速度。状态码606提供关于节点的状态信息。当然,替代关于节点的信息和特性或者除了关于节点的信息和特性以外,其他信息可以被包括到路由树表600中。
现在参考图7,图7示出了根据本发明的一个优选实施例的用于响应重置分组的过程的流程图。图7中示出的过程可以在诸如图4的节点400之类的节点中实现。
所述过程以接收重置分组(步骤700)开始。该分组是诸如图5中的路由器间通信分组514之类的路由器间通信分组。在这些示例性实例中,此类型的分组通过置于分组标头中的代码或标志来标识。如上所述,接收此重置分组会将节点置于重置模式。接着,传输子分组(步骤702)。然后,接收父分组(步骤704)。此后,接收主配置表和网络拓扑(步骤706),同时所述过程在此后终止。
此时,路由器可以使用所述主配置表和网络拓扑来路由数据。应用层进程可以使用所述网络拓扑来标识用于路由数据的路径。实际数据路由是使用所述主配置表来完成的。
现在参考图8,图8示出了根据本发明的一个优选实施例的用于接收子通信分组的过程的流程图。图8中示出的过程可以在诸如图4的节点400之类的节点中实现。
所述过程以等待一段时间(步骤800)开始。接着,判定是否接收到子分组(步骤802)。步骤802中的子分组是路由器间通信分组,该路由器间通信分组包含代码,指出所述分组是从子节点处接收的。尽管未示出,但是分组中可以存在其他信息或代码以提供诸如例如握手信号之类的其他信息。如果接收到子分组,则判定是否达到了节点阈值(步骤804)。如果没有达到节点阈值,则向组添加一个节点(步骤806)。可以基于可以被最佳地分组的节点数来设置此阈值。例如,所述阈值可以是16个节点。接着,发送父分组(步骤808),然后过程返回上述步骤800。所述父分组是路由器间通信分组,用作对发送子分组的子节点的确认,指出已经从子节点接收到子分组。
返回参考步骤802,如果没有接收到子分组,则判定是否出现超时(步骤810)。如果需要超时,则过程返回上述步骤800。如果出现了超时,则过程终止。
现在参考图9,图9示出了根据本发明的一个优选实施例的用于创建节点的配置数据的过程的流程图。图9中示出的过程可以在诸如图4的节点400之类的节点中实现。
所述过程以生成节点拓扑(步骤900)开始。接着,将节点ID号分配给子节点(步骤902)。节点ID号用于标记节点。接着,请求配置数据(步骤904)。该配置数据包括配置表。
然后,接收配置数据(步骤906)。响应于接收到该配置数据,构建主配置表(步骤908)。然后,广播该配置表和节点拓扑以便由每个子节点进行接收(步骤910),此后过程终止。
现在参考图10,图10示出了根据本发明的一个优选实施例的用于路由数据的过程的流程图。图10中示出的过程可以在诸如图4的节点400之类的节点中实现。具体地说,在这些实例中,该过程在节点中的应用层内实现。
所述过程以使用节点拓扑来标识节点和路径(步骤1000)开始。接着,标识最优路径(步骤1002)。可以以许多不同的方式来选择最优路径。例如,基于标识包含最快路由器的路径,所述最优路径可以选择一个路径。可替代地,可以通过标识使用最少数量路由器的路径来选择最短路径。然后,使用所标识的路径来路由数据(步骤1004),此后过程终止。
因此,本发明提供了用于管理路由设备中的配置信息以对路由设备中的更改作出响应的方法、装置和计算机指令。本发明的机制利用了路由器间通信协议并建立了根路由器,所述根路由器是本地网络环境中的“自管理控制台”实体。只要新的节点被引入网络或在任何现有节点内部发生更改,根路由器就首先发出带有特殊预定义标头的路由器间通信分组。
在这些路由器间通信分组内部,消息包含“I am your child”代码,每个节点都将该代码发送给相邻节点。然后,接收此消息的节点将带有“o.k.I am your parent”代码消息的消息返回给发送节点。此顺序操作将一直被重复,直到达到最大节点数。使用此来自响应初始消息的节点的信息,在网络内部建立了一个单根树结构。在示例性实例中,等待时间最长的节点成为根。就拓扑而言,任何节点都可以是根节点或管理节点。根节点的唯一目的是维护由每个子节点发送的主配置表。
一旦建立了根树结构,则根节点将节点ID号分配给每个子节点。该根节点还从每个子节点获得配置数据。一旦建立了根节点或创建了主配置表,根节点就将主配置表广播给每个子节点。以这种方式,本地树系统中的每个节点都对系统内部的每个节点的功能具有清晰的概念。另外,节点的拓扑还被发送给其他节点,以便在路由数据分组中使用。因此,借助所述主配置表和节点的拓扑,可以显著减少网络瓶颈问题。由于功能或新增容量引起的现有系统的任何未来更改将导致新的重置,以便可以生成并广播新的已更新的表。
此外,所述树结构和通信协议可以在没有任何增加的硬件功能的情况下被实现为纯软件功能块,因为它完全被现有硬件设施所利用。
重要的是注意到,虽然在完整功能的数据处理系统的情况下说明了本发明,本领域的技术人员将理解,可以以指令的计算机可读介质的形式和各种形式来发布本发明的诸过程,并且本发明均可等同地适用而与实际用于执行发布的信号承载介质的特定类型无关。计算机可读介质的实例包括可记录型介质,诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM和传输型介质,诸如数字和模拟通信链路、使用诸如例如射频和光波传输之类的传输形式的有线或无线通信链路。计算机可读介质可以采取编码格式的形式,可以对其解码以便在特定数据处理系统内实际地使用。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。
权利要求
1.一种用于自动配置网络数据处理系统中的路由设备的方法,所述方法包括以下计算机实现的步骤标识所述网络数据处理系统中的路由更改;响应于标识所述路由更改,为所述网络数据处理系统中存在的一组路由设备生成节点拓扑;在该组路由设备中的一路由设备处构建主网络配置表,其中所述网络配置表包含来自所述节点拓扑中的所述路由设备的配置数据;以及将所述主网络配置表广播到所述网络数据处理系统中的所述路由设备。
2.根据权利要求1的方法,其中所述生成步骤包括从所述路由设备中的一特定的路由设备接收子消息;响应于接收到所述子消息,向所述特定的路由设备返回父消息;以及响应于接收到来自所述路由设备的所述子消息,将所述特定的路由设备添加到所述节点拓扑。
3.根据权利要求2的方法,其中所述节点拓扑是树结构。
4.根据权利要求1的方法,其中所述路由更改是将新的路由设备添加到所述网络数据处理系统中的所述路由设备组。
5.根据权利要求1的方法,其中所述路由更改是所述网络数据处理系统内选定路由设备中的配置更改。
6.根据权利要求1的方法,其中所述路由设备是路由器、域名系统服务器或交换机中的一个。
7.根据权利要求2的方法,其中根节点是最后一个发送所述子消息的路由设备。
8.根据权利要求2的方法,其中发送子消息以响应所述路由设备接收到重置消息。
9.根据权利要求8的方法,其中所述重置消息是从所述路由设备中的新路由设备发送的。
10.根据权利要求2的方法,其中使用路由器间通信来发送所述子消息和所述父消息。
11.根据权利要求1的方法,其中所述路由设备组是所述网络数据处理系统中的一部分所述路由设备。
12.一种网络数据处理系统,所述系统包括多个通信链路;以及一组路由设备,其中一组网络设备使用路由器间通信来相互通信,并且其中所述网络设备组中的更改导致生成所述路由设备组的节点拓扑、根据所述节点拓扑中的路由设备构建主配置表以及将所述主配置表传输到所述节点拓扑中的所述路由设备,以便在路由所述网络数据处理系统中的业务时使用。
13.一种用于配置网络数据处理系统中的路由设备的数据处理系统,所述数据处理系统包括以下计算机实现的步骤标识装置,所述标识装置用于标识所述网络数据处理系统中的路由更改;生成装置,响应于标识所述路由更改,所述生成装置用于为所述网络数据处理系统中存在的一组路由设备生成节点拓扑;构建装置,所述构建装置用于在该组路由设备中的一路由设备处构建主网络配置表,其中所述网络配置表包含来自所述节点拓扑中的所述路由设备的配置数据;以及广播装置,所述广播装置用于将所述主网络配置表广播到所述网络数据处理系统中的所述路由设备。
14.根据权利要求13的数据处理系统,其中所述生成装置包括接收装置,所述接收装置用于从所述路由设备中的一特定的路由设备接收子消息;返回装置,响应于接收到所述子消息,所述返回装置用于向所述特定的路由设备返回父消息;以及添加装置,响应于接收到来自所述路由设备的所述子消息,所述添加装置用于将所述特定的路由设备添加到所述节点拓扑。
15.根据权利要求14的数据处理系统,其中所述节点拓扑是树结构。
16.根据权利要求13的数据处理系统,其中所述路由更改是将新的路由设备添加到所述网络数据处理系统中的所述路由设备组。
17.根据权利要求13的数据处理系统,其中所述路由更改是所述网络数据处理系统内选定路由设备中的配置更改。
18.根据权利要求13的数据处理系统,其中所述路由设备是路由器、域名系统服务器或交换机中的一个。
19.根据权利要求14的数据处理系统,其中根节点是最后一个发送所述子消息的路由设备。
20.根据权利要求14的数据处理系统,其中发送子消息以响应所述路由设备接收到重置消息。
21.一种计算机可读介质中用于自动配置网络数据处理系统中的路由设备的计算机程序产品,所述计算机程序产品包括以下计算机实现的步骤第一指令,所述第一指令用于标识所述网络数据处理系统中的路由更改;第二指令,响应于标识所述路由更改,所述第二指令用于为所述网络数据处理系统中存在的一组路由设备生成节点拓扑;第三指令,所述第三指令用于在该组路由设备中的一路由设备处构建主网络配置表,其中所述网络配置表包含来自所述节点拓扑中的所述路由设备的配置数据;以及第四指令,所述第四指令用于将所述主网络配置表广播到所述网络数据处理系统中的所述路由设备。
22.根据权利要求21的计算机程序产品,其中所述第二指令包括第一子指令,所述第一子指令用于从所述路由设备中的一特定的路由设备接收子消息;第二子指令,响应于接收到所述子消息,所述第二子指令用于向所述特定的路由设备返回父消息;以及第三子指令,响应于接收到来自所述路由设备的所述子消息,所述第三子指令用于将所述特定的路由设备添加到所述节点拓扑。
23.根据权利要求22的计算机程序产品,其中所述节点拓扑是树结构。
24.根据权利要求21的计算机程序产品,其中所述路由更改是将新的路由设备添加到所述网络数据处理系统中的所述路由设备组。
25.根据权利要求21的计算机程序产品,其中所述路由更改是所述网络数据处理系统内选定路由设备中的配置更改。
26.根据权利要求21的计算机程序产品,其中所述路由设备是路由器、域名系统服务器或交换机中的一个。
27.根据权利要求22的计算机程序产品,其中根节点是最后一个发送所述子消息的路由设备。
28.根据权利要求22的计算机程序产品,其中发送子消息以响应所述路由设备接收到重置消息。
29.根据权利要求28的计算机程序产品,其中所述重置消息是从所述路由设备中的新路由设备发送的。
30.根据权利要求22的计算机程序产品,其中使用路由器间通信来发送所述子消息和所述父消息。
31.根据权利要求21的计算机程序产品,其中所述路由设备组是所述网络数据处理系统中的一部分所述路由设备。
全文摘要
本发明提供了用于配置网络数据处理系统中的路由设备的方法、装置和计算机指令。所述网络数据处理系统中的路由更改被标识。响应于所述路由更改被标识,为所述网络数据处理系统中存在的一组路由设备生成节点拓扑。在该组路由设备内的一路由设备处构建主网络配置表。所述网络配置表包含来自所述节点拓扑内的所述路由设备的配置数据。所述主网络配置表被广播到所述网络数据处理系统中的所述路由设备。
文档编号H04L12/28GK1716877SQ20051007677
公开日2006年1月4日 申请日期2005年6月10日 优先权日2004年6月30日
发明者O·K·班恩 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1