CN107241272A - 用于在路由会聚期间改进转发能力的方法、系统和装置 - Google Patents
用于在路由会聚期间改进转发能力的方法、系统和装置 Download PDFInfo
- Publication number
- CN107241272A CN107241272A CN201610556593.9A CN201610556593A CN107241272A CN 107241272 A CN107241272 A CN 107241272A CN 201610556593 A CN201610556593 A CN 201610556593A CN 107241272 A CN107241272 A CN 107241272A
- Authority
- CN
- China
- Prior art keywords
- route
- renewal
- priority
- flow
- network device
- 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
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/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/033—Topology update or discovery by updating distance vector protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例涉及用于在路由会聚期间改进的转发能力的方法、系统和装置。所公开的用于在路由会聚期间改进转发能力的计算机实现的方法可以包括:(1)在上游网络设备处标识更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化,(2)在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别,(3)在上游网络设备处根据优先级级别来按优先级顺序排列更新的路由的集合,以及然后(4)通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚。
Description
背景技术
网络常常经历需要路由更新的拓扑变化。例如,管理员可以将路由器添加到网络中和/或从网络中移除路由器。附加地或备选地,网络中的物理链路可能遭受阻止经由某些路径的网络流量的流动的故障。结果,网络内的路由器可能需要修改受它们的路由表和/或转发表内的拓扑变化影响的路由。为了促进修改通过这种方式的受影响的路由,路由器可以通过向受影响的路由通告更新来彼此会聚。
在这个背景下,术语“会聚(convergence)”可以是指更新受影响的路由以考虑网络内的拓扑变化的过程。传统路由器可以通过将更新发送到彼此来将更新通告给受影响的路由。受影响的路由中的一些受影响的路由可以比其他受影响的路由更重要。例如,受影响的路由中的一个受影响的路由可能承载大量流量,而受影响的路由中的另一个受影响的路由可能实际上根本没有承载流量。
遗憾的是,这些传统路由器可能不能够经由受影响的路由转发流量,直到更新已经被安装到路由器的路由和转发表中。此外,这些更新被传统路由器发送的顺序可能几乎没有意义或目的。由于在会聚期间没有以特定顺序来发送更新,所以这些传统路由器可能在对不重要的路由(例如,低流量路由)的更新的长队列之后结束对非常重要的路由(例如,高流量路由)安装更新。结果,传统路由器可能不能够经由非常重要的路由转发流量,直到在已经安装了对不重要的路由的更新之后,由此可能造成在路由器的转发能力中的延迟和/或中断。
因此,本公开内容标识并解决了对用于在路由会聚期间改进转发能力的额外的且改进的方法、系统和装置的需要。
发明内容
如下面将更详细地描述的,本公开内容总体上涉及一种用于在路由会聚期间改进转发能力的方法、系统和装置。在一个示例中,一种用于完成这种任务的方法可以包括:(1)在上游网络设备处标识更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化,(2)在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别,(3)在上游网络设备处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合,以及之后(4)通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚,使得下游网络设备能够通过在更新的路由的集合内的较低优先级路由之前的更新的路由的集合内的较高优先级路由来转发流量。
类似地,一种用于实现上述方法的系统可以包括:(1)标识模块,其被存储在存储器中,标识模块在上游网络设备处标识更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化,(2)优先化模块,其被存储在存储器中,优先化模块在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别,(3)排序模块,其被存储在存储器中,排序模块在上游网络设备处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合,(4)会聚模块,其被存储在存储器中,会聚模块通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚,使得下游网络设备能够通过在更新的路由的集合内的较低优先级路由之前的更新的路由的集合内的较高优先级路由来转发流量,以及(5)至少一个物理处理器,其被配置为运行标识模块、确定模块、排序模块以及会聚模块。
一种用于实现上述方法的装置,可以包括:(1)存储器设备,其存储更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化,以及(2)处理单元,其通信耦合到存储器设备,其中处理单元(A)在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别,(B)在上游网络设备处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合,以及(C)通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚,使得下游网络设备能够通过在更新的路由的集合内的较低优先级路由之前的更新的路由的集合内的较高优先级路由来转发流量。
根据本文中描述的总体原理,来自上述实施例中的任何一个实施例的特征可以彼此组合使用。在结合附图和权利要求书阅读下文的详细描述之后,将更完全地理解这些和其他实施例、特征以及优点。
附图说明
附图图示了多个示范性实施例并且是本说明书的一部分。与下文描述一起,这些附图说明和解释本公开的各种原理。
图1是用于在路由会聚期间改进转发能力的示例性系统的框图。
图2是用于在路由会聚期间改进转发能力的示例性系统的框图。
图3是用于在路由会聚期间改进转发能力的示例性方法的流程图。
图4是对更新的路由的示例性的基于流量的排序的图示。
图5是包括按优先级顺序排列的更新的路由的集合的示例性队列的图示。
图6是能够实现本文中描述和/或图示的实施例中的一个或多个实施例和/或结合本文中描述和/或图示的实施例中的一个或多个实施例使用的示例性计算系统的框图。
在附图中,相同的参考标记和描述指示相似但不一定相同的元件。尽管本文中描述的示范性实施例易受到各种修改和备选形式的影响,但是特定实施例已经通过举例的方式在附图中示出并且将在本文中详细描述。然而,本文中描述的示范性实施例不旨在限于公开的具体形式。相反,本公开内容涵盖落在权利要求书的范围内的所有修改、等价物以及备选。
具体实施方式
本公开内容描述用于在路由会聚期间改进转发能力的各种方法、系统和装置。如下面将更详细地解释的,本公开内容的各实施例可以使得路由器能够按优先级顺序接收对受拓扑变化影响的路由的通告的更新。结果,本公开内容的各实施例可以使得这些路由器能够在会聚期间在对不重要的路由的更新之前安装对重要的路由的更新。通过以这种方式在对不重要的路由的更新之前安装对重要的路由的更新,本公开内容的各实施例可以使得这些路由器能够在会聚过程中的较早点处通过重要的路由来转发流量。换言之,本公开内容的各实施例可以确保重要的路由不仅能够在完成会聚过程之前承载流量,而且能够在会聚期间比不重要的路由更早地承载流量。
如本文中所使用的术语“会聚”和短语“以会聚”通常是指更新受网络内的拓扑变化影响的路由的过程。在这种背景下,网络设备的集合可以在一旦它们已经完成交换对受拓扑变化影响的路由的任何更新之后就完全会聚,使得设备的路由表包括相同的路由或至少不矛盾的路由。换言之,会聚可以在网络设备通过它们的路由表有效地对当前网络拓扑达成共识时达到完成的状态。因此,这些经会聚的网络设备的路由表可以仅仅包括彼此一致的路由。
下文将参考图1和2提供用于在路由会聚期间改进转发能力的示例性系统的详细描述。将结合图3提供对对应的计算机实现的方法的详细描述。将结合图4提供对更新的路由的示例性的基于流量的排序的详细描述。将结合图5提供包括按优先级顺序排列的更新的路由的集合的示例性队列的详细描述。另外,将结合图6提供能够实现本文中描述的实施例中的一个或多个实施例的示例性计算系统的详细描述。
图1是用于在路由会聚期间改进转发能力的示例性系统100的框图。如该图中所图示的,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,并且如下面将更详细地描述的,示例性系统100可以包括标识模块104,标识模块104在上游网络设备处标识更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化。示例性系统100还可以包括优先化模块106,优先化模块106在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别。示例性系统100还可以包括排序模块108,排序模块108在上游网络设备处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合。
另外,并且如下面将更详细地描述的,示例性系统100可以包括会聚模块110,会聚模块110通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚,使得下游网络设备能够通过在更新的路由的集合内的较低优先级路由之前的更新的路由的集合内的较高优先级路由来转发流量。此外,示例性系统100可以包括监视模块112,监视模块112通过流量流动分析来监视经过由更新的路由的集合定义的网络路径的流量的量。尽管被图示为单独的元件,但是图1中的模块102中的一个或多个模块可以表示单个模块或应用(例如网络操作系统)的部分。
在某些实施例中,图1中的模块102中的一个或多个模块可以表示一个或多个软件应用或程序,其当被计算设备运行时,使计算设备执行一个或多个任务。例如,并且如下面将更详细地描述的,模块102中的一个或多个模块可以表示被存储并被配置为运行在一个或多个计算设备上的软件模块,一个或多个计算设备例如为图2中图示的设备(例如,网络设备202、204、206和/或208)和/或图6中的计算系统600中的任何。图1中的模块102中的一个或多个模块还可以表示被配置为执行一个或多个任务的一个或专用计算机的全部或部分。
如图1所示,系统100还可以包括一个或多个更新的路由的集合,例如更新的路由的集合120。在一个示例中,更新的路由的集合120可以包括和/或表示定义到目的的路径的路由,无论目的在网络内部还是外部。如本文中所使用的术语“路径”通常表示促进在网络内和/或跨网络的源与目的之间的流量的通信和/或流动的任何系列的链路和/或设备。如本文中所使用的术语“路由”通常表示指示和/或标识网络内和/或跨网络的路径的任何类型或形式的信息、数据和/或表示。
在一个示例中,更新的路由的集合120可以被维持和/或被存储在路由表和/或路由信息库(RIB)中。路由表和/或RIB可以包括和/或表示包括、存储和/或标识路由器的路由引擎内的一个或多个路由的任何类型或形式的数据库和/或表。附加地或备选地,更新的路由的集合120可以被维持和/或被存储在转发表和/或转发信息库(FIB)中。转发表和/或FIB可以包括和/或表示包括、存储和/或标识路由器的转发引擎(有时还被称为分组转发引擎)内的一个或多个活跃路由的任何类型或形式的数据库和/或表。
每个路由可以指示和/或标识表示路径的各种信息和/或数据。这种信息和/或数据的示例包括但不限于目的设备的因特网协议(IP)地址、网关设备的IP地址、目的或网关设备的路由前缀、下一跳的IP地址、网络掩码、这些中的一个或多个的组合或变型和/或任何其他适当的信息或数据。
可以以各种方式来实现图1中的示例性系统100。例如,示例性系统100的全部或部分可以表示图2中的示例性系统200的部分。如图2所示,系统200可以包括网络210,网络210支持和/或促进在网络设备202、204、206和208和/或各种客户端设备(未示出在图2中)之中的通信和/或数据传送。尽管图2仅仅图示了网络210内的网络设备202、204、206和208,但是各种其他网络设备和/或计算设备可以表示网络210的部分和/或被包含在网络210中。
在一个示例中,网络设备202可以利用模块102中的一个或多个模块来编程。在该示例中,网络设备202可以包括、存储和/或维持更新的路由的集合120。附加地或备选地,网络设备202可以包括和/或存储队列220,队列220按优先级顺序维持更新的路由的集合120以在会聚期间被发送到网络设备204、206和/或208。尽管不必以这种方式示出在图2中,但是网络设备204、206和/或208还可以利用模块102中的一个或多个模块来编程。
在一个示例中,来自图1的模块102中的一个或多个模块当由图2中的网络设备202的至少一个处理器运行时,使得网络设备202能够在路由会聚期间改进转发能力。例如,并且如下面将更详细地描述的,模块102中的一个或多个模块可以使网络设备202:(1)在网络设备202处标识更新的路由的集合120,更新的路由的集合120定义网络路径,网络路径自网络设备202与网络设备204、206和/或208上次会聚以来已经均经历至少一个拓扑变化,(2)在网络设备202处至少部分地基于经过由更新的路由的集合120定义的网络路径的流量的量来确定针对更新的路由的集合120的优先级级别,(3)在网络设备202处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合120,以及之后(4)通过按优先级顺序将更新的路由的集合120发送到下游网络设备来将网络设备202与网络设备204、206和/或208会聚,使得网络设备204、206和/或208能够通过在更新的路由的集合120内的较低优先级路由之前的更新的路由的集合120内的较高优先级路由来转发流量。
网络设备202、204、206和/或208中的每个网络设备通常表示促进在计算设备之中和/或网络内或跨网络的通信和/或网络流量的任何类型或形式的设备、系统和/或机构。在一个示例中,网络设备202、204、206和/或208可以均表示路由器。附加地或备选地,网络设备202、204、206和/或208可以均包括和/或表示到网络的网关。网络设备202、204、206和/或208的示例包括但不限于路由器(例如提供商边缘路由器、集线器路由器、辐式路由器(spoke router)、自主系统边界路由器和/或区域边界路由器)、交换机、集线器、调制解调器、桥接器、中继器、网关、多路复用器、网络适配器、网络接口、网络机架、盒、服务器、计算设备、运行在这些中的一个或多个上的虚拟机、这些中的一个或多个的部分、这些中的一个或多个的组合或变型、和/或任何其他合适的网络设备。
网络210各自通常表示促进通信或数据传送的任何类型或形式的媒体和/或体系结构。在一个示例中,网络210可以促进针对服务提供商(例如,AT&T、VERIZON WIRELESS、SPRINT、T-MOBILE、FACEBOOK、GOOGLE、INSTAGRAM、NETFLIX、AMAZON、YOUTUBE、CENTURYLINK、COMCAST、DIRECTV和/或APPLE)的订户的流量。网络210的示例包括但不限于MPLS网络、内联网、广域网(WAN)、局域网(LAN)、无线LAN、个人局域网络(PAN)、因特网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、对等网络、这些中的一个或多个的部分、这些中的一个或多个的组合或变型和/或任何其他合适的网络。网络210可以支持和/或促进使用无线连接和/或有线连接的通信或数据传送。尽管图2图示了仅仅单个网络,但是备选实施例可以包括除了网络210之外的各种其他网络。附加地或备选地,尽管图2将网络210图示为单个实体,但是网络210可以备选地包括和/或表示多个网络和/或子网络。
图3是用于在路由会聚期间改进转发能力的示例性的计算机实现的方法的流程图。图3中示出的步骤可以通过任何合适的计算机可执行代码和/或计算系统来执行。在一些实施例中,图3中示出的步骤可以通过图1中的系统100、图2中的系统200、和/或图6中的计算系统600的部件中的一个或多个部件来执行。
如图3所示,在步骤310处,本文描述的系统中的一个或多个系统可以在上游网络设备处标识更新的路由的集合,更新的路由的集合定义网络路径,网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化。例如,作为图2中的网络设备202的部分的标识模块104可以标识更新的路由的集合120,更新的路由的集合120定义网络路径,网络路径中自网络设备202与网络设备204、206和/或208上次会聚以来已经均经历至少一个拓扑变化。这种拓扑变化的示例包括但不限于:将网络设备添加到网络、从网络中移除网络设备、网络内的网络设备的故障、网络内的通信端口、链路和/或连接的故障、这些中的一个或多个的组合或变型和/或任何合适的拓扑变化。
如本文中所使用的术语“上游网络设备(upstream network device)”通常是指与特定参考点相比位于更朝向服务器侧的和/或进一步远离客户机侧的任何类型或形式的网络设备。相反,如本文中所使用的术语“下游网络设备(downstream network device)”通常是指与特定参考点相比位于更朝向客户机侧的和/或进一步远离服务器侧的任何类型或形式的网络设备。
本文描述的系统可以以各种方式和/或在各种背景下执行步骤310。在一些示例中,标识模块104可以至少部分地基于结合经过网络210的流量检测到的任何延迟、中断和/或故障来标识更新的路由的集合120。例如,作为图2中的网络设备202和/或另一网络设备(不必示出在图2中)的部分的监视模块112可以监视由网络210内的网络设备202接收到的和/或发送的流量。在该示例中,监视模块112可以检测结合由网络设备202发送的流量出现的任何延迟、中断和/或故障。标识模块104可以之后确定这些延迟、中断和/或故障中的一些由网络210的拓扑变化导致。响应于该确定,标识模块104可以标识涉及经历拓扑变化和/或受拓扑变化影响的网络210的部分的任何路由。
在一些示例中,标识模块104可以至少部分地基于指示网络210的拓扑变化的通知和/或通告来标识更新的路由的集合120。例如,标识模块104可以接收指示网络设备已经被添加到网络210的通知和/或通告。在一个示例中,通知和/或通过可以由新添加的网络设备本身发起。在一个示例中,通知和/或通告可以由通过在将网络设备添加到网络210中所涉及的网络管理员操作的计算设备发起。响应于通知和/或通告,标识模块104可以标识受网络设备的添加影响的任何路由。
附加地或备选地,标识模块104可以接收指示网络设备已经从网络210中移除的通知和/或通告。在一个示例中,通知和/或通告可以由检测到网络设备从网络210中的移除的另一网络设备发起。在另一个示例中,通知和/或通告可以由通过在从网络210中移除网络设备中所涉及的网络管理员操作的计算设备发起。响应于通知和/或通告,标识模块104可以标识受网络设备的移除影响的任何路由。
作为另一示例,标识模块104可以接收指示至少部分地由于故障而导致特定流量被丢弃和/或不能够到达其目的的通知和/或通告。标识模块104可以之后确定该通知和/或通告由网络210的拓扑变化导致。响应于该确定,标识模块104可以标识网络210中的涉及经历拓扑变化和/或受拓扑变化影响的部分的任何路由。
在标识了定义受拓扑变化影响的网络路径的路由时,网络设备202可以修改和/或更新这些路由以考虑拓扑变化。例如,网络设备202可以修改和/或更新受影响的路由,使得它们定义通向正确目的和/或能够到达正确目的的网络路径。在该示例中,这些经修改的路由可以构成和/或表示对定义受拓扑变化影响的网络路径的那些路由的备选。
在一个示例中,自网络设备202与网络设备204、206和/或208上次会聚以来可能已经发生对网络210的拓扑的变化。例如,在网络设备202与网络设备204、206和/或208上次会聚以来可能已经发生对网络设备的添加或移除。附加地或备选地,在网络设备202与网络设备204、206和/或208上次会聚以来可能已经发生网络设备的故障。结果,网络设备202可能需要与网络设备204、206和/或208再次会聚以确保它们通过它们的路由表有效地对当前网络拓扑达成共识。
返回到图3,在步骤320处,本文描述的系统中的一个或多个系统可以在上游网络设备处至少部分地基于经过由更新的路由的集合定义的网络路径的流量的量来确定针对更新的路由的集合的优先级级别。例如,作为图2中的网络设备202的部分至少部分的优先化模块106可以基于经过由更新的路由的集合120定义的网络路径的流量的量来确定针对更新的路由的集合120的优先级级别。在一个示例中,优先级基本可以在本质上是相对的(例如,一个路由相对于另一个路由的优先级)。附加地或备选地,优先级级别可以指示路由属于特定类别(例如,高优先级、中优先级和/或低优先级)。
本文描述的系统可以以各种方式和/或在各种背景下执行步骤320。在一些示例中,优先化模块106可以至少部分地基于流量流动分析来确定针对更新的路由的集合120的优先级级别。例如,监视模块112可以监视经过由更新的路由的集合120定义的网络路径的流量的量。在该示例中,标识模块104可以确定哪个更新的路由定义承载最多流量的网络路径。优先化模块106可以之后确定该高流量更新的路由具有最高优先级。附加地或备选地,优先化模块106可以对该高流量更新的路由分配以最高优先级。
类似地,标识模块104可以确定哪个更新的路由定义承载最少流量的网络路径。优先化模块106可以之后确定该低流量更新的路由具有最低优先级。附加地或备选地,优先化模块106可以对该低流量更新的路由分配以最低优先级。
在一个示例中,优先化模块106可以将更新的路由的集合120从最高优先级到最低优先级进行排序。例如,优先化模块106可以对承载在更新的路由的集合120之中的最多流量的更新的路由应用和/或分配最高优先级级别。在该示例中,优先化模块106可以对承载在更新的路由的集合120之中的第二多流量的更新的路由应用和/或分配第二高优先级级别。附加地或备选地,优先化模块106可以对承载在更新的路由的集合120之中的第三多流量的更新的路由应用和/或分配第三高优先级级别。
继续该示例,优先化模块106可以对承载在更新的路由的集合120之中的最少流量的更新的路由应用和/或分配最低优先级级别。在该示例中,优先化模块106可以对承载在更新的路由的集合120之中的第二低流量的更新的路由应用和/或分配第二低优先级级别。优先化模块106可以继续以这种方式对所有的更新的路由120中的应用和/或分配优先级级别,由此有效地将更新的路由的集合120从最高优先级到最低优先级进行排序。
图4图示了对更新的路由120的示例性的基于流量的排序。如图4所示,对更新的路由120的基于流量的排序可以根据其各自的排序(在该示例中,分别为“1”、“2”、“3”、“4”、“5”、“6”、“7”和“1000”)来标识更新的路由(在该示例中由前缀“64.15.112.0/20”、“208.65.152.0/22”、“208.117.224.0/19”、“128.47.209.0/18”、“192.41.17.0/21”、“75.57.201.0/22”、“102.2.65.0/18”和“82.92.156.0/16”表示)。这些排序可以至少部分地基于由更新的路由承载的流量的量(在该示例中,分别为“~118,000,000”、“~112,000,000”、“~110,000,000”、“~105,000,000”、“~102,000,000”、“~100,000,000”、“~92,000,000”和“~2,000”)。流量的量可以由流的数目、分组的数目和/或由这种路由承载的字节的数目表示和/或测量。
在一个示例中,优先化模块106可以将类别指示分配给更新的路由120中的每个更新的路由。例如,优先化模块106可以将高优先级指示分配给承载超过高流量阈值的流量的量的每个更新的路由。在该示例中,优先化模块106可以将中优先级指示分配给承载超过中流量阈值但不超过高流量阈值的流量的量的每个更新的路由。附加地或备选地,优先化模块106可以将低优先级指示分配给承载未达到中流量阈值的流量的量的每个更新的路由。
在一些示例中,优先化模块106可以至少部分地基于用户输入来确定针对更新的路由的集合120的优先级级别。在一个示例中,标识模块104可以获得指示由网络管理员为更新的路由的集合内的路由选择的优先级级别的用户输入。例如,标识模块104可以确定网络管理员已经输入了指示特定更新的路由应当被分配给最高优先级的用户输入,而不管由更新的路由承载的流量的量如何。优先化模块106可以至少部分地基于用户输入来将用户选择的优先级应用到和/或分配给对应的路由。
附加地或备选地,标识模块104可以至少部分地基于路由的状态为关键任务来标识更新的路由的集合120内的路由已经被优先化。例如,更新的路由的集合120内的路由可以已经被指派或指示为关键任务。在该示例中,优先化模块106可以至少部分地由于关键任务指示来将优先级级别应用到和/或分配给路由,而不管由路由承载的流量的量如何。因此,关键任务状态可以有效地将路由的优先级级别增大到承载比关键任务路由更多流量的其他路由之上。关键任务路由的示例包括但不限于:与紧急服务(例如,执法、医疗急救和/或“911”服务)相关的路由、与军队服务相关的路由、与公共安全相关的路由、这些中的一个或多个组合或变型和/或任何其他合适的关键任务路由。
返回到图3,在步骤330处,本文描述的系统中的一个或多个可以在上游网络设备处根据至少部分地基于经过网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合。例如,作为图2中的网络设备202的部分根据至少部分的排序模块108可以基于经过由更新的路由的集合120定义的网络路径的流量的量确定的优先级级别来按优先级顺序排列更新的路由的集合120。如本文中所使用的术语“优先级顺序”通常是指反映、遵循和/或符合更新的路由的优先级级别的任何类型或形式的排列、序列和/或顺序。
本文描述的系统可以以各种方式和/或在各种背景下执行步骤330。在一些示例中,排序模块108可以通过对更新的路由的集合120进行重新排序来按优先级顺序排列更新的路由的集合120。例如,更新的路由的集合120可以占据图5中的队列220。在该示例中,更新的路由的集合120可以最初不以关于优先级的顺序来排列。排序模块108可以根据优先级的排序来对队列220中的更新的路由的集合120进行排序和/或重新排序。换言之,排序模块108可以将更新的路由的集合120从最高优先级到最低优先级有效地排序在队列220中。
得到的优先级顺序可以包括在队列220内的第一位置中的具有最高优先级的路由和在最末位置中的具有最低优先级的路由。该优先级顺序可以使得具有最高优先级的路由能够成为在会聚期间由网络设备202发送到网络设备204、206和/或208中的第一个路由。类似地,该优先级顺序可以使得具有第二高优先级的路由能够成为在会聚期间由网络设备202发送到网络设备204、206和/或208中的第二个路由。以这种方式继续,优先级顺序可以使得具有最低优先级的路由能够成为在会聚期间由网络设备202发送到网络设备204、206和/或208中的最后一个路由。
图5图示了包括按优先级顺序排列的更新的路由的集合的队列220的示例性表示。如图5所示,图5中的队列220可以包括按优先级顺序排列的更新的路由的集合(在该示例中,由前缀“64.15.112.0/20”、“208.65.152.0/22”、“208.117.224.0/19”、“128.47.209.0/18”和“82.92.156.0/16”表示)。在图5中的队列220中所包括的更新的路由的顺序可以对应于和/或遵循图4中的基于流量的排序400。在该示例中,图5中的队列220的顺序可以使得“64.15.112.0/20”路由能够成为由网络设备202发送到网络设备204、206和/或208的第一个路由,使得“208.65.152.0/22”路由能够成为由网络设备202发送到网络设备204、206和/或208的第二个路由,以此类推。
在网络管理员已经提供了指定针对更新的路由的特定优先级级别的用户输入的情况下,排序模块108可以至少部分地由于路由的用户选择的优先级级别而将该路由放置在承载更多流量的其他路由前面。在更新的路由已经至少部分地基于路由的关键任务状态而被优先化的情况下,排序模块108可以至少部分地由于路由的关键任务状态而将该路由放置在承载更多流量的其他路由前面。
返回到图3,在步骤340处,本文描述的系统中的一个或多个可以通过按优先级顺序将更新的路由的集合发送到下游网络设备来将上游网络设备与下游网络设备会聚,使得下游网络设备能够提供在较低优先级的更新的路由之前的较高优先级的更新的路由来转发流量。例如,作为图2中的网络设备20的部分的会聚模块110可以引导网络设备202与网络设备204、206和/或208会聚。在该示例中,会聚模块110可以通过按优先级顺序将更新的路由的集合120发送到网络设备204、206和/或208来执行和/或促进该会聚过程。通过这样做,会聚模块110可以使得网络设备204、206和/或208能够通过在更新的路由的集合120内的较低优先级的路由之前的更新的路由的集合120内的较高优先级的路由来转发流量。
本文描述的系统可以以各种方式和/或在各种背景下执行步骤340。在一些示例中,会聚模块110可以通过边界网关协议(BGP)会聚操作来促进在网络设备202、204、206和/或208之间的会聚。例如,会聚模块110可以通过经由BGP将更新的路由的集合120从网络设备202发送到网络设备204、206和/或208来执行关于网络设备202、204、206和/或208的BGP会聚操作。附加地或备选地,会聚模块110可以按图2中的队列220中示出的顺序来将更新的路由的集合120从网络设备202发送到网络设备204、206和/或208。
通过按这种顺序将更新的路由的集合120发送到网络设备204、206和/或208,会聚模块110可以使得网络设备204、206和/或208能够在会聚过程期间比较低优先级的更新的路由更早地开始将流量转发到较高优先级的更新的路由。例如,网络设备204、206和/或208可能不能给经由更新的路由转发流量,直到更新的路由已经被安装到路由表和转发表中。由于在该示例中更新的路由的集合120是按优先级顺序来发送的,所以网络设备204、206和/或208可以在会聚过程期间比不重要的路由更早地安装对重要的路由(例如,高流量路由)的更新。因此,会聚模块110可以使得网络设备204、206和/或208不仅能够在完成会聚过程之前承载流量而且能够在会聚期间比不重要的路由更早地承载流量,由此可能在路由会聚期间改进网络设备204、206和/或208的转发能力。
如以上结合图1-5解释的,路由器可以能够按优先级顺序接收对受拓扑变化影响的路由的通告的更新。通过按优先级顺序接收这些更新,路由器可以能够在会聚期间在对不重要的路由的更新之前安装对重要的路由的更新。此外,通过在会聚期间以这种方式安装对重要的路由的更新,路由器可以能够在会聚过程中的较早点处通过重要的路由来转发流量。因此,这些路由器可以不仅能够在完成会聚过程之前承载流量,而且能够在会聚期间比不重要的路由更早地承载流量。
图6是能够实施本文中描述和/或图示的实施例中的一个或多个实施例和/或结合本文中描述和/或图示的实施例中的一个或多个实施例使用的示例性计算系统600的方框图。在一些实施例中,计算系统600的全部或部分可以单独地或与其他元件组合地执行结合图3描述的步骤中的一个或多个步骤,或者是用于单独地或与其他元件组合地执行结合图3描述的步骤中的一个或多个的装置。计算系统600的全部或部分还可以执行本文中描述和/或图示的任何其他步骤、方法、或过程,或者是用于执行和/或实施本文中描述和/或图示的任何其他步骤、方法、或过程的装置。在一个示例中,计算系统600可以包括执行和/或构建用于执行和/或实施本文中描述和/或图示的任何其他步骤、方法、或过程的装置。
计算系统600广泛地表示任何类型或形式的电力负载,包括能够执行计算机可读指令的单处理器或多处理器计算设备。计算系统600的示例包括但不限于:工作站、笔记本电脑、客户端终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,骨干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器)、网络设备(例如,网络安全设备、网络控制设备、网络计时设备、SSL VPN(安全套接字层虚拟私人网络)设备等)、网络控制器、网关(例如,服务网关、移动数据包网关、多路接入网关、安全网关等)、和/或任何其他类型或形式的计算系统或设备。
计算系统600可以被编程、被配置、和/或以其他方式被设计为符合一个或多个网络协议。根据特定实施例,计算系统600可以被设计为适用开放式系统互连(OSI)参考模型的一个或多个层的协议,例如物理层协议、链路层协议、网络层协议、传输层协议、会话层协议、表示层协议和/或应用层协议。例如,计算系统600可以包括根据以下协议配置的网络设备:通用串行总线(USB)协议、电气和电子工程师学会(IEEE)1394协议、以太网协议、T1协议、同步光学网络(SONET)协议、同步数字系列(SDH)协议、集成服务数字网络(ISDN)协议、异步传输模式(ATM)协议、点对点协议(PPP)、以太网上的点对点协议(PPPoE)、ATM上的点对点协议(PPPoA)、蓝牙协议、IEEE 802.XX协议、帧中继协议、令牌环协议、生成树协议、和/或任何其他合适的协议。
计算系统600可以包括各种网络和/或计算部件。例如,计算系统600可以包括至少一个处理器614和系统存储器616。处理器614通常表示能够处理数据或解译并执行指令的任何类型或形式的处理单元。例如,处理器614可以表示专用集成电路(ASIC)、片上系统(例如,网络处理器)、硬件加速器、通用处理器、和/或任何其他合适的处理元件。
处理器614可以根据以上讨论的网络协议中的一个或多个网络协议来处理数据。例如,处理器614可以执行或实施协议栈的部分,可以处理数据包,可以执行存储操作(例如,对数据包进行排队以用于后续处理),可以执行终端用户应用,和/或可以执行任何其他处理任务。
系统存储器616通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器616的示例包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或任何其他合适的存储设备。尽管不要求,但是在特定实施例中,计算系统600可以包括易失性存储单元(例如,系统存储器616)和非易失性存储单元(例如,如下面更详细描述的主要存储设备632)。系统存储器616可以在网络设备中被实施为共享存储器和/或分布式存储器。另外,系统存储器616可以存储在网络操作中使用的数据包和/或其他信息。在一个示例中,系统存储器616可以包括和/或存储来自图1的模块102中的一个或多个模块。
在特定实施例中,示例性计算系统600还可以包括除了处理器614和系统存储器616以外的一个或多个部件或元件。例如,如图6中所示,计算系统600可以包括存储器控制器618、输入/输出(I/O)控制器620以及通信接口622,其中的每个可以经由通信基础架构612相互连接。通信基础架构612通常表示能够促进在计算设备的一个或多个部件之间的通信的任何类型或形式的基础架构。通信基础架构612的示例包括但不限于:通信总线(例如,串行ATA(SATA)、工业标准体系结构(ISA)、外围部件互连(PCI)、PCI Express(PCIe)和/或任何其他合适的总线)、以及网络。
存储器控制器618通常表示能够处理存储或数据或者控制在计算系统600中的一个或多个部件之间的通信的任何类型或形式的设备。例如,在特定实施例中,存储器控制器618可以控制经由通信基础架构612在处理器614、系统存储器616、以及I/O控制器620之间的通信。在一些实施例中,存储器控制器618可以包括可以将数据(例如,数据包)传送到链路适配器或从链路适配器传输数据(例如,数据包)直接存储存取(DMA)单元。
I/O控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的设备或模块。例如,在特定实施例中,I/O控制器620可以控制或促进数据在计算系统600的诸如处理器614、系统存储器616、通信接口622、以及存储接口630的一个或多个元件之间的传输。
通信接口622广泛地表示能够促进在示例性计算系统600与一个或多个附加的设备之间的通信的任何类型或形式的通信设备或适配器。例如,在特定实施例中,通信接口622可以促进在计算系统600与包括附加的计算系统的专用网络或公共网络之间的通信。通信接口622的示例包括但不限于:链路适配器、有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、以及任何其他合适的接口。在至少一个实施例中,通信接口622可以经由到诸如因特网的网络的直接链路来提供到远程服务器的直接连接。通信接口622还可以通过例如局域网(例如以太网)、个域网、广域网、专用网络(例如,虚拟专用网络)、电话或线缆网络、蜂窝电话连接、卫星数据连接、或任何其他合适的连接来间接地提供这样的连接。
在特定实施例中,通信接口622还可以表示被配置为促进经由外部总线或通信通道在计算系统600与一个或多个额外的网络或存储设备之间的通信的主机适配器。主机适配器的示例包括但不限于:小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE 1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行(SATA)以及外部SATA(eSATA)主机适配器、纤维通道接口适配器、以太网适配器等。通信接口622还可以使得计算系统600能够参与到分布式或远程计算中。例如,通信接口622可以从远处设备接收指令或将指令发送到远处设备以用于执行。
如图6所示,示例性计算系统600还可以包括经由存储接口630耦合到通信基础612的主要存储设备632和/或备用存储设备634。存储设备632和634通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和634可以表示磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪速存储器等。存储接口630通常表示用于在存储设备632和634以及计算系统600的其他部件之间传送数据的任何类型或形式的接口或设备。
在特定实施例中,存储设备632和634尅被配置为从可移动存储单元读取和/或写入到可移动存储单元,所述可移动存储单元被配置为存储计算机软件、数据或其他计算机可读信息。适合的可移动存储单元的示例包括但不限于:软盘、磁带、光盘、闪速存储设备等等。存储设备632和634还可以包括用于允许计算机软件、数据或其他计算机可读指令被加载到计算系统600中的其他类似的结构或设备。例如,存储设备632和634可以被配置为读取和写入软件、数据、或其他计算机可读信息。存储设备632和634可以是计算系统600的一部分或可以是通过其他接口系统访问的单独的设备。
许多其他设备或子系统可以连接到计算系统600。相反地,在图6中图示的部件和设备不需要全部被呈现以实践本文中描述和/或图示的实施例。以上提及的设备和子系统还可以以与图6中示出的设备和子系统不同的方式相互连接。计算系统600也可以采用任何数目的软件、固件和/或硬件配置。例如,本文中公开的示例性实施例中的一个或多个可以被编码为在计算机可读介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令、或计算机控制逻辑)。术语“计算机可读介质”通常是指能够存储或承载计算机可读指令的任何形式的设备、载体、或介质。计算机可读介质的示例包括但不限于:诸如载波的传输型介质以及诸如磁性存储介质(例如,硬磁盘驱动器和软盘)、光存储介质(例如,紧凑盘(CD)和数字视频盘(DVD))、电子存储介质(例如,固态驱动器和闪速介质)的非暂态型介质、以及其他分布系统。
尽管前面的公开使用特定框图、流程图、以及示例来阐述各种实施例,但是本文中描述和/或图示的每个框图、部件、流程图的步骤、操作、和/或部件可以使用广泛的硬件、软件、或固件(或其任何组合)配置单独地和/或联合地被实施。另外,因为许多其他体系结构能够被实施以实现相同的功能,所以在其他部件内包含的部件的任何公开应当被认为实际上是示范性的。
在一些示例中,图1中的系统100的全部或部分可以表示云计算和基于网络的环境的部分。云计算和基于网络的环境可以经由因特网提供各种服务和应用。这些云计算和基于网络的服务(例如,软件即服务、平台即服务、基础架构即服务等)可以通过web浏览器或其他远程接口访问。本文中描述的各种功能还可以提高网络交换能力、网关访问能力、网络安全功能、针对网络的内容高速缓存和递送服务、网络控制服务、和/或其他网络功能。
另外,本文中描述的所述模块中的一个或多个模块可以将数据、物理设备、和/或物理设备的表示从一种形式转变到另一种形式。附加地或备选地,本文中记载的所述模块中的一个或多个模块可以通过运行在计算设备上、将数据存储在计算设备上、和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转变到另一种形式。
本文中描述和/或图示的处理参数和步骤的序列仅仅通过举例的方式给出,并且能够根据需要而进行变化。例如,尽管本文中描述和/或图示的步骤可以以特定顺序示出或讨论,但是这些步骤无需以示出或讨论的顺序执行。本文中描述和/或图示的各种示例性方法也可以省略本文中描述和/或图示的步骤中的一个或多个步骤或包括除了公开的那些之外的附加步骤。
已经提供了前面的描述以使得本领域技术人员最好地利用本文中公开的示例性实施例的各种方面。该示例性描述不旨在为穷举的或不限于公开的任何精确形式。在不偏离本公开的精神和范围的情况下,能够进行许多修改和变型。本文中公开的实施例应当在各方面被认为是说明性的而非限制性的。在确定本公开的范围时应当参考所附的权利要求及其等价物。
除非另行说明,否则如在本说明书和权利要求书中使用的术语“连接到”和“耦合到”(以及其衍生词)应被解释为允许(即,经由其他元件或部件)直接连接和间接连接两种。另外,如在本说明书和权利要求书中使用的术语“一”或“一个”不应被解释为指“中的至少一个”。最后,为了便于使用,如在本说明书和权利要求书中使用的术语“包含”和“具有”(以及其衍生词)可与词语“包括”互换并且具有与词语“包括”相同的意义。
Claims (15)
1.一种方法,包括:
在上游网络设备处标识更新的路由的集合,所述更新的路由的集合定义网络路径,所述网络路径自所述上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化;
在所述上游网络设备处至少部分地基于经过由所述更新的路由的集合定义的所述网络路径的流量的量来确定针对所述更新的路由的集合的优先级级别;
在所述上游网络设备处根据至少部分地基于经过所述网络路径的所述流量的量确定的所述优先级级别来按优先级顺序排列所述更新的路由的集合;以及
通过按所述优先级顺序将所述更新的路由的集合发送到所述下游网络设备来将所述上游网络设备与所述下游网络设备会聚,使得所述下游网络设备能够通过在所述更新的路由的集合内的较低优先级路由之前的所述更新的路由的集合内的较高优先级路由来转发流量。
2.根据权利要求1所述的方法,还包括通过流量流动分析来监视经过由所述更新的路由的集合定义的所述网络路径的所述流量的量。
3.根据权利要求1所述的方法,其中确定针对所述更新的路由的集合的所述优先级级别包括:
确定所述更新的路由的集合内的第一路由承载的流量的量超过由所述更新的路由的集合内的第二路由承载的流量的量;以及
至少部分地由于所述第一路由承载超过由所述第二路由承载的所述流量的量的流量的量来将较高优先级级别应用到所述第一路由而不是所述第二路由。
4.根据权利要求1所述的方法,其中确定针对所述更新的路由的集合的所述优先级级别包括:
标识所述更新的路由的集合内的、比所述更新的路由的集合内的任何其他路由承载更多的流量的路由;
标识所述更新的路由的集合内的、比所述更新的路由的集合内的任何其他路由承载更少的流量的另一路由;以及
将所述更新的路由的集合从最高优先级到最低优先级进行排序,使得最高优先级级别被应用到所述路由,并且最低优先级级别被应用到所述另一路由。
5.根据权利要求4所述的方法,其中按所述优先级顺序排列所述更新的路由的集合包括根据所述排序来将所述更新的路由的集合排序在队列中,使得:
具有所述最高优先级级别的所述路由是在所述会聚期间被发送到所述下游网络设备的第一个路由;以及
具有所述最低优先级级别的所述另一路由是在所述会聚期间被发送到所述下游网络设备的最后一个路由。
6.根据权利要求1所述的方法,还包括监视经过由所述更新的路由的集合定义的所述网络路径的所述流量的量;并且
其中,确定针对所述更新的路由的集合的所述优先级级别包括:
确定路由承载超过高流量阈值的流量的量;
至少部分地由于所述路由承载超过所述高流量阈值的流量的量来将高优先级级别应用到所述路由;
确定另一路由承载未达到所述高流量阈值的流量的量;以及
至少部分地由于所述另一路由承载未达到所述高流量阈值的流量的量来将低于所述高优先级级别的优先级级别应用到所述另一路由。
7.根据权利要求1所述的方法,其中确定针对所述更新的路由的集合的所述优先级级别包括:
获得指示针对所述更新的路由的集合内的至少一个路由的用户选择的优先级级别的用户输入;以及
至少部分地由于所述用户输入而将所述用户选择的优先级级别应用到所述路由。
8.根据权利要求1所述的方法,其中:
确定针对所述更新的路由的集合的所述优先级级别包括:至少部分地基于关键任务状态,标识所述更新的路由的集合内的、已经被优先化的至少一个路由;以及
按所述优先级顺序排列所述更新的路由的集合包括:至少部分地由于所述路由的关键任务状态,在队列中将所述路由定位在承载的流量的量超过由所述路由承载的流量的量的至少一个其他路由的前面。
9.根据权利要求1所述的方法,其中将所述上游网络设备与所述下游网络设备会聚包括:通过经由边界网关协议(BGP)将所述更新的路由的集合发送到所述下游网络设备来执行关于所述上游网络设备和所述下游网络设备的BGP会聚操作。
10.根据权利要求1所述的方法,其中将所述上游网络设备与所述下游网络设备会聚包括:使得所述下游网络设备能够在所述会聚期间比所述较低优先级路由更早地开始将流量转发到所述较高优先级路由。
11.一种系统,包括:
标识模块,所述标识模块被存储在存储器中,所述标识模块在上游网络设备处标识更新的路由的集合,所述更新的路由的集合定义网络路径,所述网络路径自所述上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化;
优先化模块,所述优先化模块被存储在存储器中,所述优先化模块在所述上游网络设备处至少部分地基于经过由所述更新的路由的集合定义的所述网络路径的流量的量来确定针对所述更新的路由的集合的优先级级别;
排序模块,所述排序模块被存储在存储器中,所述排序模块在所述上游网络设备处根据至少部分地基于经过所述网络路径的所述流量的量确定的所述优先级级别来按优先级顺序排列所述更新的路由的集合;
会聚模块,所述会聚模块被存储在存储器中,所述会聚模块通过按所述优先级顺序将所述更新的路由的集合发送到所述下游网络设备来将所述上游网络设备与所述下游网络设备会聚,使得所述下游网络设备能够通过在所述更新的路由的集合内的较低优先级路由之前的所述更新的路由的集合内的较高优先级路由来转发流量;以及
至少一个物理处理器,所述物理处理器被配置为运行所述标识模块、所述优先化模块、所述排序模块以及所述会聚模块。
12.根据权利要求11所述的系统,还包括监视模块,所述监视模块被存储在存储器中,所述监视模块通过流量流动分析来监视经过由所述更新的路由的集合定义的所述网络路径的所述流量的量;并且
其中所述物理处理器还被配置为运行所述监视模块。
13.根据权利要求11所述的系统,其中所述优先化模块:
确定所述更新的路由的集合内的第一路由承载的流量的量超过由所述更新的路由的集合内的第二路由承载的流量的量;以及
至少部分地由于所述第一路由承载超过由所述第二路由承载的所述流量的量的流量的量来将较高优先级级别应用到所述第一路由而不是所述第二路由。
14.根据权利要求11所述的系统,其中:
所述标识模块:
标识所述更新的路由的集合内的、比所述更新的路由的集合内的任何其他路由承载更多的流量的路由;以及
标识所述更新的路由的集合内的、比所述更新的路由的集合内的任何其他路由承载更少的流量的另一路由;并且
所述优先化模块将所述更新的路由的集合从最高优先级到最低优先级进行排序,使得最高优先级级别被应用到所述路由,并且最低优先级级别被应用到所述另一路由。
15.一种装置,包括:
存储器设备,所述存储器设备存储更新的路由的集合,所述更新的路由的集合定义网络路径,所述网络路径自上游网络设备与下游网络设备上次会聚以来已经均经历至少一个拓扑变化;以及
处理单元,所述处理单元通信耦合到所述存储器设备,其中所述处理单元:
在所述上游网络设备处至少部分地基于经过由所述更新的路由的集合定义的所述网络路径的流量的量来确定针对所述更新的路由的集合的优先级级别;
在所述上游网络设备处根据至少部分地基于经过所述网络路径的所述流量的量确定的所述优先级级别来按优先级顺序排列所述更新的路由的集合;以及
通过按所述优先级顺序将所述更新的路由的集合发送到所述下游网络设备来将所述上游网络设备与所述下游网络设备会聚,使得所述下游网络设备能够通过在所述更新的路由的集合内的较低优先级路由之前的所述更新的路由的集合内的较高优先级路由来转发流量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/083,359 | 2016-03-29 | ||
US15/083,359 US10063457B2 (en) | 2016-03-29 | 2016-03-29 | Method, system, and apparatus for improving forwarding capabilities during route convergence |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241272A true CN107241272A (zh) | 2017-10-10 |
CN107241272B CN107241272B (zh) | 2020-04-21 |
Family
ID=56292563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610556593.9A Active CN107241272B (zh) | 2016-03-29 | 2016-07-14 | 用于在路由会聚期间改进转发能力的方法、系统和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10063457B2 (zh) |
EP (1) | EP3226492B1 (zh) |
CN (1) | CN107241272B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107980241A (zh) * | 2017-10-18 | 2018-05-01 | 深圳市奥星澳科技有限公司 | 一种网关多连接的方法及装置 |
CN108521374A (zh) * | 2018-03-28 | 2018-09-11 | 新华三技术有限公司 | 路由的处理方法及装置 |
CN110572452A (zh) * | 2019-09-05 | 2019-12-13 | 深圳市博海粤能科技开发有限公司 | 油田物联网无线通信模块升级方法和系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992097B2 (en) * | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10594592B1 (en) * | 2017-09-29 | 2020-03-17 | Juniper Networks, Inc. | Controlling advertisements, such as Border Gateway Protocol (“BGP”) updates, of multiple paths for a given address prefix |
US11165696B1 (en) * | 2019-11-27 | 2021-11-02 | Juniper Networks, Inc. | Providing convergence prioritization for border gateway protocol services across providers/customers |
US11490317B2 (en) * | 2020-02-18 | 2022-11-01 | At&T Intellectual Property I, L.P. | Selectively shedding processing loads associated with updates to a routing table in a fifth generation (5G) or other next generation network |
US11290941B2 (en) * | 2020-02-28 | 2022-03-29 | At&T Intellectual Property I, L.P. | Selectively using a co-processor to process network routing information in a fifth generation (5G) or other next generation network |
JP2022019282A (ja) * | 2020-07-17 | 2022-01-27 | 富士通株式会社 | パケットスイッチおよびタイムスロットの設定方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158940A1 (en) * | 2002-02-20 | 2003-08-21 | Leigh Kevin B. | Method for integrated load balancing among peer servers |
CN101040487A (zh) * | 2004-12-29 | 2007-09-19 | 思科技术公司 | Igp中的bgp下一跳路由的自动路由标记 |
CN101068214A (zh) * | 2007-06-26 | 2007-11-07 | 华为技术有限公司 | 一种路由收敛方法和设备 |
US20090109852A1 (en) * | 2007-10-26 | 2009-04-30 | Cisco Technology, Inc. | Statistics based forwarding information base repopulation |
CN101547139A (zh) * | 2008-03-28 | 2009-09-30 | 华为技术有限公司 | 网络拓扑变化的通告方法及装置 |
US7751331B1 (en) * | 2005-05-09 | 2010-07-06 | Cisco Technology, Inc. | Technique for policy conflict resolution using priority with variance |
CN102075444A (zh) * | 2011-02-28 | 2011-05-25 | 北京邮电大学 | 一种保障多类型业务服务质量的网络系统及方法 |
CN103220228A (zh) * | 2013-04-10 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种bgp路由的发送方法和设备 |
US8737406B1 (en) * | 2002-08-01 | 2014-05-27 | Cisco Technology, Inc. | Method for transmitting IP routes to prioritize convergence |
US8824274B1 (en) * | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0714192A1 (en) * | 1994-11-24 | 1996-05-29 | International Business Machines Corporation | Method for preempting connections in high speed packet switching networks |
US6628609B2 (en) * | 1998-04-30 | 2003-09-30 | Nortel Networks Limited | Method and apparatus for simple IP-layer bandwidth allocation using ingress control of egress bandwidth |
US6654346B1 (en) * | 1999-07-19 | 2003-11-25 | Dunti Corporation | Communication network across which packets of data are transmitted according to a priority scheme |
US7215637B1 (en) * | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US8510468B2 (en) * | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
MXPA02012346A (es) * | 2000-06-14 | 2004-09-09 | Coreexpress Inc | Desagregacion de ruta de internet y preferencia de seleccion de ruta. |
US7133365B2 (en) * | 2001-11-02 | 2006-11-07 | Internap Network Services Corporation | System and method to provide routing control of information over networks |
US20040073640A1 (en) * | 2002-09-23 | 2004-04-15 | Cricket Technologies Llc | Network load management apparatus, system, method, and electronically stored computer product |
US8107379B2 (en) * | 2005-05-04 | 2012-01-31 | Cisco Technology, Inc. | Dynamic TE-LSP priority and preemption |
US20060291446A1 (en) * | 2005-06-24 | 2006-12-28 | Donald Caldwell | Systems, methods, and devices for managing routing |
US8218572B2 (en) * | 2006-12-22 | 2012-07-10 | Verizon Patent And Licensing Inc. | Network element connection management within a network management system |
US8780896B2 (en) * | 2010-12-29 | 2014-07-15 | Juniper Networks, Inc. | Methods and apparatus for validation of equal cost multi path (ECMP) paths in a switch fabric system |
US9065749B2 (en) * | 2011-11-21 | 2015-06-23 | Qualcomm Incorporated | Hybrid networking path selection and load balancing |
US9106510B2 (en) * | 2012-04-09 | 2015-08-11 | Cisco Technology, Inc. | Distributed demand matrix computations |
US8327002B1 (en) * | 2012-07-31 | 2012-12-04 | Limelight Networks, Inc. | BGP peer prioritization in networks |
US8693374B1 (en) * | 2012-12-18 | 2014-04-08 | Juniper Networks, Inc. | Centralized control of an aggregation network with a reduced control plane |
US9450817B1 (en) * | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
US9313129B2 (en) * | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
US10581758B2 (en) * | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
TW201728124A (zh) * | 2014-09-16 | 2017-08-01 | 科勞簡尼克斯股份有限公司 | 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理 |
US10079779B2 (en) * | 2015-01-30 | 2018-09-18 | Nicira, Inc. | Implementing logical router uplinks |
US10382341B2 (en) * | 2015-03-20 | 2019-08-13 | Juniper Networks, Inc. | Label switched path preemption avoidance |
US9847939B2 (en) * | 2015-10-08 | 2017-12-19 | Cisco Technology, Inc. | Optimal route reflection using efficient border gate protocol best path selection |
-
2016
- 2016-03-29 US US15/083,359 patent/US10063457B2/en active Active
- 2016-06-30 EP EP16177390.8A patent/EP3226492B1/en active Active
- 2016-07-14 CN CN201610556593.9A patent/CN107241272B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158940A1 (en) * | 2002-02-20 | 2003-08-21 | Leigh Kevin B. | Method for integrated load balancing among peer servers |
US8737406B1 (en) * | 2002-08-01 | 2014-05-27 | Cisco Technology, Inc. | Method for transmitting IP routes to prioritize convergence |
CN101040487A (zh) * | 2004-12-29 | 2007-09-19 | 思科技术公司 | Igp中的bgp下一跳路由的自动路由标记 |
US7751331B1 (en) * | 2005-05-09 | 2010-07-06 | Cisco Technology, Inc. | Technique for policy conflict resolution using priority with variance |
CN101068214A (zh) * | 2007-06-26 | 2007-11-07 | 华为技术有限公司 | 一种路由收敛方法和设备 |
US20090109852A1 (en) * | 2007-10-26 | 2009-04-30 | Cisco Technology, Inc. | Statistics based forwarding information base repopulation |
CN101547139A (zh) * | 2008-03-28 | 2009-09-30 | 华为技术有限公司 | 网络拓扑变化的通告方法及装置 |
CN102075444A (zh) * | 2011-02-28 | 2011-05-25 | 北京邮电大学 | 一种保障多类型业务服务质量的网络系统及方法 |
US8824274B1 (en) * | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
CN103220228A (zh) * | 2013-04-10 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种bgp路由的发送方法和设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107980241A (zh) * | 2017-10-18 | 2018-05-01 | 深圳市奥星澳科技有限公司 | 一种网关多连接的方法及装置 |
CN108521374A (zh) * | 2018-03-28 | 2018-09-11 | 新华三技术有限公司 | 路由的处理方法及装置 |
CN110572452A (zh) * | 2019-09-05 | 2019-12-13 | 深圳市博海粤能科技开发有限公司 | 油田物联网无线通信模块升级方法和系统 |
CN110572452B (zh) * | 2019-09-05 | 2021-11-09 | 深圳市博海粤能科技开发有限公司 | 油田物联网无线通信模块升级方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3226492A1 (en) | 2017-10-04 |
CN107241272B (zh) | 2020-04-21 |
EP3226492B1 (en) | 2018-12-05 |
US20170289013A1 (en) | 2017-10-05 |
US10063457B2 (en) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241272A (zh) | 用于在路由会聚期间改进转发能力的方法、系统和装置 | |
CN107231304B (zh) | 用于使用最小转发信息库来转发网络流量方法、系统和装置 | |
EP3664386A1 (en) | Apparatus, system, and method for discovering network paths | |
CN107231307A (zh) | 用于防止数据中心架构内子网间流量转接的方法、系统和装置 | |
CN113347097B (zh) | 用于跨标签交换路径提供节点保护的装置、系统和方法 | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
CN104717116A (zh) | 用于软件定义联网隧穿扩展的方法和系统 | |
CN105745870A (zh) | 从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作 | |
US9614773B1 (en) | Systems and methods for automatically correcting classification signatures | |
CN104954288B (zh) | 信息发送方法、装置及通信系统 | |
US9497124B1 (en) | Systems and methods for load balancing multicast traffic | |
CN108566336A (zh) | 一种网络路径获取方法和设备 | |
CN109936516A (zh) | 用于跨多个网络传输选项促进透明服务映射的系统和方法 | |
EP2822240A1 (en) | Systems and methods for increasing the scalability of software-defined networks | |
US11070438B1 (en) | Apparatus, system, and method for collecting network statistics information | |
EP4207699A1 (en) | Service packet forwarding method, sr policy sending method, device, and system | |
CN109150721B (zh) | 用于在mpls分组上施加标签栈条目的装置、系统和方法 | |
CN106921575A (zh) | 用于防止多播业务丢弃的装置、系统和方法 | |
EP3270552A1 (en) | Method, system, and apparatus for reducing the size of route updates | |
US9451053B1 (en) | Systems and methods for interfacing software-defined networks with non-software-defined networks | |
CN108574633A (zh) | 用于跨网络内的标签交换路径来共享标签的装置、系统和方法 | |
CN108696429A (zh) | 促进基于控制器的多播信令的装置、系统和方法 | |
US9521066B2 (en) | vStack enhancements for path calculations | |
US10644902B1 (en) | Method, system, and apparatus for classifying uplink and downlink traffic in networks | |
CN108512756A (zh) | 促进iBGP对等体的标签标识的路由决策的装置、系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |