CN103238300B - 管理网络单元的路由选择信息库中的过时路由移除的方法及装置 - Google Patents
管理网络单元的路由选择信息库中的过时路由移除的方法及装置 Download PDFInfo
- Publication number
- CN103238300B CN103238300B CN201180059781.6A CN201180059781A CN103238300B CN 103238300 B CN103238300 B CN 103238300B CN 201180059781 A CN201180059781 A CN 201180059781A CN 103238300 B CN103238300 B CN 103238300B
- Authority
- CN
- China
- Prior art keywords
- route
- routing
- queue
- date
- rib
- 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.)
- Active
Links
Classifications
-
- 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/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
通信网络的网络单元包括新近路由队列、过时路由队列、路由选择信息库(RIB)、网络接口及路由选择协议模块。该网络接口从其它网络单元接收链路状态信息。路由选择协议模块从链路状态信息确定多个路由。路由选择协议模块在多个路由中识别存在于过时路由队列中的路由子集,将该路由子集添加到新近路由队列,以及从过时路由队列删除该路由子集。路由选择协议模块随后在RIB中移除对应于在过时路由队列中剩余的任何路由的路由,并且将路由从新近路由队列移到过时路由队列。公开了用于管理在网络单元的RIB中路由的有关方法。
Description
技术领域
本公开内容涉及网络通信,并且更具体地说,涉及管理通信网络的网络单元中的路由选择信息。
背景技术
在分组交换网络中转发分组的网络单元一般将其转发服务(例如,将分组从一个网络接口移到另一接口的任务)与其路由选择服务(例如,确定通过网络的最佳路径的任务)分开。例如,诸如路由器等网络单元一般在其网络接口之一接收分组,并且将分组转发到其网络接口的另一个。在做出将分组转发到哪个网络接口的判决中,网络单元一般使用在分组的报头中包括的信息及网络单元存储和管理的路由选择信息(也称为“路由”)。
网络单元管理的路由选择信息包括有关在网络单元所处的网络的节点之间连通性的信息和有关到其它网络中节点的连通性的信息。
例如,路由选择信息可包括到从网络单元可达的网络目的地的路由。路由包括地址目的地,其通常由地址前缀(也称为前缀)和描述到该地址目的地的路径的信息表示。地址前缀可表示为网络地址和指示地址的多少比特用于识别地址的网络部分的掩码的组合。描述到网络目的地的路径的信息例如可包括作为到地址目的地的下一跳的节点的地址、为到达地址目的地而必须遍历的自主***(AS)列表及始发路由的节点的网络地址。
网络单元管理的路由选择信息也可包括指示网络单元的每个网络接口的类型的信息、通过每个网络接口连接到网络单元的网络节点及可与网络单元或其网络接口相关联的各种其它参数。
将其转发服务与其路由选择服务分开的网络单元一般在路由选择信息库(RIB)中存储所有其路由选择信息。在网络单元上执行的每个路由选择协议选择其自己的最佳路由集,并且在RIB中安装那些路由及其属性。在路由选择协议内,基于该协议使用的一个或多个准则或度量来选择路由。RIB过程定期遍历RIB中的路由,并且通过以下方法选择到每个地址目的地的最佳总体路由:比较到该目的地的所有路由的属性。随后,将RIB中识别为最佳路由的路由传送或下载到一个或多个转发信息库(FIB),转发信息库用于通过网络单元的一个或多个网络接口转发分组。因此,在任何给定时间点,FIB维护在RIB中包含的所有路由选择信息或其子集的镜像。在网络中的路由选择或拓扑更改时,更新RIB中的路由选择信息,并且在一个或多个FIB中反映路由选择信息的更改。
网络单元可在RIB中将路由选择信息存储为一个或多个逻辑或物理上分开的路由选择表以有利于不同服务的有序管理。例如,支持虚拟专用网(VPN)特征的网络单元通常在分开的逻辑或物理路由选择表中管理不同VPN的路由。在另一示例中,网络单元可在分开的路由选择表中管理用于不同拓扑的路由,如与不同服务质量(QoS)相关联的拓扑。此外,多个网络单元可作为虚拟路由器执行,并且在虚拟路由器中的每个网络单元可在逻辑或物理上分开的路由选择表中存储虚拟路由器的其它网络单元的RIB。
不再可达或可行(过时)的路由需要从各种RIB和FIB中移除。由于路由选择过程只更新可达路由,而不更新过时路由,因此,过时路由通过分开的难以负担的过程来发现。例如,在所有活动路由已被计算并存储在更新的路由选择表中后,更新的路由选择表中的每个路由条目能够与旧路由选择表中的每个条目进行比较以识别新路由、更改的路由、未更改的路由和过时路由。过时路由是在旧路由选择表中存在并且不在更新的路由选择表中的路由。
比较更新的路由选择表和旧路由选择表中的每个路由能够在网络单元的计算资源上造成相当大的负担,并且在从一个路由选择计算周期到另一周期只有少数几个路由已变得过时能够显得特别浪费。
发明内容
本发明的一些实施例涉及一种用于管理网络单元的路由选择信息库(RIB)中路由的方法。从在网络单元接收的链路状态信息确定多个路由。在多个路由中识别存在于过时路由队列中的路由子集。将路由子集添加到新近路由队列。从过时路由队列删除该路由子集。随后,移除RIB中对应于过时路由队列中剩余的任何路由的路由。随后,将路由从新近路由队列移到过时路由队列。
在一些其它实施例中,RIB能够包括本地RIB和全局RIB。本地RIB能够存储由单个路由选择模块生成的路由。全局RIB能够存储由多个路由选择协议模块生成的路由。在移除RIB中对应于过时路由队列中剩余的任何路由的路由时,能够在删除该路由子集后移除对应于过时路由队列中剩余的任何路由的本地RIB中的路由和全局RIB中的路由。
在一些其它实施例中,新近路由队列能够包括新近更改的队列和新近未更改的队列。将从链路状态信息确定的多个路由中不存在于过时路由队列中的任何路由识别为新路由。将识别的新路由添加到新近更改的队列。将从链路状态信息确定的多个路由中与过时路由队列中对应路由不同的任何路由识别为更改的路由。将识别的更改的路由添加到新近更改的队列。将从链路状态信息确定的多个路由中与过时路由队列中对应路由相同的任何路由识别为未更改的路由。将识别的未更改的路由添加到新近未更改的队列。将识别的新路由和识别的更改的路由从新近更改的队列添加到RIB。
一些其它实施例涉及通信网络的一种网络单元。该网络单元包括新近路由队列、过时路由队列、RIB、网络接口和路由选择协议模块。网络接口配置成从其它网络单元接收链路状态信息。路由选择协议模块从链路状态信息确定多个路由。路由选择协议模块在多个路由中识别存在于过时路由队列中的路由子集,将该路由子集添加到新近路由队列,以及从过时路由队列删除该路由子集。路由选择协议模块随后在RIB中移除对应于在过时路由队列中剩余的任何路由的路由,并且将路由从新近路由队列移到过时路由队列。
附图说明
包含在本说明书中并构成其一部分的附图示出本发明的各种实施例。在图中:
图1示出根据一些实施例配置的网络单元;
图2示出根据一些实施例可由图1的网络节点执行以管理在本地RIB和全局RIB中的路由的操作和方法的流程图;
图3a和3b分别示出示例旧路由选择表和新路由选择表;
图4示出根据一些实施例可由图1的网络节点执行以管理在本地RIB和全局RIB中的路由的操作和相关联信息流的图;
图5是根据一些实施例的路由控制模块的另一实施例的框图;
图6示出根据一些实施例可由图5的路由控制模块执行以使用分离的新近路由队列管理图1的本地RIB和全局RIB中的路由的一些其它操作和方法的流程图;
图7示出根据一些实施例可由图1的网络节点执行以管理在RIB中路由的更普遍操作和方法的流程图;以及
图8是根据一些实施例带有可实现图1的网络单元的计算机***的通信网络的框图。
具体实施方式
本发明的以下详细描述参照附图。不同图形中的相同标号可识别相同或类似的单元。此外,以下的详细描述不限制本发明。
图1示出确定通过通信网络的其它网络单元的路由以及通过那些网络单元接收和转发分组的网络单元100。网络单元100例如可以是分组交换网络中的路由器或路由服务器。网络单元100包括多个路由控制模块110、带有全局RIB 132的全局RIB模块130、转发信息库(FIB) 140、路由选择模块150、输入网络接口152及输出网络接口154。
路由控制模块110配置成从对等(可达)网络节点接收路由选择信息,并且使用各种路由选择协议确定路由。根据一些实施例,路由控制模块110每个包括路由选择协议模块112、新近路由队列114、过时路由队列116及本地RIB 120。路由选择协议模块112可包括边界网关协议(BGP)过程和内部网关协议(IGP)过程。
BGP过程配置成接收和维护符合BGP路由选择协议的路由选择信息。BGP是对等外部网关协议(EGP),用于在相同或不同自主***中的网络单元(通常为路由器)之间交换路由选择信息。在操作中,BGP过程接收在从其它BGP对等体发送到网络单元100的BGP消息中的路由。
IGP过程配置成应用一个或多个路由选择和/或路由配置算法到接收的路由。例如,IGP过程可确定符合IGP协议的路由,如开放最短路径优先(OSPF)协议、中间***到中间***(IS-IS)协议、路由选择信息协议(RIP)及内部网关路由选择协议(IGRP)。每个路由控制模块120可具有根据不同IGP协议操作的路由选择协议模块112。因此,一个路由控制模块110的本地RIB 120能够具有使用与另一路由控制模块110的本地RIB 120不同的IGP协议确定的路由。
全局RIB模块130形成每个路由控制模块110的本地RIB 120中包含的路由的中央存储库。全局RIB模块130接收在每个路由控制模块110的本地RIB 120中包含的路由,并且在全 RIB 132中存储那些路由。相应地,每个本地RIB 120包含由单个路由选择协议模块110使用单个BGP/IGP协议确定的路由。相反,全局RIB包含由多个路由选择协议模块使用不同BGP/IGP协议确定的路由。
例如,路由控制模块110之一的本地RIB 120可包含使用OSPF协议确定的路由,并且另一路由控制模块110的本地RIB 120可包含使用IS-IS协议确定的路由。全局RIB 132因此将包含来自两个RIB 120的路由。
FIB 140访问全局RIB 132以获得由路由选择模块150用于转发分组的路由。更具体地说,路由选择模块150使用FIB 140获得的路由生成路由选择报头信息,并且将生成的路由选择报头信息添加到通过输出网络接口154转发的分组。
图2示出根据一些实施例可由图1的网络节点100执行以管理在本地RIB 120和全局RIB 132中的路由的操作和方法的流程图。参照图2,路由选择协议模块112从对等网络单元100接收(方框200)链路状态信息。路由选择协议模块112从链路状态信息确定(方框202)路由。过时路由队列116最初包含从前一路由计算周期确定的所有路由。
做出(方框204)有关路由是否在过时路由队列116中的确定,并且如果不在过时路由队列116中,则路由选择协议模块112将路由添加(方框206)到本地RIB 120。路由也被添加(方框208)到新近路由队列114并且在其中标记为新路由。
在确定(方框204)路由在过时路由队列116中时,做出有关路由是否已更改的又一确定(方框210)。在它已相对于过时路由队列116已更改时,路由被添加(方框212)到新近路由队列114,并且在其中标记为更改。相反,在路由尚未更改时,路由被添加(方框214)到新近路由队列114,并且在其中标记为未更改。
随后,从过时路由队列116删除(方框216)该路由。做出路由计算周期是否结束的确定(方框218)(例如,从链路状态信息计算的所有路由),并且如果未结束,则将指针移到(方框220)下一链路状态信息元素,并且如上所述通过方框202-216重复周期。
路由计算周期结束时,经全局RIB模块130将在新近路由队列114中被识别为新和已更改的所有路由下载(方框222)到全局RIB 132。在一些实施例中,根据定义的规则/策略赋予要下载到全局RIB 132的路由相对优先级。可将新近路由队列114分段到分开的存储区域中,并且可基于其优先级在队列114的存储区域的相应区域中有选择地存储路由。随后,可基于其优先级(例如,最高优先级优先)将路由从队列114的段区域下载到全局RIB 132。
路由选择协议模块112传递(方框224)信令到全局RIB 132,以促使全局RIB 132删除其中对应于过时路由队列116中路由的所有路由。路由协议模块112随后从本地RIB 120删除(方框226)其中对应于过时路由队列116中路由的所有路由。路由选择协议模块112随后删除(方框228)过时路由队列116中剩余的所有路由,并且将所有路由从新近路由队列114移到(方框230)过时路由队列116。
这样,过时路由队列116用于跟踪不再可达或可行并且需要从本地RIB 120和全局RIB 132移除的过时路由。过时路由队列116通过在前一路由计算周期中确定的所有路由的副本,开始每个路由计算周期。从过时路由队列116移除在当前路由计算周期中确定的每个路由,并将其放置在新近路由队列114上,使得在当前路由计算周期结束时,过时路由队列116只包含过时路由。随后,能够以有效方式从本地RIB 120和全局RIB 132移除每个过时路由,而不要求分析在当前路由计算周期期间确定的任何新的、更改的和未更改的路由。在当前路由计算周期期间确定的新的和更改的路由也能够有效地被添加到本地RIB 120和全局RIB 132而不存在不合需要地添加来自前一计算周期的过时路由。路由计算周期的改进效率能够与路由表大小成正比。
图3a示出来自前一路由选择计算周期的示例旧路由选择表,并且图3b示出来自当前路由选择计算周期的示例新路由选择表。旧路由选择表包含六个路由条目“a”、“b”、“c”、“d”、“e”和“f”。自计算旧路由选择表以来,拓扑更改已发生,使得新路由选择表具有更改的路由“b”(由方格示出),并且路由“f”已变得不可达(由其在表中不存在指示)。
图4示出可由图1的网络单元100响应从图3a的旧路由选择表到图3b的新路由选择表的更改而执行以管理本地RIB 120和全局RIB 132中的路由的操作和相关联信息流的图。过时路由队列116开始新路由选择计算周期,包含(400)六个路由条目“a”、“b”、“c”、“d”、“e”和“f”。路由选择协议模块112从当前链路状态信息确定(402)路由“a”、“b”、“c”、“d”和“e”。
路由“a”、“c”、“d”和“e”被确定成与过时路由队列116中的对应条目相比未更改,因此,被添加(404)到新近路由队列114并被标记为未更改。路由“b”被确定为与过时路由队列116中的对应条目相比已更改,并且因此它被添加(404)到新近路由队列114并且被标记为更改。从过时路由队列116删除(406)路由“a”、“b”、“c”、“d”和“e”。由于路由“b”已更改,因此,在本地RIB 120中更新(408)以及在全局RIB 132中更新(410)路由“b”。
从本地RIB 120删除(412)以及从全局312中删除(414)过时路由队列116中剩余的所有路由,它只是路由“f”。随后,从过时路由队列116清除(416)所有路由。随后,将路由“a”、“b”、“c”、“d”和“e”从新近路由队列114移到(418)过时路由队列116,使得过时路由队列116包含在当前路由计算周期期间计算的所有路由“a”、“b”、“c”、“d”和“e”的副本。在将路由“a”、“b”、“c”、“d”和“e”从新近路由队列114移到过时路由队列116时,从新近路由队列114删除它们。相应地,在将路由“a”、“b”、“c”、“d”和“e”移到过时路由队列116后,在新近路由队列114中无剩余路由。
图5是能够替代图1的网络单元100的一个或多个路由控制模块110使用的路由控制模块510的另一实施例的框图。图5的路由控制模块510具有分离的新近路由队列114,带有分开的新近更改的队列114a和新近未更改的队列114b。在当前路由计算周期中确定路由时,随后能够将它们分类和存储在新近更改的队列114a、新近未更改的队列114b或过时路由队列116之一中。以此方式将确定的路由分类可进一步改进对本地RIB 120和全局RIB132添加,更新和移除路由的计算效率。
图6示出可由图5的路由选择控制模块510执行以管理在图1的本地RIB 120和全局RIB 132中的路由的一些操作和方法的流程图。参照图6,路由选择协议模块112从对等网络单元100接收(方框600)链路状态信息。路由选择协议模块112从链路状态信息确定(方框602)路由。过时路由队列116最初包含从前一路由计算周期确定的所有路由。
做出(方框604)有关路由是否在过时路由队列116中的确定,并且如果不在过时路由队列116中,则路由选择协议模块112将路由添加(方框606)到本地RIB 120。路由也被添加(方框608)到新近更改的队列114a并且在其中标记为新路由。
在确定(方框604)路由在过时路由队列116中时,做出有关路由是否已更改的又一确定(方框610)。在它相对于过时路由队列116已更改时,路由被添加(方框612)到新近更改的队列114a,并且在其中标记为更改。相反,路由尚未更改时,路由被添加(方框614)到新近未更改的队列114b。
随后,从过时路由队列116删除(方框616)该路由。做出路由计算周期是否结束的确定(方框618)(例如,从链路状态信息计算的所有路由),并且如果未结束,则将指针移到(方框620)下一链路状态信息元素,并且如上所述通过方框602-616重复周期。
路由计算周期结束时,经全局RIB模块130将在新近更改的队列114a中的所有路由下载(方框622)到全局RIB 132。路由选择协议模块112传递(方框624)信令到全局RIB 132,以促使全局RIB 132删除其中对应于过时路由队列116中路由的所有路由。路由协议模块112随后从本地RIB 120删除(方框626)其中对应于过时路由队列116中路由的所有路由。路由选择协议模块112随后删除(方框628)过时路由队列116中剩余的所有路由,并且将所有路由从新近更改的队列114a移到(方框630)过时路由队列116,并且将所有路由从新近未更改的队列114b移到(方框630)过时路由队列116。通过在存储器位置之间移动路由,或者通过定义过时路由队列116以包括含新近更改的队列114a中识别的更改的路由和识别的新路由的存储器地址,可将路由从新近更改的队列114a移到过时路由队列116。
这样,过时路由队列116用于跟踪不再可达或可行并且需要从本地RIB 120和全局RIB 132移除的过时路由。随后,能够以有效方式从本地RIB 120和全局RIB 132移除每个过时路由,而不要求分析在当前路由计算周期期间确定的任何新的、更改的和未更改的路由。另外,由于在分开的新近更改的队列114a与新近未更改的队列114b之间将路由分类,因此,也能够将在当前路由计算周期期间确定的新的和更改的路由有效地添加到本地RIB 120和全局RIB 132。
图7示出根据一些实施例可由图1的网络节点100执行以管理RIB(例如,本地RIB120、全局RIB 132和/或另一RIB)中的路由的更普遍操作和方法的流程图。参照图7,从在网络单元100接收的链路状态信息确定多个路由(方框700)。在多个路由中识别(方框702)包含在过时路由队列116中的路由子集。将路由子集添加(方框704)到新近路由队列114。随后,从过时路由队列116删除(方框706)路由子集。随后,移除(方框708)RIB中对应于过时路由队列116中剩余的任何路由的路由。随后,将新近路由队列114中包含的路由移到(方框710)过时路由队列116。要理解的是,方框704和706的操作能够实现为移动操作,由此在将路由添加到新近路由队列114时从过时路由队列116中删除它们。
本文中公开的用于管理RIB中路由的操作和方法可备选或另外用于响应例如在RIB后台程序生死事件后的RIB恢复、不间断路由选择(NSR)、平滑重启和/或命令行接口(CLI)强制路由清除,将所有确定的路由下载到本地RIB 120和/或全局RIB 132。通过将过时路由队列116与新近路由队列114交换以促使每个路由被下载,能够执行所有确定的路由到本地RIB 120和/或全局RIB 132的下载。
图8是根据一些实施例带有可实现图1的网络单元100的计算机***800的通信网络的框图。参照图8,计算机***800包括用于传送信息的总线814或其它通信机制及与总线814耦合以便处理信息的处理器802。计算机***800也包括耦合到总线814以便存储信息和要由处理器802执行的指令的主存储器804,如随机存取存储器(RAM)、闪存存储器或其它动态存储装置。主存储器804也可在要由处理器802执行的指令的执行期间用于存储临时变量或其它中间信息。计算机***800还能够包括耦合到总线814以便存储信息和指令的其它存储装置806,如磁盘、闪存存储器或光盘。
通信接口810可耦合到总线814以便将信息和命令选择传递到处理器802。接口810可以是诸如RS-232或RS-422接口等常规串行接口。外部终端812或其它计算机***连接到计算机***800并且使用接口810提供命令到它。在计算机***800中运行的固件或软件提供终端接口或基于字符的命令接口,使得能够将外部命令提供到计算机***800。
交换***808耦合到总线814,并且具有到一个或多个外部网络单元的输入接口和输出接口。外部网络单元可包括各种传输网络,如耦合到一个或多个主机820的本地网络830和具有一个或多个服务器850的因特网或另一全局网络840。交换***808根据熟知的预确定协议和惯例将到达其输入接口的信息分组业务交换到其输出接口。例如,交换***808与处理器802协作,能够确定到达输入接口的数据的分组的目的地,并且使用输出接口将它发送到正确的目的地。目的地可包括主机820、服务器850、其它终端站或在本地网络830或因特网840中的其它路由选择和交换装置。
处理器802可包括一个或多个数据处理电路,如通用和/或专用处理器(例如,微处理器和/或数字信号处理器)。处理器802配置成执行来自在下面描述为计算机可读媒体的存储器804和/或存储装置806中功能模块的计算机程序指令,以执行上面为诸如图1-7的实施例等一个或多个实施例描述的一些或所有操作和方法。相应地,处理器802能够配置成通过功能模块中的计算机程序指令的执行,执行至少一些本文中所述功能性以管理网络单元的RIB中的路由。
在本发明的示范实施例的以上解释中,要理解的是,在一个单元被描述为“连接”、“耦合”、“响应”另一单元或其变型时,它能够直接连接、耦合或响应该另一单元,或者可存在中间单元。与此相反,一个单元被描述为“直接连接”、“直接耦合”到或“直接响应”另一单元或其变型时,不存在中间单元。在描述和附图中,类似的标号通篇表示类似的单元。此外,“耦合”、“连接”、“响应”或其变型在本文中使用时可包括以无线方式连接、耦合或响应。在本文使用的术语只用于描述特殊的实施例,并无意限制本发明。在本文使用时,除非上下文有明确指示,否则,单数形式还将包括复数形式。为简明和/或清晰起见,可不描述熟知的功能或构造。
将可理解,虽然术语第一、第二等可在本文用于描述不同的单元,但这些单元不应受这些术语的限制。这些术语只用于区分一个单元与另一单元。例如,在不脱离本发明范围的情况下,第一单元能够表示第二单元,并且类似地,第二单元能够表示第一单元。在本文使用时,术语“和/或”包括一个或多个相关联所列项目的任一和所有组合。
除非另有规定,否则,本文使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常理解的相同含意。还将理解的是,除非在本文中有明确定义,否则,诸如常用词典中定义的那些术语等术语应理解为具有与本说明书和相关技术的上下文中含意一致的含意,并且不以明显如本文中定义的理想化或过分正式的方式理解。
在本文中使用时,术语“包括”、“具有”或其变型是开口式的,并且包括一个或多个所述特征、整体、单元、步骤、组件或功能,而不排除存在或添加一个或多个其它特征、整体、单元、步骤、组件或其群组。此外,在本文中使用时,“例如”可用于引入或指定以前提及的项目的一般示例,并且无意于限制此类项目。在本文中使用时,“即”可用于从更普遍的陈述指定特定项目。
示范实施例在本文中参照计算机实现的方法、设备(***和/或装置)和/或计算机程序产品的框图和/或流程图图示进行描述。可理解的是,框图和/或流程图例的方框和框图和/或流程图例方框的组合可通过由一个或多个计算机电路执行的计算机程序指令实现。这些计算机程序指令可提供到通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路以产生机器,使得经计算机和/或其它可编程数据处理设备的处理器执行的指令变换和控制晶体管、存储器位置中存储的值及此类电路内的其它硬件组件,以实现框图和/或流程图方框中指定的功能/动作,并由此形成用于实现框图和/或流程图方框中指定的功能/动作的部件(功能性)和/或结构。
这些计算机程序指令也可存储在能够引导计算机或其它可编程数据处理设备以特殊方式运行的计算机可读媒体中,使得在所述计算机可读媒体中存储的指令产生制品,制品包括实现框图和/或流程图方框中指定的功能/动作的指令。
有形、非暂时性计算机可读媒体可包括电子、磁性、光学、电磁或半导体数据存储***、设备或装置。计算机可读媒体的更具体示例将包括以下所述:便携式计算机磁盘、随机存取存储器(RAM)电路、只读存储器(ROM)电路、可擦可编程只读存储器(EPROM或闪存)电路、便携式压缩光盘只读存储器(CD-ROM)及便携式数字视频光盘只读存储器(DVD/BlueRay)。
计算机程序指令也可加载到计算机和/或其它可编程数据处理设备上,以促使一系列操作步骤在计算机和/或其它可编程设备上执行,从而产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现框图和/或流程图方框中指定功能/动作的步骤。
相应地,本发明的实施例可用硬件和/或用软件(包括固件、常驻软件、微代码等)实现,软件在诸如数字信号处理器等处理器上运行,可总称为“电路”、“模块”或其变型。
还应注意的是,在一些替代实施中,方框中所示的功能/动作可不以流程中所示的顺序进行。例如,视涉及的功能/动作而定,连续显示的两个方框实际上可大致并发执行,或者方框有时可以相反的顺序执行。另外,流程图和/或框图的给定方框的功能性可分隔到多个方框中,和/或流程图和/或框图的两个或更多个方框的功能性可至少部分集成。最后,可在所示方框之间添加/***其它方框。另外,虽然一些图形在通信路径上包括箭头以示出通信的主要方向,但要理解的是,通信可在所示箭头的相反方向上进行。
在实质上不脱离本发明的原理的情况下,能够对实施例进行许多变化和修改。所有此类变化和修改要在本文中包括在如随附权利要求中陈述的本发明的范围内。
Claims (20)
1.一种用于管理网络单元的路由选择信息库RIB中路由的方法,所述方法包括:
从在所述网络单元接收的链路状态信息确定多个路由;
在所述多个路由中识别存在于过时路由队列中的路由子集;
将所述路由子集添加到新近路由队列;
从所述过时路由队列删除所述路由子集;
在所述路由子集的所述删除后,移除所述RIB中对应于所述过时路由队列中剩余的任何路由的路由;以及
将所述路由子集从所述新近路由队列移到所述过时路由队列。
2.如权利要求1所述的方法,其中在所述路由子集的所述删除后,移除所述RIB中对应于所述过时路由队列中剩余的任何路由的路由包括:
在所述路由子集的所述删除后,移除对应于所述过时路由队列中剩余的任何路由的本地RIB中的路由和全局RIB中的路由。
3.如权利要求2所述的方法,还包括:
在执行所述本地RIB中对应于所述过时路由队列中剩余的任何路由的路由的所述移除前,执行所述全局RIB中对应于所述过时路由队列中剩余的任何路由的路由的所述移除。
4.如权利要求2所述的方法,其中:
所述本地RIB包括由单个路由选择协议模块生成的路由;以及
所述全局RIB包括由多个路由选择协议模块生成的路由。
5.如权利要求1所述的方法,其中在移除所述RIB中对应于所述过时路由队列中剩余的任何路由的路由后,所述方法还包括:
删除所述过时路由队列中剩余的路由;以及
将所述路由从所述新近路由队列移到所述过时路由队列。
6.如权利要求1所述的方法,还包括:
将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述RIB。
7.如权利要求6所述的方法,其中将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述RIB包括:
将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述新近路由队列;
将所述新近路由队列中不存在于所述过时路由队列中的任何路由识别为新路由;
将所述新近路由队列中与所述过时路由队列中对应路由不同的任何路由识别为更改的路由;以及
将所述识别的新路由和所述识别的更改的路由从所述新近路由队列添加到所述RIB。
8.如权利要求1所述的方法,还包括:
将所述路由从所述RIB添加到转发信息库FIB;以及
响应所述FIB中所述路由之一,将所述网络单元接收的数据分组转发到另一网络单元。
9.如权利要求1所述的方法,其中:
所述新近路由队列包括新近更改的队列和新近未更改的队列;
将从所述链路状态信息确定的所述多个路由中不存在于所述过时路由队列中的任何路由识别为新路由;
将所述识别的新路由添加到所述新近更改的队列;
将从所述链路状态信息确定的所述多个路由中与所述过时路由队列中对应路由不同的任何路由识别为更改的路由;
将所述识别的更改的路由添加到所述新近更改的队列;
将从所述链路状态信息确定的所述多个路由中与所述过时路由队列中对应路由相同的任何路由识别为未更改的路由;
将所述识别的未更改的路由添加到所述新近未更改的队列;以及
将所述识别的新路由和所述识别的更改的路由从所述新近更改的队列添加到所述RIB。
10.如权利要求9所述的方法,其中将所述路由从所述新近路由队列移到所述过时路由队列包括:
将所述识别的新路由和所述识别的更改的路由从所述新近更改的队列移到所述过时路由队列;以及
将所述识别的未更改的路由从所述新近未更改的队列移到所述过时路由队列。
11.如权利要求9所述的方法,其中将所述路由从所述新近路由队列移到所述过时路由队列包括:
定义所述过时路由队列以包括存储器地址,其中所述存储器地址包含所述新近更改的队列中所述识别的新路由和所述识别的更改的路由。
12.一种通信网络的网络单元,所述网络单元包括:
新近路由队列;
过时路由队列;
路由选择信息库RIB;
网络接口,配置成从其它网络单元接收链路状态信息;以及
路由选择协议模块,配置成:
从所述链路状态信息确定多个路由;
在所述多个路由中识别存在于所述过时路由队列中的路由子集;
将所述路由子集添加到所述新近路由队列;
从所述过时路由队列删除所述路由子集;
在所述路由子集的所述删除后,移除所述RIB中对应于所述过时路由队列中剩余的任何路由的路由;以及
将所述路由子集从所述新近路由队列移到所述过时路由队列。
13.如权利要求12所述的网络单元,其中:
所述RIB包括:
包含只由所述路由选择协议模块生成的路由的本地RIB;以及
包含由所述路由选择协议模块和至少一个其它路由选择协议模块生成的路由的全局RIB;以及
所述路由选择协议模块还配置成在所述路由子集的所述删除后,移除对应于所述过时路由队列中剩余的任何路由的所述本地RIB中的路由和所述全局RIB中的路由。
14.如权利要求13所述的网络单元,其中:
所述路由选择协议模块还配置成在移除所述本地RIB中对应于所述过时路由队列中剩余的任何路由的路由前,移除所述全局RIB中对应于所述过时路由队列中剩余的任何路由的路由。
15.如权利要求12所述的网络单元,其中:
所述路由选择协议模块还配置成在移除所述RIB中对应于所述过时路由队列中剩余的任何路由的路由后,删除所述过时路由队列中剩余的路由,并且将所述路由从所述新近路由队列移到所述过时路由队列。
16.如权利要求12所述的网络单元,其中:
所述路由选择协议模块还配置成将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述RIB。
17.如权利要求16所述的网络单元,其中所述路由选择协议模块还配置成通过以下操作,将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述RIB:
将从所述链路状态信息确定的所述多个路由中不在所述过时路由队列中存在的所述路由子集内的任何路由添加到所述新近路由队列;
将所述新近路由队列中不存在于所述过时路由队列中的任何路由识别为新路由;
将所述新近路由队列中与所述过时路由队列中对应路由不同的任何路由识别为更改的路由;以及
将所述识别的新路由和所述识别的更改的路由从所述新近路由队列添加到所述RIB。
18.如权利要求12所述的网络单元,还包括:
转发信息库FIB,其中所述路由选择协议模块还配置成将所述路由从所述RIB添加到所述FIB;以及
路由选择模块,配置成响应所述FIB中所述路由之一,将通过所述网络接口接收的数据分组转发到另一网络单元。
19.如权利要求12所述的网络单元,其中:
所述新近路由队列包括新近更改的队列和新近未更改的队列;以及
所述路由选择协议模块还配置成:
将从所述链路状态信息确定的所述多个路由中不存在于所述过时路由队列中的任何路由识别为新路由;
将所述识别的新路由添加到所述新近更改的队列;
将从所述链路状态信息确定的所述多个路由中与所述过时路由队列中对应路由不同的任何路由识别为更改的路由;
将所述识别的更改的路由添加到所述新近更改的队列;
将从所述链路状态信息确定的所述多个路由中与所述过时路由队列中对应路由相同的任何路由识别为未更改的路由;
将所述识别的未更改的路由添加到所述新近未更改的队列;以及
将所述识别的新路由和所述识别的更改的路由从所述新近更改的队列添加到所述RIB。
20.如权利要求19所述的网络单元,其中:
所述路由选择协议模块还配置成通过定义所述过时路由队列以包括存储器地址、从而将所述路由从所述新近路由队列移到所述过时路由队列,其中所述存储器地址包含所述新近更改的队列中所述识别的新路由和所述识别的更改的路由。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/966,895 | 2010-12-13 | ||
US12/966895 | 2010-12-13 | ||
US12/966,895 US9014187B2 (en) | 2010-12-13 | 2010-12-13 | Managing stale route removal in a routing information base of a network element |
PCT/IB2011/055192 WO2012080874A1 (en) | 2010-12-13 | 2011-11-18 | Managing stale route removal in a routing information base of a network element |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103238300A CN103238300A (zh) | 2013-08-07 |
CN103238300B true CN103238300B (zh) | 2017-03-01 |
Family
ID=45218777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180059781.6A Active CN103238300B (zh) | 2010-12-13 | 2011-11-18 | 管理网络单元的路由选择信息库中的过时路由移除的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9014187B2 (zh) |
EP (1) | EP2652920B1 (zh) |
CN (1) | CN103238300B (zh) |
WO (1) | WO2012080874A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9491107B1 (en) * | 2014-06-30 | 2016-11-08 | Juniper Networks, Inc. | Non-stop routing with internal session mirroring and adaptive application-level rate limiting |
US10630585B2 (en) * | 2015-04-16 | 2020-04-21 | Arista Networks, Inc. | Method and system for withdrawing programmed routes in network devices |
US9960994B2 (en) * | 2016-03-23 | 2018-05-01 | Juniper Networks, Inc. | Method, system, and apparatus for forwarding network traffic using minimal forwarding information bases |
US9635027B1 (en) * | 2016-09-02 | 2017-04-25 | Blink.Cloud LLC | Data transmission using dynamically rendered message content prestidigitation |
US11689459B2 (en) * | 2020-07-01 | 2023-06-27 | Arista Networks, Inc. | Custom routing information bases for network devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969491A (zh) * | 2004-07-23 | 2007-05-23 | 思科技术公司 | 在路由器中的控制故障期间保护多播数据转发的***和方法 |
CN101651617A (zh) * | 2009-09-15 | 2010-02-17 | 清华大学 | 互联网路由中的稳定路由选择方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006640A1 (en) * | 2002-07-03 | 2004-01-08 | Inderieden Daniel W. | Notification to routing protocols of changes to routing information base |
US7688714B2 (en) | 2004-04-28 | 2010-03-30 | Cisco Technology, Inc. | Network routing apparatus that performs soft graceful restart |
WO2006014710A2 (en) | 2004-07-23 | 2006-02-09 | Cisco Technology, Inc. | System and method for preserving multicast data forwarding during control failures in a router |
US7508772B1 (en) * | 2006-06-02 | 2009-03-24 | Cisco Technology, Inc. | Partial graceful restart for border gateway protocol (BGP) |
US7940649B2 (en) * | 2006-08-01 | 2011-05-10 | Cisco Technology, Inc. | Techniques for graceful restart in a multi-process operating system |
-
2010
- 2010-12-13 US US12/966,895 patent/US9014187B2/en active Active
-
2011
- 2011-11-18 WO PCT/IB2011/055192 patent/WO2012080874A1/en active Application Filing
- 2011-11-18 EP EP11793873.8A patent/EP2652920B1/en active Active
- 2011-11-18 CN CN201180059781.6A patent/CN103238300B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969491A (zh) * | 2004-07-23 | 2007-05-23 | 思科技术公司 | 在路由器中的控制故障期间保护多播数据转发的***和方法 |
CN101651617A (zh) * | 2009-09-15 | 2010-02-17 | 清华大学 | 互联网路由中的稳定路由选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103238300A (zh) | 2013-08-07 |
EP2652920B1 (en) | 2019-04-10 |
WO2012080874A1 (en) | 2012-06-21 |
US20120147888A1 (en) | 2012-06-14 |
EP2652920A1 (en) | 2013-10-23 |
US9014187B2 (en) | 2015-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535772B (zh) | 分段路由流量工程策略的发送及接收方法、装置和网元 | |
EP3414874B1 (en) | Border gateway protocol for communication among software defined network controllers | |
US9998368B2 (en) | Zone routing system | |
JP6920533B2 (ja) | データフロー伝送 | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
CN107070798B (zh) | 网络区域划分方法、网络设备和*** | |
CN103841022B (zh) | 用于建立隧道的方法及装置 | |
US9246794B2 (en) | Label distribution and route installation in a loop-free routing topology using routing arcs | |
KR101457317B1 (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
US9007918B2 (en) | Techniques for efficiently updating routing information | |
CN103238300B (zh) | 管理网络单元的路由选择信息库中的过时路由移除的方法及装置 | |
CN102761493B (zh) | 一种多链接透明互联网络中组播路由表项更新方法和装置 | |
CN102150148A (zh) | 层2拓扑中针对单播帧和多播帧的差别化服务 | |
CN104168154A (zh) | 面向网络态势感知的多级别网络***及其构建方法 | |
CN101517998A (zh) | 一种通告自治***边界连接信息的方法和边界节点 | |
US8837329B2 (en) | Method and system for controlled tree management | |
KR20130087535A (ko) | 라우팅 정보의 룩헤드 계산 | |
CN102780623B (zh) | 一种多链接透明互联网络中组播路由表项更新方法和装置 | |
CN104995879A (zh) | 通信***、通信方法、控制装置、控制装置控制方法和程序 | |
CN107295038A (zh) | 一种建立接口组的方法及装置 | |
CN104753778A (zh) | 一种跨域路径处理方法和装置 | |
CN103004149B (zh) | 用于在网络中确定等值路径的方法、网络装置和*** | |
CN109729006B (zh) | 一种报文处理方法和装置、计算机可读存储介质 | |
Qassoud et al. | Investigation of bandwidth reservation for segment routing | |
JP2022538527A (ja) | Igpショートカットパスに沿ってトラフィックをルーティングするための方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |