CN101322341A - 提供边界网关协议转发信息库的优先级区分式递归解析的方法和装置 - Google Patents
提供边界网关协议转发信息库的优先级区分式递归解析的方法和装置 Download PDFInfo
- Publication number
- CN101322341A CN101322341A CNA2006800449550A CN200680044955A CN101322341A CN 101322341 A CN101322341 A CN 101322341A CN A2006800449550 A CNA2006800449550 A CN A2006800449550A CN 200680044955 A CN200680044955 A CN 200680044955A CN 101322341 A CN101322341 A CN 101322341A
- Authority
- CN
- China
- Prior art keywords
- subclauses
- fib
- formation
- clauses
- priority
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/023—Delayed use of routing table updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
Abstract
一种在网络分组路由选择元件中执行的方法包括:建立缺乏分级数据结构的转发信息库(FIB),但其中一个或多个从属FIB条目与父FIB条目相关联;建立多个严格优先级队列,其中所述多个队列中的每一个具有一个相关联的优先级;接收对父FIB条目的改变;对于每个从属FIB条目,选择所述多个队列之一并将从属FIB条目加入到所选择的队列中以便进行重解析;以及根据所述多个队列的优先级顺序,将从属FIB条目撤出队列以便进行重解析。
Description
技术领域
本发明一般地涉及管理网络路由选择信息。本发明更具体而言涉及改进边界网关协议(BGP)对等体解析转发信息库信息的方式。
背景技术
这一部分中描述的方法可以实行,但是并不一定是先前已想到或已实行的方法。因此,除非这里另有指明,否则这一部分中描述的方法并不是本申请中权利要求的现有技术,也不因为被包括在这一部分中就被承认是现有技术。
边界网关协议(BGP)是用于在相同或不同自治系统(AS)中的网络元件之间交换路由选择信息的路径向量路由选择协议。具备BGP能力的网络元件(BGP主机或对等体)的功能是与其他具备BGP能力的网络元件交换网络可达性信息。最常实现的BGP版本是在RFC1771(由因特网工程任务组(IETF)于1995年3月公布)中定义的BGP-4。
为了交换路由选择信息,两个BGP主机首先通过交换BGP OPEN消息来建立BGP对等会话。BGP主机随后交换它们的完整路由选择表。在该初始交换之后,每个BGP主机仅在一个或多个BGP UPDATE消息中向它的一个或多个BGP对等体发送关于新的、经修改的和不可用的或撤消的路由的递增更新。路由是将网络目的地与去往该目的地的网络路径的属性配成对的信息单元。路径属性的示例包括但不限于ORIGIN属性(指示BGP对等体是如何获知路由的)、AS_PATH属性(指示路由所经过的自治系统)、NEXT_HOP属性(它是作为路由中的下一跳的边界路由器的地址)以及LOCAL_PREF属性(指示BGP对等体对某一路由的离开本地AS的某一出口点的偏好程度)。在BGP文献中,路由有时被称为前缀。
当BGP主机接收到路由时,主机例如通过计算主机和每个可达节点之间的节点的最短路径优先(SPF)生成树来确定去往该可达节点的最佳路径。在某些情况下,执行其他计算和路由解析步骤。被完全解析的路由被存储在耦合到BGP主机的线路卡或容宿于BGP主机的线路卡中的转发信息库(FIB)中。在这种体系结构中,线路卡中的分组转发逻辑可通过在FIB中执行查找来确定接收到的分组的下一跳。
例如,在多协议标签交换虚拟专用网(MPLS VPN)中,多协议BGP(MP-BGP)提供了用于交换关于诸如IPv4、VPNv4、IPv6、多播和其他协议之类的许多协议的可达性信息的框架。MP-BGP在通告方提供商边缘路由器(这里表示为PE1)中为VPN前缀分配标签,并且在接收方提供商路由器(PE2)中接受它们。
MPLS VPN网络在逻辑上包括控制平面(类似于呼叫建立)和转发平面(类似于呼叫传输)。作为具体示例,假定发送方客户边缘路由器(CE1)经由诸如BGP、增强型内部网关路由选择协议(EIGRP)、路由器信息协议(RIP)之类的路由选择协议向PE1通告IP前缀“5.5.5.5/32”。
在接收到通告后,PE1将IP前缀5.5.5.5/32转换成VPN前缀“1:1:5.5.5.5/32”。接下来,PE1向1:1:5.5.5.5/32分配标签(例如20),并且将其安装在BGP和标签转发信息库(LFIB)中。PE1随后经由MP-BGP将该前缀通告给PE2。使用诸如中间系统到中间系统(IS-IS)或开放最短路径优先(OSPF)之类的内部网关协议(IGP)的PE路由器不具有任何VPN知识。PE路由器可以可选地经由MP-BGP来交换IPv4路由。
PE2在接收到MP-BGP通告之后,通过比较路由目标(RT)值来检查VPN前缀是否可接受。如果可接受,PE2则将前缀和标签安装在BGP和VPN路由选择和转发(VRF)FIB表中,并将前缀通告给CE2。同时,FIB执行递归解析过程,以找出去往VPN前缀的下一跳(例如PE1)的有效路由和标签。如果FIB找到了有效路由,则FIB将下一跳标签安装在还包含VPN标签的标签栈中。该标签栈是(PE2处的)FIB将用来向PE1转发VPN分组的标签栈。
在当前实践中,一些路由器不支持分级FIB结构,但FIB条目可能具有与从属(子)FIB条目相关联的父FIB条目。父FIB条目的示例是BGP下一跳的IGP条目;从属FIB条目的示例是BGP路由条目。在该配置中,每个从属FIB条目包含其自己的转发信息。当在父FIB条目中发生变化时,所有的从属条目都被排队以便重新执行递归解析过程。在重解析期间,受影响的路由是不可路由的;结果,对于一些以BGP为目的地的数据流,连通性丢失了。已知一些路由器具有此问题。
用于解决此问题的一种方法是创建分级FIB,其中从属FIB条目被直接链接到父条目的转发信息。这样确保了从属条目立即支持对父条目的转发信息的任何更新。但是,不是所有路由器都能支持这种链接的FIB条目。需要在无需链接的分级结构的情况下就能避免当前实践的连通性丢失和其他缺点。
附图说明
在附图中以示例方式而非限制方式图示了本发明,附图中相似的标号指代类似的元件,其中:
图1是示出其中可以实现实施例的示例性网络环境的概况的框图;
图2是示出其中可以实现实施例的提供商边缘路由器的一个实施例的高级概况的框图;
图3是示出为优先级区分式FIB递归解析使用优先级队列的框图;
图4A是示出优先级区分式FIB递归解析的方法的高级视图的框图;
图4B是示出优先级信息的源的框图;
图5是示出可实现实施例的计算机系统的框图。
具体实施方式
描述了在边界网关协议(BGP)服务中提供优先级区分式FIB递归解析(prioritized FIB recursion resolution)的方法和装置。在以下描述中,出于说明目的,阐述了许多具体细节以帮助全面理解本发明。但是,本领域的技术人员将会明白,没有这些具体细节也能实现本发明。在其他情况下,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明的主题。
这里根据以下大纲来描述实施例:
1.0综述
2.0结构和功能概述
3.0优先级区分式FIB递归解析
4.0实现机构-硬件概述
5.0扩展和替换
1.0综述
以上背景技术部分中所确定的需求以及从以下描述中将清楚显现出来的其他需求和目的在本发明中得以实现,本发明在一个方面中包括一种在网络分组路由选择元件中执行的方法,该方法包括:建立缺乏分级数据结构的转发信息库(FIB),但其中一个或多个从属FIB条目与父FIB条目相关联;建立多个严格优先级队列,其中所述多个队列中的每一个具有一个相关联的优先级;接收对所述父FIB条目的改变;对于每个所述从属FIB条目,选择所述多个队列之一并将所述从属FIB条目加入到所选择的队列中以便进行重解析;以及根据所述多个队列的优先级顺序,将所述从属FIB条目撤出队列以便进行重解析。
在一个实施例中,所述多个队列中用于特定从属FIB条目的一个队列是基于所述特定从属FIB条目所特有的优先级团体值或其他信息来选择的。在另一特征中,所述多个队列中用于特定从属FIB条目的一个队列是基于对所述父FIB条目的所述改变的类型来选择的。在另一特征中,所述多个队列中用于特定从属FIB条目的一个队列是基于所述网络元件中存储的本地策略来选择的,所述本地策略指定所述多个队列中用于与特定服务相关联的所有FIB条目的一个队列。
在另一特征中,当对所述父FIB条目的所述改变是删除时校高优先级的队列被选择,并且当所述改变是修改时校低优先级的队列被选择。在另一特征中,各自具有不同的反应时间值的多个定时器分别与所述多个队列中的每一个相关联。在另一特征中,所有定时器具有相同的反应时间值。
在另一特征中,该方法还包括:接收到所述FIB的多个前缀的下载,其中所述多个前缀中的每一个分别与多个表版本值中的一个相关联;以及基于所述表版本值建立与所述多个队列相关联的优先级。
在另一特征中,所述多个严格优先级队列的相关联的优先级是在所述下载被接收到时分配的。
在其他方面中,本发明包括被配置为执行前述步骤的计算机装置和计算机可读介质。
2.0结构和功能概述
在某些实施例中,提供了用于提供优先级区分式FIB递归解析的方法和装置。这里的方法在路由器和其他不支持分级FIB结构的网络元件中有用。
根据一种方法,路由器或其他网络元件建立缺乏分级数据结构的转发信息库(FIB),但其中一个或多个从属FIB条目与一个父FIB条目相关联。当父条目被修改时,从属条目被沿着多个严格优先级队列排队。将从属条目分类为特定的优先级区分式队列的操作可以基于特定从属条目所特有的信息,例如优先级团体值、对父FIB条目的改变的类型(例如父FIB条目的删除可能比修改更重要)或者本地策略。从属FIB条目被加入到所选择的队列中以便进行重解析。从属FIB条目根据队列的优先级顺序被撤出队列以便进行重解析。
在一个实施例中,每个队列具有一个相关联的定时器。在一个特定实施例中,保守定时器被用于延迟待解析条目的处理,例如具有明确的后退行为的一秒定时器。在另一实施例中,每个队列具有不同的定时器值,并且对多个优先级队列的使用允许了为解析重要度更高的条目子集使用更激进的定时器。
利用该方法,通过在待解析路由之间引入优先级区分,并且为各种优先级级别使用不同的反应定时器,可以减少整个FIB递归解析时间。例如,在现有技术方法中,当父条目被修改并且分级/链接结构不可能实现时从属条目所感知到的连通性丢失(LoC)在[0,1000ms]+n*100μs量级。由于不存在优先级区分,因此n是从属条目的总数。已知一些服务提供商具有这样的远程PE路由器:这种远程PE路由器有着从属于单个父条目的多达100,000个FIB条目。1s的最坏情况附加LoC+100k*100μs=11秒,很明显这是不可接受的。与之相比,通过这里提供的对优先级区分的使用以及用于解析重要度高的条目的激进定时器,时间可以接近(i*100μs),其中i是重要前缀的数目,使得(i<<n)。
这里的方法例如对于已部署了用于递送高可用性服务的路由器的网络服务提供商有用。
3.0优先级区分式FIB递归解析
图1是示出其中可以实现实施例的示例性网络环境的概况的框图。与第一服务提供商相关联的服务提供商网络102通过边缘路由器106耦合到与第二服务提供商相关联的第二服务提供商网络104的提供商边缘路由器PE1。在图1的示例中,第一服务提供商与第二服务提供商无关;例如,网络102、104是由竞争对手所拥有和操作的。
第二服务提供商网络104还包括核心路由器108、110和第二提供商边缘路由器PE2。第二边缘路由器PE2具有被表示为Int1、Int2的多个接口,并且还包括存储在分组转发时有用的路由信息的转发信息库(FIB)112。
在一个实施例中,边缘路由器PE1和PE2的内部除其他元件外还配置有图2所示的元件。图2是示出其中可以实现实施例的提供商边缘路由器的一个实施例的高级概况的框图。FIB 112包括多个FIB条目202、204、206。在图2的示例中,条目202是父条目,并且条目204、206是与父条目202相关的从属条目。
PE2还包括BGP软件模块206,该模块容宿着、耦合到或者包括了优先级区分式FIB递归解析逻辑208,该逻辑包括实现这里描述的功能技术的一个或多个程序、过程或其他软件元件。
图3是示出为优先级区分式FIB递归解析使用优先级队列的框图。根据一个实施例,在执行时,优先级区分式FIB递归解析逻辑208在PE2的存储器可建立一个或多个严格优先级队列。例如,第一优先级队列304A和第二优先级队列304B被建立。图3只示出了两个队列以图示出清楚的示例,但在其他实施例可使用任意数目的队列。
从属FIB条目202、204中的每一个被分配到一个队列。从而,队列可实现为指向从属FIB条目的指针的链接列表。队列可具有与该队列相关联的任意数目的从属FIB条目。每个队列还具有一个相关联的优先级。例如,第一队列304A可以是较高优先级的队列,而第二队列304B可以是较低优先级的队列。
图4A是示出优先级区分式FIB递归解析的方法的高级视图的框图。在一个实施例中,图4A的方法是在诸如路由器或交换机之类的网络分组路由选择元件中执行的。一般地,该方法是在提供商边缘路由器中执行的,但是其他实施例可在位于网络拓扑中的别处的网络元件中执行。
在步骤402中,建立转发信息库(FIB)。FIB缺乏分级数据结构,但是具有与父FIB条目相关联的一个或多个从属FIB条目。
在步骤404中,建立多个严格优先级队列。每个队列具有一个相关联的优先级。
在步骤406中,接收对父FIB条目的改变。例如,BGP模块206可接收来自PE2已与之建立BGP对等会话的BGP对等体的BGP UPDATE消息。BGP UPDATE消息可要求保存特定前缀的RIB的变化。在执行路由更新计算之后,BGP模块将修改后的路由信息下载到FIB。修改后的路由信息可要求父FIB条目的变化。
在步骤408,对于每个从属FIB条目,队列之一被选择,并且从属FIB条目被加入所选队列中以便进行重解析。对队列或优先级的选择可按以上结合图4B所描述的方式进行。在步骤410,根据队列的优先级顺序,从属FIB条目被撤出队列以便进行重解析。
可以基于各种方法将从属FIB条目分配到优先级队列。图4B是示出优先级信息的源的框图。特定队列的优先级430可以得自从属FIB条目所特有的信息420、对父条目的改变的类型422、本地策略424或者FIB或RIB表版本426。信息420的示例是与从属FIB条目相关联或者形成从属FIB条目的一部分的优先级团体。
使用改变类型422来确定优先级430的示例是对父FIB条目的修改可以被认为比对父FIB条目的删除更重要,从而在修改的情况下,从属条目将被加入到更高优先级的队列。使用本地策略424来确定优先级430的示例是本地策略可指定所有FIB条目与特定服务(例如IPv4、IPv6、VPNv4、VPNv6等等)相关。
在一个实施例中,表版本426可影响优先级确定。例如,BGP模块206可将多个前缀从路由选择信息库(RIB)下载到FIB。每个前缀可以分别与指示代表前缀源的RIB表的版本号的多个表版本值之一相关联。优先级区分式FIB递归解析逻辑208随后可基于表版本值来建立与队列相关联的优先级430。
再参考图3,在一个实施例中,优先级队列304A、304B中的每一个与相应的延迟定时器306A、306B相关联。延迟定时器考虑到队列和对队列中的条目执行递归重解析,施加可变长度时段的延迟。当特定队列的定时器期满时,该队列中的所有条目则都成功经历了递归重解析。对定时器的使用还精细化了与队列相关联的优先级。具体而言,利用此方法,更激进的定时器可用于解析重要度较高的条目子集,不那么激进的定时器可用于不那么重要的条目。
定时器的使用使得一个实施例能够有效地管理路由器中的CPU利用。例如,某个小的条目集合可能解析重要度很高,但是可能需要大量的CPU时间来进行解析,并且在解析期间,路由器的CPU可能实际上不能用于其他任务。相反,某个更大的条目集合可能不那么重要,并且需要较少的CPU时间。利用本方法,CPU密集型条目可被一起聚集在具有激进定时器的队列中,该激进定时器在具有不那么重要的条目的队列的定时器之前先期满。因此,CPU密集型操作首先在较短的时间中被执行,并且CPU更迅速地就可用于其他关键的路由器操作。另外,不那么密集的解析被延迟到以后它们能在CPU还处理其他任务时被CPU执行时。在理论上已经证明该方法带来了总递归重解析时间的减少。
或者,不使用定时器,但是按优先级对队列进行排序。在此实施例中,每个队列被按顺序考虑。例如,第一优先级队列304A首先被考虑,并且它的所有条目都经历递归重解析;当所有条目都被解析时,然后第二优先级队列304B被考虑,并且它的所有条目被解析。
4.0实现机构-硬件概述
图5是图示出可实现本发明的实施例的计算机系统500的框图。优选实施例是利用运行在诸如路由器设备之类的网络元件上的一个或多个计算机程序来实现的。因此,在此实施例中,计算机系统500是路由器。
计算机系统500包括用于传输信息的总线502或其他通信机构以及与总线502相耦合用于处理信息的处理器504。计算机系统500还包括诸如随机存取存储器(RAM)、闪存或其他动态存储设备之类的主存储器506,其耦合到总线502,用于存储信息和处理器504要执行的指令。主存储器506还可用于存储在处理器504执行要执行的指令期间的临时变量或其他中间信息。计算机系统500还包括只读存储器(ROM)508或其他静态存储设备,其耦合到总线502,用于存储静态信息和处理器504的指令。提供了诸如磁盘、闪存或光盘之类的存储设备150,其耦合到总线502,用于存储信息和指令。
通信接口518可以耦合到总线502,以用于将信息和命令选择传输到处理器504。接口518是传统串行接口,例如RS-232或RS-422接口。外部终端512或其他计算机系统连接到计算机系统500,并利用接口514向其提供命令。运行在计算机系统500中的固件或软件提供终端接口或基于字符的命令接口,以便外部命令可被提供给计算机系统。
交换系统516耦合到总线502,并具有输入接口514和到一个或多个外部网络元件的输出接口519。外部网络元件可包括耦合到一个或多个主机524的本地网络522,或者诸如因特网528之类的具有一个或多个服务器530的全局网络。交换系统516根据公知的预定协议和惯例将到达输入接口514的信息流量交换到输出接口519。例如,交换系统516与处理器504合作,可确定到达输入接口514的数据分组的目的地,并利用输出接口519将其发送到正确的目的地。目的地可包括主机524、服务器530、其他末端站或者本地网络522或因特网528中的其他路由选择和交换设备。
本发明涉及将计算机系统500用于BGP服务自动发现。根据本发明的一个实施例,BGP服务自动发现是由计算机系统500响应于处理器504执行包含在主存储器506中的一条或多条指令的一个或多个序列而提供的。这种指令可以被从另一计算机可读介质(例如存储设备510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使得处理器504执行这里描述的过程步骤。多处理配置中的一个或多个处理器也可被用来执行包含在主存储器506中的指令序列。在替换实施例中,可以使用硬线电路来替代软件指令或与软件指令相组合以实现本发明。从而,本发明的实施例并不限于硬件电路和软件的任何特定组合。
这里所用的术语“计算机可读介质”指参与向处理器504提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,如存储设备510。易失性介质包括动态存储器,如主存储器506。传输介质包括同轴电缆、铜线和光纤,包括含总线502的线路。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的那些。
计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡、纸带、任何其他具有孔图案的物理介质,RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或卡盘,下文中描述的载波,或者计算机可以读取的任何其他介质。
计算机可读介质的各种形式可用于将一条或多条指令的一个或多个序列传送到处理器504以供执行。例如,指令可以首先承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器通过电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据,并使用红外发射器来将数据转换为红外信号。耦合到总线502的红外检测器可以接收在红外信号中携带的数据,并且将数据置于总线502上。总线502将数据传送到主存储器506,处理器504从主存储器506取得指令并执行指令。主存储器506接收的指令可以可选地在被处理器504执行之前或之后存储到存储设备510上。
通信接口518还提供到连接到本地网络522的网络链路520的双向数据通信耦合。例如,通信接口518可以是综合业务数字网(ISDN)卡或调制解调器,以提供到相应类型电话线的数据通信连接。又例如,通信接口518可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口518发送并接收电的、电磁的或光信号,这些信号携带了代表各类信息的数字数据流。
网络链路520一般通过一个或多个网络提供到其他数据设备的数据通信。例如,网络链路520可以通过本地网络522提供到主机计算机524或由因特网服务提供商(ISP)526操作的数据设备的连接。ISP 526进而通过全球分组数据通信网络(现在通常称为“因特网”528)提供数据通信服务。本地网络522和因特网528都使用携带数字数据流的电的、电磁的或光信号。经过各种网络的信号和在网络链路520上并经过通信接口518的信号(这些信号携带去往和来自计算机系统500的数字数据)是传输信息的载波的示例性形式。
计算机系统500可以通过网络、网络链路520和通信接口518发送消息并接收数据,包括程序代码。在因特网示例中,服务器530可以通过因特网528、ISP 526、本地网络522和通信接口518传输应用程序的请求代码。一个这种下载的应用程序提供了这里描述的BGP服务自动发现。
接收到的代码可以在接收时被处理器504执行,并且/或者被存储在存储设备510或其他非易失性存储设备中以供以后执行。以这种方式,计算机系统500可以获得载波形式的应用代码。
5.0扩展和替换
在以上说明书中,已参考特定实施例描述了本发明。但是,应当清楚,在不脱离本发明更宽广的精神和范围的前提下,可以进行各种修改和改变。因此,说明书和附图都应当认为是示例性的,而非限制性的。
Claims (27)
1.一种在网络分组路由选择元件中执行的方法,该方法包括:
建立缺乏分级数据结构的转发信息库(FIB),但其中一个或多个从属FIB条目与父FIB条目相关联;
建立多个严格优先级队列,其中所述多个队列中的每一个具有一个相关联的优先级;
接收对所述父FIB条目的改变;
对于每个所述从属FIB条目,选择所述多个队列之一并将所述从属FIB条目加入到所选择的队列中以便进行重解析;
根据所述多个队列的优先级顺序,将所述从属FIB条目撤出队列以便进行重解析。
2.如权利要求1所述的方法,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述特定从属FIB条目所特有的优先级团体值或其他信息来选择的。
3.如权利要求1所述的方法,其中所述多个队列中用于特定从属FIB条目的一个队列是基于对所述父FIB条目的所述改变的类型来选择的。
4.如权利要求1所述的方法,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述网络元件中存储的本地策略来选择的,所述本地策略指定所述多个队列中用于与特定服务相关联的所有FIB条目的一个队列。
5.如权利要求3所述的方法,其中,当对所述父FIB条目的所述改变是删除时较高优先级的队列被选择,并且当所述改变是修改时较低优先级的队列被选择。
6.如权利要求1所述的方法,其中各自具有不同的反应时间值的多个定时器分别与所述多个队列中的一个相关联。
7.如权利要求5所述的方法,其中所有定时器具有相同的反应时间值。
8.如权利要求1所述的方法,还包括:
接收到所述FIB的多个前缀的下载,其中所述多个前缀中的每一个分别与多个表版本值中的一个相关联;
基于所述表版本值建立与所述多个队列相关联的优先级。
9.如权利要求8所述的方法,其中所述多个严格优先级队列的相关联的优先级是在所述下载被接收到时分配的。
10.一种在网络分组路由选择元件中执行的分组数据路由器,该分组数据路由器包括:
一个或多个线路卡,该一个或多个线路卡包括可连接到分组交换网络的一个或多个接口;
耦合到一个或多个所述线路卡的转发信息库(FIB),所述转发信息库缺乏分级数据结构,但其中一个或多个从属FIB条目与父FIB条目相关联;
耦合到所述FIB和所述线路卡的一个或多个处理器;
耦合到所述一个或多个处理器的优先级区分式FIB递归解析逻辑;
耦合到所述优先级区分式FIB递归解析逻辑的多个严格优先级队列,所述多个严格优先级队列被配置为存储包括FIB条目的路由信息,其中所述多个队列中的每一个具有一个相关联的优先级;
其中所述优先级区分式FIB递归解析逻辑被配置为使得所述一个或多个处理器执行:接收对所述父FIB条目的改变;对于每个所述从属FIB条目,选择所述多个队列之一并将所述从属FIB条目加入到所选择的队列中以便进行重解析;以及根据所述多个队列的优先级顺序,将所述从属FIB条目撤出队列以便进行重解析。
11.如权利要求10所述的分组数据路由器,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述特定从属FIB条目所特有的优先级团体值或其他信息来选择的。
12.如权利要求10所述的分组数据路由器,其中所述多个队列中用于特定从属FIB条目的一个队列是基于对所述父FIB条目的所述改变的类型来选择的。
13.如权利要求10所述的分组数据路由器,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述网络元件中存储的本地策略来选择的,所述本地策略指定所述多个队列中用于与特定服务相关联的所有FIB条目的一个队列。
14.如权利要求13所述的分组数据路由器,其中,当对所述父FIB条目的所述改变是删除时较高优先级的队列被选择,并且当所述改变是修改时较低优先级的队列被选择。
15.如权利要求10所述的分组数据路由器,其中各自具有不同的反应时间值的多个定时器分别与所述多个队列中的一个相关联。
16.如权利要求15所述的分组数据路由器,其中所有定时器具有相同的反应时间值。
17.如权利要求10所述的分组数据路由器,还包括:
接收到所述FIB的多个前缀的下载,其中所述多个前缀中的每一个分别与多个表版本值中的一个相关联;
基于所述表版本值建立与所述多个队列相关联的优先级。
18.如权利要求17所述的分组数据路由器,其中所述多个严格优先级队列的相关联的优先级是在所述下载被接收到时分配的。
19.一种在网络分组路由选择元件中执行的装置,该装置包括:
缺乏分级数据结构的转发信息库(FIB),但其中一个或多个从属FIB条目与父FIB条目相关联;
耦合到所述FIB的多个严格优先级队列,其中所述多个队列中的每一个具有一个相关联的优先级;
用于接收对所述父FIB条目的改变的装置;
用于对于每个所述从属FIB条目选择所述多个队列之一并将所述从属FIB条目加入到所选择的队列中以便进行重解析的装置;
用于根据所述多个队列的优先级顺序将所述从属FIB条目撤出队列以便进行重解析的装置。
20.如权利要求19所述的装置,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述特定从属FIB条目所特有的优先级团体值或其他信息来选择的。
21.如权利要求19所述的装置,其中所述多个队列中用于特定从属FIB条目的一个队列是基于对所述父FIB条目的所述改变的类型来选择的。
22.如权利要求10所述的装置,其中所述多个队列中用于特定从属FIB条目的一个队列是基于所述网络元件中存储的本地策略来选择的,所述本地策略指定所述多个队列中用于与特定服务相关联的所有FIB条目的一个队列。
23.如权利要求22所述的装置,其中,当对所述父FIB条目的所述改变是删除时较高优先级的队列被选择,并且当所述改变是修改时较低优先级的队列被选择。
24.如权利要求1所述的装置,其中各自具有不同的反应时间值的多个定时器分别与所述多个队列中的一个相关联。
25.如权利要求5所述的装置,其中所有定时器具有相同的反应时间值。
26.如权利要求1所述的装置,还包括:
用于接收到所述FIB的多个前缀的下载的装置,其中所述多个前缀中的每一个分别与多个表版本值中的一个相关联;
用于基于所述表版本值建立与所述多个队列相关联的优先级的装置。
27.如权利要求8所述的装置,其中所述多个严格优先级队列的相关联的优先级是在所述下载被接收到时分配的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/291,940 | 2005-11-30 | ||
US11/291,940 US7508829B2 (en) | 2005-11-30 | 2005-11-30 | Method and apparatus providing prioritized recursion resolution of border gateway protocol forwarding information bases |
PCT/US2006/045143 WO2007064541A2 (en) | 2005-11-30 | 2006-11-20 | Method and apparatus providing prioritized recursion resolution of border gateway protocol forwarding information bases |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101322341A true CN101322341A (zh) | 2008-12-10 |
CN101322341B CN101322341B (zh) | 2012-06-20 |
Family
ID=38087352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800449550A Active CN101322341B (zh) | 2005-11-30 | 2006-11-20 | 提供边界网关协议转发信息库的优先级区分式递归解析的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7508829B2 (zh) |
EP (1) | EP1955459B1 (zh) |
CN (1) | CN101322341B (zh) |
WO (1) | WO2007064541A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442491B (zh) * | 2008-12-26 | 2011-03-30 | 杭州华三通信技术有限公司 | 一种应用于嵌套vpn的路由发送方法和路由设备 |
CN102137015A (zh) * | 2011-03-11 | 2011-07-27 | 华为技术有限公司 | 路由信息获取方法及网络设备 |
CN111373705A (zh) * | 2018-10-04 | 2020-07-03 | 株式会社Lg化学 | 用于bms之间的通信的系统和方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7423974B2 (en) * | 2004-04-30 | 2008-09-09 | Alcatel | Disabling mutually recursive routes |
US8005088B2 (en) * | 2006-01-17 | 2011-08-23 | At&T Intellectual Property I, L.P. | Scalable management system for MPLS based service providers |
US7508772B1 (en) * | 2006-06-02 | 2009-03-24 | Cisco Technology, Inc. | Partial graceful restart for border gateway protocol (BGP) |
US8432894B2 (en) * | 2007-02-27 | 2013-04-30 | Alcatel Lucent | Asymmetrical forwarding in layer 3 IP VPNs |
JP5292951B2 (ja) * | 2008-07-03 | 2013-09-18 | 日本電気株式会社 | 経路制御方法、経路制御システム、経路制御装置、及び経路制御用プログラム |
US7936754B2 (en) | 2008-12-12 | 2011-05-03 | At&T Intellectual Property I, L.P. | Methods and apparatus to dynamically store network routes for a communication network |
JP5779506B2 (ja) * | 2009-02-25 | 2015-09-16 | コーニンクレッカ フィリップス エヌ ヴェ | 機械呼吸機能付圧力支持システム |
US8995446B2 (en) * | 2009-12-21 | 2015-03-31 | Cisco Technology, Inc. | Efficient generation of VPN-based BGP updates |
US20120124238A1 (en) * | 2010-11-12 | 2012-05-17 | Alcatel-Lucent Bell N.V. | Prioritization of routing information updates |
US9124524B2 (en) * | 2011-06-29 | 2015-09-01 | Broadcom Corporation | System and method for priority based flow control between nodes |
CN102724118B (zh) * | 2012-06-06 | 2014-12-31 | 华为技术有限公司 | 标签分发方法及设备 |
CN102724117B (zh) | 2012-06-06 | 2015-09-30 | 华为技术有限公司 | 多协议标签交换流量工程隧道建立方法及设备 |
US8982901B2 (en) * | 2012-07-22 | 2015-03-17 | Imagination Technologies, Limited | Counter based fairness scheduling for QoS queues to prevent starvation |
CN103888351B (zh) | 2012-12-20 | 2017-12-15 | 联想企业解决方案(新加坡)私人有限公司 | 在基于多路径路由的网络中管理多个会话的方法及装置 |
US9692684B2 (en) * | 2014-09-05 | 2017-06-27 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding table precedence in SDN |
US9531642B1 (en) | 2014-09-30 | 2016-12-27 | Amazon Technologies, Inc. | Distributing routing updates according to a synchronous mode |
US9699068B1 (en) * | 2014-09-30 | 2017-07-04 | Amazon Technologies, Inc. | Distributing routing updates according to a decay mode |
US9819577B2 (en) * | 2015-05-29 | 2017-11-14 | Cisco Technology, Inc. | Adjusting control-plane allocation of packet processing resources |
US10333790B2 (en) * | 2015-12-30 | 2019-06-25 | Arista Networks, Inc. | Method and system for selective route download in network devices |
CN109104364B (zh) * | 2017-11-27 | 2020-11-06 | 新华三技术有限公司 | 一种指定转发者选举方法和装置 |
US10862798B2 (en) * | 2018-02-05 | 2020-12-08 | Juniper Networks, Inc. | Prioritized formation of BGP sessions |
CN109525512B (zh) * | 2019-01-22 | 2022-06-21 | 新华三技术有限公司 | 一种bgp邻居的建立方法及装置 |
US11165696B1 (en) * | 2019-11-27 | 2021-11-02 | Juniper Networks, Inc. | Providing convergence prioritization for border gateway protocol services across providers/customers |
US11303556B2 (en) * | 2020-06-05 | 2022-04-12 | Level 3 Communications, Llc | Systems and methods for providing a dynamic-hybrid forwarding information base (DHFIB) |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148000A (en) | 1996-10-02 | 2000-11-14 | International Business Machines Corporation | Merging of data cells at network nodes |
JP4078755B2 (ja) * | 1999-06-02 | 2008-04-23 | 株式会社日立製作所 | 帯域監視方法 |
US6816494B1 (en) * | 2000-07-20 | 2004-11-09 | Nortel Networks Limited | Method and apparatus for distributed fairness algorithm for dynamic bandwidth allocation on a ring |
US20020038339A1 (en) | 2000-09-08 | 2002-03-28 | Wei Xu | Systems and methods for packet distribution |
US7116640B2 (en) | 2000-12-22 | 2006-10-03 | Mitchell Paul Tasman | Architecture and mechanism for forwarding layer interfacing for networks |
US6985493B1 (en) * | 2001-02-23 | 2006-01-10 | Cisco Technology, Inc. | Message aggregator for channelized interface programming |
US7206309B2 (en) * | 2001-03-27 | 2007-04-17 | Nortel Networks Limited | High availability packet forward apparatus and method |
US7028098B2 (en) * | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
US7545814B2 (en) * | 2002-02-28 | 2009-06-09 | Nokia Corporation | Method and system for dynamic remapping of packets for a router |
US7499447B2 (en) * | 2002-06-04 | 2009-03-03 | Alcaltel-Lucent Usa Inc. | Synchronizing multiple instances of a forwarding information base (FIB) using sequence numbers |
EP1383292B1 (en) * | 2002-07-16 | 2005-06-29 | Lucent Technologies Inc. | Packet ordering method and apparatus in a mobile communication network |
EP1414213B1 (en) * | 2002-10-24 | 2011-11-30 | Alcatel Lucent | Packet classifier and processor in a telecommunication router |
US8036139B2 (en) * | 2002-10-28 | 2011-10-11 | Cisco Technology, Inc. | Internal BGP downloader |
US7580360B2 (en) * | 2003-10-14 | 2009-08-25 | Cisco Technology, Inc. | Method and apparatus for generating routing information in a data communications network |
CN100409646C (zh) * | 2003-10-28 | 2008-08-06 | 武汉烽火网络有限责任公司 | 用策略流实现不同因特网协议数据包转发的方法和设备 |
US20060291446A1 (en) * | 2005-06-24 | 2006-12-28 | Donald Caldwell | Systems, methods, and devices for managing routing |
US7522521B2 (en) * | 2005-07-12 | 2009-04-21 | Cisco Technology, Inc. | Route processor adjusting of line card admission control parameters for packets destined for the route processor |
US20070115848A1 (en) * | 2005-11-18 | 2007-05-24 | Kevin Chean | Adaptive application sensitive rate control system for packetized networks |
-
2005
- 2005-11-30 US US11/291,940 patent/US7508829B2/en active Active
-
2006
- 2006-11-20 EP EP06838232.4A patent/EP1955459B1/en active Active
- 2006-11-20 WO PCT/US2006/045143 patent/WO2007064541A2/en active Application Filing
- 2006-11-20 CN CN2006800449550A patent/CN101322341B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442491B (zh) * | 2008-12-26 | 2011-03-30 | 杭州华三通信技术有限公司 | 一种应用于嵌套vpn的路由发送方法和路由设备 |
CN102137015A (zh) * | 2011-03-11 | 2011-07-27 | 华为技术有限公司 | 路由信息获取方法及网络设备 |
CN102137015B (zh) * | 2011-03-11 | 2015-04-08 | 华为技术有限公司 | 路由信息获取方法及网络设备 |
CN111373705A (zh) * | 2018-10-04 | 2020-07-03 | 株式会社Lg化学 | 用于bms之间的通信的系统和方法 |
CN111373705B (zh) * | 2018-10-04 | 2023-05-30 | 株式会社Lg新能源 | 用于bms之间的通信的系统和方法 |
US11831716B2 (en) | 2018-10-04 | 2023-11-28 | Lg Energy Solution, Ltd. | System and method for communication between BMSs |
Also Published As
Publication number | Publication date |
---|---|
EP1955459A4 (en) | 2017-03-15 |
EP1955459A2 (en) | 2008-08-13 |
CN101322341B (zh) | 2012-06-20 |
WO2007064541A2 (en) | 2007-06-07 |
EP1955459B1 (en) | 2019-07-17 |
US7508829B2 (en) | 2009-03-24 |
WO2007064541A3 (en) | 2007-12-06 |
US20070121524A1 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101322341B (zh) | 提供边界网关协议转发信息库的优先级区分式递归解析的方法和装置 | |
US7778248B2 (en) | Method and apparatus for prioritized processing of routing information | |
CN100512238C (zh) | Mpls网络中的递归bgp路由更新方法 | |
US8675656B2 (en) | Scaling virtual private networks using service insertion architecture | |
US8223666B2 (en) | Method of constructing a forwarding database for a data communications network | |
US7318108B2 (en) | Method and apparatus providing prioritized convergence in border gateway protocol | |
CN100559770C (zh) | 加快边界网关协议收敛的方法和装置 | |
US7436838B2 (en) | Automatic prioritization of BGP next-hop in IGP | |
EP1757026B1 (en) | Method and apparatus for forwarding data in a data communications network | |
CN106464522A (zh) | 用于网络功能布局的方法和系统 | |
KR101457317B1 (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
AU2004306715A1 (en) | Distributed software architecture for implementing the border gateway protocol (BGP) | |
KR20130109141A (ko) | 계층적 라벨 적층을 이용하여 ldp 컨버전스를 개선하기 위한 방법 및 장치 | |
CN110784407B (zh) | 接口配置方法、数据传输方法、装置及电子设备 | |
EP3949289A1 (en) | Bgp aggregation in clos networks | |
EP3767886B1 (en) | Cluster oriented dynamic routing | |
CN103825826A (zh) | 一种动态路由的实现方法和装置 | |
US7969995B2 (en) | Method and apparatus for constructing a forwarding database for a data communications network | |
US6765908B1 (en) | System and method for transferring packets in a “connectionless” network | |
CN107786439B (zh) | 跨域路由方法、控制器、系统及路由方法和域内路由器 | |
EP4254881A1 (en) | Routing transmission method and apparatus | |
Babu et al. | INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY | |
CN114978886A (zh) | 信息发布方法及装置、计算机可读存储介质 | |
CN117014356A (zh) | 路由通告消息的处理方法、装置、存储介质及电子装置 | |
CN116032817A (zh) | BGP-intent路由的接收方法和BGP-intent路由的通告方法 |
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 |