CN100379230C - 路由器,管理数据传送路径的方法及其计算机程序 - Google Patents

路由器,管理数据传送路径的方法及其计算机程序 Download PDF

Info

Publication number
CN100379230C
CN100379230C CNB031064655A CN03106465A CN100379230C CN 100379230 C CN100379230 C CN 100379230C CN B031064655 A CNB031064655 A CN B031064655A CN 03106465 A CN03106465 A CN 03106465A CN 100379230 C CN100379230 C CN 100379230C
Authority
CN
China
Prior art keywords
path
tree
optimal path
stored
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB031064655A
Other languages
English (en)
Other versions
CN1441582A (zh
Inventor
蒲池计纪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN1441582A publication Critical patent/CN1441582A/zh
Application granted granted Critical
Publication of CN100379230C publication Critical patent/CN100379230C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种路由器60,包括:单点传送协议引擎1-3,每个单点传送协议引擎都从毗邻的节点接收单点传送路径;路由软件核心4,将该单点传送路径存储在与该单点传送协议引擎相关的树中,按照分配给该单点传送协议引擎的优先权,从单点传送路径中选择最佳路径,并且将该最佳路径存储在最佳路径树中;内核5,从路由软件核心接收最佳路径,以执行路由控制。当将去向共同目的地的多个寻址路径存储在树1A-3A中时,路由软件核心4将最高优先权的单点传送协议引擎检索的路径寄存在最佳路径树4A中,作为最佳路径,按照分配给单点传送协议引擎的优先权,将优先权应用到剩余的路径上,并且将该路径与最佳路径一起存储在最佳路径树中,作为最佳路径候选者。

Description

路由器,管理数据传送路径的方法及其计算机程序
技术领域
本发明涉及路由器,具体地,涉及一种用于通过使用树型结构来管理关于数据传输路径的信息的装置。本发明还涉及该装置的方法和计算机实现该方法的程序。
背景技术
为了在网络中传送分组,在路由器或者计算机中通常存储着路由表,该路由表中以树型结构存储了关于数据传输路径的信息。在连接到诸如因特网之类的网络之后,路由器或者计算机开始按照这种路由表来传送分组。
图1是常规路由器的方框图。
图1中示出的路由器50包括:第一路由引擎(RE)10;第二路由引擎(RE)11;第三路由引擎(RE)12;守护程序(demon)路由软件核心(RS-CORE)13,它将第一到第三路由引擎10到12提供的路径合并,并且将该路径寄存到后面提及的内核14中;和内核14,它将路由软件核心13提供的路径存储在转发路径表中,进而执行路由控制。
第一至第三路由引擎10、11和12按照彼此不同的单点传送协议来运行。
路由软件核心(RS-CORE)13包括:第一树10A,存储第一路由引擎10检索的路径;第二树11A,存储第二路由引擎11检索的路径;第三树12A,存储第三路由引擎12检索的路径;和最佳路径树13A,存储在存储的第一到第三树10A、11A和12A中发现的最佳路径。
下面参考图2到图6解释路由器50的工作情况。
图2示出了七个路由器A到G通过网络R1到R8彼此连接的网络结构。
当路由器A将分组传送到图2所示的网络结构中的网络R8时,可以通过下面的三条路径传送分组。在第一路径中,通过路由器B和E将分组传送到网络R8。在第二条路径中,通过路由器C和E将分组传送到网络R8。在第三条路径中,通过路由器D、F和E将分组传送到网络R8。
第一到第三路由引擎10到12按照彼此不同的路由协议来运行。第一路由引擎10按照路由协议S检索NEXTTHOP(B),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(B)存储到路由软件核心13的第一树10A中。第二路由引擎11按照路由协议T检索NEXTTHOP(C),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(C)存储到路由软件核心13的第二树11A中。第三路由引擎12按照路由协议U检索NEXTTHOP(D),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(D)存储到路由软件核心13的第三树12A中。
以下设在路由软件核心13中第二路由引擎11具有最高优先权,第一路由引擎10具有第二最高优先权,而第三路由引擎12具有最低的优先权。还设最佳路径树13A开始没有存储路径。
如图3所示,当第一路由引擎10将已经由第一路由引擎10检索的去向网络R8的路径NEXTTHOP(B)存储在路由软件核心13中时,将该路径NEXTTHOP(B)存储在与第一路由引擎10相关的第一树10A中。然后,将该路径NEXTTHOP(B)存储在最佳路径树13A中。由于在最佳路径树13A中没有存储去向网络R8的路径,所以将已经由第一路由引擎10检索的路径NEXTTHOP(B)存储在最佳路径树13A中,而不执行后面提及的比较。还将路径NEXTTHOP(B)存储在内核14中。
如图4所述,当第三路由引擎12将已经由第三路由引擎12检索的去向网络R8的路径NEXTTHOP(D)存储到路由软件核心13中时,将路径NEXTTHOP(D)存储在与第三路由引擎12有关的第三树12A中。然后,路由软件核心13试图将该路径NEXTTHOP(D)存储在最佳路径树13A中。但是,由于由第一路由引擎10检索的路径NEXTTHOP(B)已经存储在最佳路径树13A中,路由软件核心13比较第三路由引擎12的优先权和第一路由引擎10的优先权。由于第三路由引擎12的优先权低于第一路由引擎10的优先权,所以不将第三路由引擎12检索的路径NEXTTHOP(D)存储在最佳路径树13A中。
如图5所示,当第二路由引擎11将已经由第二路由引擎11检索的去向网络R8的路径NEXTTHOP(C)存储到路由软件核心13中时,将路径NEXTTHOP(C)存储在与第二路由引擎11有关的第二树11A中。然后,路由软件核心13试图将该路径NEXTTHOP(C)存储在最佳路径树13A中。但是,由于由第一路由引擎10检索的路径NEXTTHOP(B)已经存储在最佳路径树13A中,路由软件核心13比较第二路由引擎11的优先权和第一路由引擎10的优先权。由于第二路由引擎11的优先权高于第一路由引擎10的优先权,所以路由软件核心13将路径NEXTTHOP(B)从最佳路径树13A中删除,并且将已经由第二路由引擎11检索的路径NEXTTHOP(C)存储在最佳路径树13A中,作为去向网络R8的最佳路径。然后,将已经由第一路由引擎10检索的路径NEXTTHOP(B)从内核14中删除,并且将第二路由引擎11检索的路径NEXTTHOP(C)存储在内核14中,作为去向网络R8的最佳路径。
下面解释从最佳路径树13A中删除已经由第二路由引擎11检索到的路径NEXTTHOP(C)的过程。
首先,检索第二树11A,以确定路径NEXTTHOP(C)存储在第二树11A中何处。然后,如图6所示,从第二树11A中删除路径NEXTTHOP(C)。
然后,检索最佳路径树13A,以确定路径NEXTTHOP(C)存储在最佳路径树13A中的何处。然后,如图6所示,从最佳路径树13A中删除路径NEXTTHOP(C)。
由于仅仅由第二路由引擎11检索的路径NEXTTHOP(C)被存储在最佳路径树13A中,在从最佳路径树13A中删除路径NEXTTHOP(C)之后,没有去向网络R8的最佳路径存储在最佳路径树13A中。由于任何去向网络R8的最佳路径都不再被存储在最佳路径树13A中,所以从内核14中删除已经由第二路由引擎11检索的路径NEXTTHOP(C)。
在此之后,在分别与第一和第三路由引擎10和12相关的第一和第三树10A和12A中检索去向网络R8的路径。然后,将通过检索第一和第三树10A和12A而找到的去向网络R8的路径存储在最佳路径树13A,作为最佳路径。
但是,图1中所示上面提及的常规路由器50有一个问题,如果从最佳路径树13A中删除去向目的地的最佳路径,则在新的最佳路径存储在最佳路径树13A中之前,将不可能向目的地传送分组。因此,如果花费较多的时间检索新的最佳路径并将其存储在最佳路径树13A中,则经过较长的时间,分组都不会被传送到目的地,这导致路由器50可靠性变差。
如果在巨大的网络中检索最佳路径,则找到的最佳路径树也非常大。因此,不得不在这种巨大的树中检索去向目的地的路径,并且必须在最佳路径树13A中检索存储被检索的路径的存储区域。因此将该路径存储在最佳路径13A中被检索的存储区域内。
图1中所示的上面提及的常规路由器50还有下面的问题。如果多个路由引擎将去向共同目的地的路径存储在与路由引擎相关的树中,则要从树中删除全部的路径。这造成不必要地执行将路径存储在内核14中并且将路径从内核14中删除的步骤。
例如,如果从第二树11A和最佳路径树13A中删除作为最佳路径的、由第二路由引擎11检索的并被存储在最佳路径树13A中的路径,则检索与第一到第三路由引擎10和12相关的第一和第三树10A和12A,以找到已经由第一和第三路由引擎10和12检索的路径,作为最佳路径候选者。如果与第一路由引擎10相关的第一树10A包括的去向网络R8的路径的数目比与第三路由引擎12相关的第三树12A的多,则首先检索与第三路由引擎12相关的第三树12A,因为第三路由引擎12的优先权比第一路由引擎10的优先权低。如果首先在与第三路由引擎12相关的第三树12A中找到了去向目的地的路径,也就是去向网络R8的路径,则将该路径存储在最佳路径树13A中,作为最佳路径,并进一步将其存储在内核14中。
如果在与第一路由引擎10相关的第一树10A中找到了去向目的地的路径,也就是去向网络R8的路径,则将已经由第三路由引擎12检索的路径从最佳路径树13A中删除,并且将已经由第一路由引擎10检索的路径存储在最佳路径树13A中,作为新的最佳路径。在此之后,将已经由第三路由引擎12检索的路径从内核14中删除,并且将由第一路由引擎10检索的路径存储在内核14中。
如上所述,常规的路由器50有这样的问题,当将旧的最佳路径从最佳路径树13A中删除并且要将新的最佳路径存储在最佳路径树13A中时,它要花费相当多的时间来检索新的最佳路径。
鉴于按照多点协议传送数据所通过的多点路径中的增加的问题,为了减少施加在内核上的负担的目的,本发明的受让人提出一种用于将路径寄存在多点路由器中的系统。该系统包括:多点传送协议引擎,从毗邻的节点接收多点路径;内核,仅存储路径、每当接收到多点传送分组就将路径信息发送到多点传送协议引擎、以及控制接收的多点传送分组的传送;应用网关守护程序,它将该路径存储在内核中;和传送引擎,它并行地从内核接收路径信息,并且在本地传送多点传送分组。
日本公开专利申请No.11-503881按照基于1994年3月16提交的美国专利申请08/213,710的国际申请PCT/US95/1313提出了一种包括多个交换节点的通信网,这些交换节点相互连接到与一个或者多个输入链路相连接的通信链路上,所述的通信网从输入链路接收数据并且将接收的数据传送到输出链路。每个交换节点包括:第一装置,用于提供确定通过交换节点的数据路由的关于树路由的信息;第二装置,用于确定一系列时间段,每个时间段都与一个或者多个树路由有关;第三装置,用于检索与每个时间段的一个或者多个树路由有关的信息;和第四装置,用于按照每个时间段中从第三装置接收到的信息将来自输入链路子集的数据定向到输出链路的子集。
日本专利申请No.6-261078提出一种检索包括路由器的通信系统中的表的方法,该路由器包括:多个网络,与多个终端相连接;多个网络接口,用于将网络彼此相连接。每个网络接口包括路由表和用于检索路由表的高速缓存器。该方法包括以下步骤:检索与在连接到不同网络的终端中进行的通信相关的信息;从接收的分组中查找目的地址;使用被用作检索关键字的目的地址来检索路由表;和将信息发送到其它的网络。该方法还包括以下步骤:(a)将可以获得指向路由表入口的指针的目的地址存储在高速缓存器的CAM中;(b)将该指针存储在具有与CAM的入口链接的入口的对应表中;(c)当为了已经检索的目的地址而再次检索路由表时,比较目的地址和存储在CAM中的目的地址;(d)如果CAM存储了目的地址,获得指向与存储了目的地址的入口相链接的对应表的项之外的路由表。
日本专利申请No.2000-49857提出一种路由器,包括:(a)检索存储器,具有存储目的网络的IP地址列表和路径号列表的第一区域和存储目的主机的IP地址列表和路径列表的第二区域;和(b)检索器,它检索存储在检索存储器中的目的IP地址列表,以便找到与包括在接收的分组中的目的IP地址相同的目的主机地址,或者包括目的主机地址的目的网络地址,以及将接收的分组发送到与检索的目的主机地址或者目的网络地址相关的路径。在检索目的主机地址或目的网络地址中,检索器通过将包括在接收的分组中的目的IP地址的最大长度作为参数来检索存储在检索存储器中的目的IP地址。
但是,即使在上面提及的装置和方法中也仍旧没有解决上面提及的问题。
发明内容
鉴于常规路由器中上面提及的问题,本发明的一个目的是提供一种路由器,它能够缩短检索新的最佳路径所需要的时间,从而减少对网络通信的影响。
本发明的另一个目的是提供一种管理传送数据的路径的方法和实现该方法的计算机程序。
在本发明的一个方面,提供一种路由器,包括(a)多个单点传送协议引擎,每个单点传送协议引擎都从毗邻的节点接收单点传送路径;(b)路由软件核心,它将单点传送路径存储在与单点传送协议引擎相关的树中,按照分配给单点传送协议引擎的优先权,从单点传送协议引擎接收的单点传送路径中选择最佳路径,并且将最佳路径存储在最佳路径树中;(c)内核,从路由软件核心接收最佳路径,以执行路由控制,其中,当多个寻址到共同目的地的路径被存储在树中时,路由软件核心将具有最高优先权的单点传送协议引擎接收的路径寄存在最佳路径树中,作为最佳路径,按照分配给单点传送协议引擎的优先权,将优先权应用到由其它单点传送协议引擎检索的路径,以及将该路径与最佳路径一起寄存在最佳路径树中,作为最佳路径候选者。
下面说明由前述的本发明所取得的优点。
在本发明的路由器中,将至少一个第二最佳路与去向目的地的最佳路径一起预先存储在最佳路径树中。因此,即使变得不需要交换最佳路径,也不再需要重新检索新的最佳路径。因此,有可能节省检索新的最佳路径所需要的时间。
在图1所述的常规路由器中,在已经从最佳路径树13A中删除最佳路径之后,检索第一和第三树10A和12A,用于寻找新的最佳路径。如果与优先权比第三路由引擎12的优先权高的第一路由引擎10相关的第一树10A,以比存储在与第三路由引擎12相关的第三树12A中的路径大的数量来存储该路径,则首先将第三路由引擎12检索的路径存储在最佳路径树13A中,并且进一步存储在内核14中,以及,在此之后立即将由第一路由引擎10检索的路径存储在最佳路径树13A中,并且进一步存储在内核14中。因此,重复进行将最佳路径存储在内核14中和将最佳路径从内核14中删除。
相反,在本发明的路由器中,至少一个第二最佳路径与去向目的地的最佳路径一起预先存储在最佳路径树中。选择第二最佳路径,作为优先权比其它路由引擎高的路由引擎检索的路径。因此,并不将优先权比特定的路由引擎的优先权低的路由引擎检索的路径选择为最佳路径,这造成了能够防止重复将最佳路径存储在内核中和将最佳路径从内核中删除。
另外,由于最佳路径事先已知,所以当最佳路径改变时需要仅仅检索既存储下一最佳路径的树又检索存储最佳路径的树。即使多个路径被存储在树中时,也不再需要检索所有的树。这保证了可以缩短检索树需要的时间。
附图说明
图1是常规路由器的方框图。
图2示出了网络的例子。
图3与图1相似,是常规路由器的方框图,示出了该路由器的操作情况。
图4与图1相似,是常规路由器的方框图,示出了该路由器的操作情况。
图5与图1相似,是常规路由器的方框图,示出了该路由器的操作情况。
图6与图1相似,是常规路由器的方框图,示出了该路由器的操作情况。
图7是本发明第一实施例的路由器的方框图。
图8示出了网络的例子。
图9与图7相似,是本发明优选实施例的路由器的方框图,示出了该路由器的操作情况。
图10与图7相似,是本发明优选实施例的路由器的方框图,示出了该路由器的操作情况。
图11与图7相似,是本发明优选实施例的路由器的方框图,示出了该路由器的操作情况。
图12与图7相似,是本发明优选实施例的路由器的方框图,示出了该路由器的操作情况。
具体实施方式
图7示出了本发明第一实施例的路由器60的方框图。
该路由器60包括:第一路由引擎(RE)1;第二路由引擎(RE)2;第三路由引擎(RE)3;守护程序路由软件核心(RS-CORE)4,它将每个目的地的路径合并,并且将该路径寄存到后面提及的内核5中;和内核5,它将路由软件核心4提供的路径存储在转发路径表(未示出)中,进而执行路由控制。
第一到第三路由引擎1、2和3的每个都包括单点传送协议引擎,并且按照彼此不同的路由协议来运行。
路由软件核心(RS-CORE)4包括:第一树1A,存储第一路由引擎1检索的路径;第二树2A,存储第二路由引擎2检索的路径;第三树3A,存储第三路由引擎3检索的路径;和最佳路径树4A,存储在存储的第一到第三树1A、2A和3A中发现的最佳路径。
第一到第三路由引擎1、2和3按照路由协议从毗邻的节点接收单点传送路径,并且将接收的单点传送路径分别存储在相关的树1A、2A和3A中。
路由软件核心4管理第一到第三路由引擎1、2和3检索的单点传送路径,并且将其存储在第一到第三树1A、2A和3A中。另外,路由软件核心4按照应用到每个第一到第三路由引擎1、2和3的优先权将去向每个目的地的路径合并,从存储在第一到第三树1A、2A和3A中的路径中寻找最佳路径,并且将找到的最佳路径存储在最佳路径树4A中。
具体而言,如下选择要被存储在最佳路径树4A中的最佳路径。
当第一到第三路由引擎1到3检索到去向共同目的地的多个路径时,将第一到第三路由引擎中优先权最高的路由引擎检索的路径选择为最佳路径。将因此选择的最佳路径存储在最佳路径树4A中。现在,随着将最佳路径存储到最佳路径树4A中,还将第二最佳路径NEXTTHOP存储在最佳路径树4A中,作为与最佳路径有关的最佳路径候选者。这里,第二最佳路径表示第一到第三路由引擎1到3中有第二最高优先权的路径。第二最佳路径NEXTTHOP存储在最佳路径树4A中,作为与最佳路径有着相同的地址或者目的地的路径。在存储在最佳路径树4A中的最佳路径和第二最佳路径中,仅仅最佳路径被寄存在内核5中。
下面参考图8到图12解释路由器60的工作情况。
图8示出了七个路由器A到G通过网络R1到R8彼此连接的网络结构。
当路由器A将分组传送到图8所示的网络结构中的网络R8时,可以通过下面的三条路径传送分组。在第一路径中,通过路由器B和E将分组传送到网络R8。在第二条路径中,通过路由器C和E将分组传送到网络R8。在第三条路径中,通过路由器D、F和E将分组传送到网络R8。
第一到第三路由引擎1到3按照彼此不同的路由协议来运行。第一路由引擎1按照路由协议S检索NEXTTHOP(B),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(B)存储到路由软件核心4的第一树1A中。第二路由引擎2按照路由协议T检索NEXTTHOP(C),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(C)存储到路由软件核心4的第二树2A中。第三路由引擎3按照路由协议U检索NEXTTHOP(D),作为去向目的地的路径,也就是去向网络R8的路径,并且将该路径NEXTTHOP(D)存储到路由软件核心4的第三树3A中。
以下设在路由软件核心4中第二路由引擎2具有最高优先权,第一路由引擎1具有第二最高优先权,而第三路由引擎3具有最低的优先权。还设最佳路径树4A开始没有存储路径。
如图9所示,当第一路由引擎1将已经由第一路由引擎1检索的、寻址到网络R8的路径NEXTTHOP(B)存储在路由软件核心4中时,将路径NEXTTHOP(B)存储在与第一路由引擎1相关的第一树1A中。然后,将该路径NEXTTHOP(B)存储在最佳路径树4A中。由于在最佳路径树4A中没有存储去向网络R8的路径,所以将已经由第一路由引擎1检索的路径NEXTTHOP(B)存储在最佳路径树4A中,而不执行后面提及的比较。还将路径NEXTTHOP(B)从最佳路径树4A存储在内核14中。
如图10所述,当第三路由引擎3将已经由第三路由引擎3检索的去向网络R8的路径NEXTTHOP(D)存储到路由软件核心4中时,将路径NEXTTHOP(D)存储在与第三路由引擎3有关的第三树3A中。
然后,路由软件核心4试图将该路径NEXTTHOP(D)存储在最佳路径树4A中。但是,由于由第一路由引擎10检索的路径NEXTTHOP(B)已经存储在最佳路径树4A中,路由软件核心4比较第三路由引擎3的优先权和第一路由引擎1的优先权。由于第三路由引擎3的优先权低于第一路由引擎1的优先权,将由第三路由引擎3检索的路径NEXTTHOP(D)存储在最佳路径树4A中,作为最佳路径候选者或者去向网络R8的第二最佳路径。因此,将路径NEXTTHOP(B)存储在最佳路径树4A中,作为最佳路径,并且将路径NEXTTHOP(D)存储在最佳路径树4A中,作为第二最佳路径。
如图11所示,当第二路由引擎2将已经由第二路由引擎2检索的去向网络R8的路径NEXTTHOP(C)存储到路由软件核心4中时,将路径NEXTTHOP(C)存储在与第二路由引擎2有关的第二树2A中。
然后,路由软件核心4试图将该路径NEXTTHOP(C)存储在最佳路径树4A中。但是,由于由第一路由引擎1检索的路径NEXTTHOP(B)已经存储在最佳路径树4A中,路由软件核心4比较第二路由引擎2的优先权和第一路由引擎1的优先权。由于第二路由引擎2的优先权高于第一路由引擎1的优先权,所以将已经由第一路由引擎检索的路径NEXTTHOP(C)存储在最佳路径树4A中,作为去向网络R8的最佳路径。
将已经由第一路由引擎1检索的路径NEXTTHOP(B)和已经由第三路由引擎检索的路径NEXTTHOP(D)存储在最佳路径树4A中,作为第二最佳路径。具体地,将已经由第二路由引擎2检索的路径NEXTTHOP(C)存储在最佳路径树4A中,作为去向网络R8的最佳路径,同时,按照应用在第一和第三路由引擎1和3的优先权,使用应用到它们的优先权,也将路径NEXTTHOP(B)和路径NEXTTHOP(D)存储在最佳路径树4A中。
由于应用到第一路由引擎1的优先权高于应用到第三路由引擎3的优先权,如果将作为去向网络R8的最佳路径而存储在最佳路径树4A中的路径NEXTTHOP(C)从最佳路径树4A中删除,将已经由第一路由引擎1检索的路径NEXTTHOP(B)新选择为去向网络R8的最佳路径。此外,由于由第一路由引擎检索1的路径NEXTTHOP(B)和由第二路由引擎检索2的路径NEXTTHOP(C)不同,所以还将第一路由引擎1检索的路径NEXTTHOP(B)存储在内核5中。
下面解释将已经由第二路由引擎2检索到的路径NEXTTHOP(C)从最佳路径树4A中删除的过程。
首先,检索第二树2A,以确定路径NEXTTHOP(C)存储在第二树2A中何处。然后,如图12所示,将路径NEXTTHOP(C)从第二树2A中删除。
然后,检索最佳路径树4A,以确定路径NEXTTHOP(C)存储在最佳路径树4A中的何处。然后,如图12所示,将路径NEXTTHOP(C)从最佳路径树4A中删除。在将路径NEXTTHOP(C)从最佳路径树4A中删除的同时,将新选择的最佳路径存储在最佳路径树4A中。
在这个阶段,将已经由第一路由引擎1检索的路径NEXTTHOP(B)和已经由第三路由引擎检索的路径NEXTTHOP(D)存储在最佳路径树4A中,作为第二最佳路径。因此,有可能同时在目前存储在最佳路径树4A中删除最佳路径,并且仅仅通过检索当前存储在最佳路径树4A中的最佳路径,将已经存储在最佳路径树4A中的新的最佳路径选择为第二最佳路径。具体地,有可能同时将已经由第二路由引擎2检索的路径NEXTTHOP(C)从最佳路径树4A中删除,并且选择由第一路由引擎1检索的路径NEXTTHOP(B)作为新的最佳路径。
在将路径NEXTTHOP(C)从最佳路径树4A中删除和选择路径NEXTTHOP(B)作为新的最佳路径之后,将路径NEXTTHOP(B)寄存在内核5中。
如上所述,在第一实施例的路由器60中,将至少一个第二最佳路与去向目的地的最佳路径一起预先存储在最佳路径树4A中。因此,即使变得不需要交换最佳路径,也不再需要检索新的最佳路径。因此,有可能节省检索新的最佳路径所需要的时间。
如前所述,在图1所述的常规路由器50中,在已经从最佳路径树13A中删除最佳路径之后,检索第一和第三树10A和12A,用于寻找新的最佳路径。如果与优先权比第三路由引擎12的优先权高的第一路由引擎10相关的第一树10A,以比存储在与第三路由引擎12相关的第三树12A中的路径大的数量来存储该路径,则首先将第三路由引擎12检索的路径存储在最佳路径树13A中,并且进一步存储在内核14中,以及,在此之后立即将由第一路由引擎10检索的路径存储在最佳路径树13A中,并且进一步存储在内核14中。因此,重复进行将最佳路径存储在内核14中和将最佳路径从内核14中删除。
相反,在本发明第一实施例的路由器60中,至少一个第二最佳路径与去向目的地的最佳路径一起预先存储在最佳路径树中。选择第二最佳路径,作为优先权比其它路由引擎高的路由引擎检索的路径。因此,并不将优先权比特定的路由引擎的优先权低的路由引擎检索的路径选择为最佳路径,这造成了能够防止重复将最佳路径存储在内核中和将最佳路径从内核中删除。
另外,由于下一最佳路径事先已知,所以当最佳路径改变时需要仅仅检索既存储下一最佳路径的树的树又检索存储最佳路径树4A。即使多个路径被存储在树中时,也不再需要检索所有的树。这保证了可以缩短检索树需要的时间。
路由软件核心4具有上面提及的那种结构,并且以上面提及的方式运行。
路由软件核心4可以由诸如个人计算机或者工作站之类的数据处理器和执行路由软件核心4的功能的程序来实现。这种程序可以通过计算机可读的记录介质来出现。当数据处理器开始工作时,这种程序也可以从数据处理器中读出。通过控制数据处理器的操作,可以在数据处理器中实现该路由软件核心4。
路由软件核心4的性能可以通过包括各种指令的程序来实现,并且通过计算机可读的记录介质来实现。
在说明书中,术语“记录介质”意指可以记录数据的任何介质。

Claims (4)

1.一种路由器,包括:
(a)多个单点传送协议引擎,每个单点传送协议引擎都从毗邻的节点接收单点传送路径;
(b)路由软件核心,它将所述单点传送路径存储在与单点传送协议引擎相关的树中,按照分配给所述单点传送协议引擎的优先权,从所述单点传送协议引擎接收的单点传送路径中选择最佳路径,并且将所述最佳路径存储在最佳路径树中;和
(c)内核,从所述路由软件核心接收所述最佳路径,以执行路由控制,
其特征在于,
当多个寻址到共同目的地的路径被存储在所述树中时,所述路由软件核心将具有最高优先权的单点传送协议引擎检索的路径寄存在所述最佳路径树中,作为最佳路径,按照分配给所述单点传送协议引擎的优先权,将优先权应用到由其它单点传送协议引擎检索的路径,以及将所述路径与所述最佳路径一起寄存在最佳路径树中,作为最佳路径候选者。
2.根据权利要求1所述的路由器,其特征在于,当删除寄存在所述最佳路径树中的所述最佳路径时,从寄存在所述最佳路径树中的最佳路径候选者中选择有最高优先权的最佳路径候选者,作为新的最佳路径。
3.一种管理传送数据的路径的方法,包括以下步骤:
(a)通过多个单点传送协议引擎从毗邻的节点接收单点传送路径;
(b)将所述单点传送路径存储在与所述单点传送协议引擎相关的树中;
(c)按照分配给所述单点传送协议引擎的优先权,从所述单点传送协议引擎接收的单点传送路径中选择最佳路径;和
(d)根据所述最佳路径执行路由控制,
其中所述的步骤(c)包括以下步骤:
(c1)当寻址到共同目的地的多个路径被存储在所述树中时,将由具有最高优先权的单点传送协议引擎检索的路径寄存在所述最佳路径树中,作为最佳路径;
(c2)按照分配给所述单点传送协议引擎的优先权,将优先权应用到由其它的单点传送协议引擎检索的路径;和
(c3)将所述路径与所述最佳路径一起寄存在所述的最佳路径树中,作为最佳路径候选者。
4.根据权利要求3所述的方法,其特征在于,还包括以下步骤:当删除寄存在所述最佳路径树中的所述最佳路径时,从寄存在所述最佳路径树中的最佳路径候选者中选择有最高优先权的最佳路径候选者,作为新的最佳路径。
CNB031064655A 2002-02-27 2003-02-26 路由器,管理数据传送路径的方法及其计算机程序 Expired - Lifetime CN100379230C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002051243A JP3882638B2 (ja) 2002-02-27 2002-02-27 ルーティング経路管理装置、その方法、及びそのプログラム
JP200251243 2002-02-27

Publications (2)

Publication Number Publication Date
CN1441582A CN1441582A (zh) 2003-09-10
CN100379230C true CN100379230C (zh) 2008-04-02

Family

ID=27750847

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031064655A Expired - Lifetime CN100379230C (zh) 2002-02-27 2003-02-26 路由器,管理数据传送路径的方法及其计算机程序

Country Status (4)

Country Link
US (1) US20030161293A1 (zh)
JP (1) JP3882638B2 (zh)
CN (1) CN100379230C (zh)
SG (1) SG113463A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100347994C (zh) * 2002-06-21 2007-11-07 汤姆森特许公司 可线性扩展的广播路由器装置
WO2005015856A1 (ja) * 2003-08-08 2005-02-17 Sony Corporation 通信システム、通信方法、通信端末装置及びその制御方法並びにプログラム
US8806059B1 (en) * 2007-04-05 2014-08-12 Juniper Networks, Inc. Rule tree for network device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000049857A (ja) * 1998-07-24 2000-02-18 Toshiba Corp ルータ装置及びルーティング方法
JP2001333100A (ja) * 2000-05-18 2001-11-30 Nec Corp 優先度制御機能付きルータ及びプログラムを記録した機械読み取り可能な記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0781007B1 (de) * 1995-12-21 2003-03-12 Siemens Aktiengesellschaft Verfahren zum Bilden von Leitweginformation in einem ATM-Kommunikationsnetz
US5953312A (en) * 1996-09-13 1999-09-14 Bay Networks Method and apparatus for determining alternate routes in a network using a connection-oriented protocol
US6347078B1 (en) * 1997-09-02 2002-02-12 Lucent Technologies Inc. Multiple path routing
US6023733A (en) * 1997-10-30 2000-02-08 Cisco Technology, Inc. Efficient path determination in a routed network
US6185612B1 (en) * 1998-10-29 2001-02-06 Novell, Inc. Secure distribution and use of weighted network topology information
CA2371432A1 (en) * 2001-02-13 2002-08-13 Telecommunications Research Laboratory Restoration of ip networks using precalculated restoration routing tables

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000049857A (ja) * 1998-07-24 2000-02-18 Toshiba Corp ルータ装置及びルーティング方法
JP2001333100A (ja) * 2000-05-18 2001-11-30 Nec Corp 優先度制御機能付きルータ及びプログラムを記録した機械読み取り可能な記録媒体

Also Published As

Publication number Publication date
CN1441582A (zh) 2003-09-10
JP2003258861A (ja) 2003-09-12
JP3882638B2 (ja) 2007-02-21
US20030161293A1 (en) 2003-08-28
SG113463A1 (en) 2005-08-29

Similar Documents

Publication Publication Date Title
KR101607879B1 (ko) 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용
US6993031B2 (en) Cache table management device for router and program recording medium thereof
JP5745169B2 (ja) コンテンツ処理方法、コンテンツ処理デバイス、およびコンテンツ処理システム
US6246669B1 (en) Method and system for optimizing connection set-up operations in a high speed digital network
CN100481813C (zh) 网络处理器中路由转发数据库的优化
US9026628B2 (en) Two-level structured overlay design for cluster management in a peer-to-peer network
US6023733A (en) Efficient path determination in a routed network
CN105072030B (zh) 一种基于内容聚类的命名数据网络路由系统及其聚类查询方法
US7007100B1 (en) Method for synchronization of multicast routing table changes with a plurality of multicast routing protocols
CN105991793A (zh) 报文转发的方法和装置
CN113810287B (zh) 一种基于ndn和sdn的数据检索与推送方法
CN101341692B (zh) 基于以太网的接入网络中使用备份链路的接纳控制
CN101562574A (zh) 一种路由表的更新方法及装置
CN100379230C (zh) 路由器,管理数据传送路径的方法及其计算机程序
US5805078A (en) Mobile communications network and mobile communication method
CN101997755A (zh) 映射信息交换的方法及映射节点
JP4251148B2 (ja) グループ内通信方法、システム及び記録媒体
CN111262785B (zh) 一种命名数据网络中的多属性概率缓存方法
JP2003032291A (ja) パケット振分装置およびパケット振分プログラム
US6967959B2 (en) Method for forming a database to route a data packet and method for routing and a router using the method thereof
CN107302571A (zh) 基于果蝇算法的信息中心网络路由和缓存管理方法
JP2002183138A (ja) 情報収集システム、情報収集方法及び記憶媒体
JP3570606B2 (ja) データ検索装置および方法
CN115865844B (zh) 基于sdn与ndn的虚实结合动态流量调度方法及装置
Shimizu et al. Local Tree Hunting: Finding Closest Contents from In-Network Cache

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080402