链路故障触发的交换机交换结构多目的地分组的快速转发重新收敛的制作方法

文档序号:25604966发布日期:2021-06-25 13:20阅读:111来源:国知局
链路故障触发的交换机交换结构多目的地分组的快速转发重新收敛的制作方法

1.本公开中提出的实施例总体上涉及通信网络,并且更具体地涉及用于响应于检测到与链路相关联的一个或多个状况(例如,链路故障)而切换多目的地流量的转发的技术。


背景技术:

2.数据中心交换结构可以与使用各种类型架构管理一组交换机的本地站点控制器一起部署。为了克服旧式网络架构的一些局限性,开发了一种示例数据中心设计,称为基于网络的脊叶架构。此架构已被证明可以提供高带宽、低延迟和无阻塞的服务器到服务器连接。在此架构中,每个下层交换机(叶层)以全网状拓扑连接到顶层交换机(脊层)中的每一者。叶层由连接到诸如服务器之类的设备的接入交换机组成。脊层是网络的骨干,负责互连所有叶交换机。
3.脊叶架构通常支持源与一个或多个目的地之间的单播和多目的地流量。单播流量是指从一个源路由到一个目的地的网络流量。多目的地流量是指路由到两个或多个目的地的流量,通常构成当今数据中心交换结构中的主要流量。例如,多目的地流量可以包括广播流量(例如,发送到网络上所有设备的流量)、多播流量(例如,发送到网络上多个选定地址的流量)和未知单播流量(例如,发送的目的地地址未知的单播流量)。
4.数据中心交换结构还可能容易受到链路故障的影响,链路故障可以周期性地、间歇地或永久地发生在交换机中,并导致交换结构中多目的地流量的暂时中断。考虑到多目的地流量构成了当今交换结构中的主要流量,这种中断会严重影响数据中心交换机之间的网络性能。
附图说明
5.为了可以详细地理解本公开的上述特征的方式,可以通过参考实施例来对上面简要概述的本公开进行更详细的描述,其中一些实施例在附图中示出。然而,应当注意,附图仅示出了本公开的典型实施例,并且因此不应被认为是对其范围的限制,因为本公开可以允许其他等效的实施例。
6.图1a示出了根据本文描述的一个实施例的其中每个叶交换机配置有树选择器的交换结构的示例网络架构。
7.图1b示出了根据本文描述的一个实施例的其中每个脊交换机配置有树选择器的交换结构的示例网络架构。
8.图2示出了根据本文描述的一个实施例的具有多个多目的地树的示例脊叶交换结构。
9.图3示出了根据本文描述的一个实施例的配置有树选择器的示例网络设备。
10.图4a

4b示出了根据本文描述的一个实施例的切换多目的地树以转发多目的地流量的示例场景。
11.图5是根据本文描述的一个实施例的用于选择多目的地树以用于转发多目的地流量的流程图。
12.图6是根据本文描述的一个实施例的用于切换多目的地树以转发多目的地流量的流程图。
13.为了便于理解,在可能的情况下使用了相同的附图标记来表示图中共有的相同元件。可以预期,在一个实施例中公开的元件可以在没有具体叙述的情况下有益地用于其他实施例中。
具体实施方式
14.概述
15.在独立权利要求中陈述了本发明的各方面,在从属权利要求中陈述了优选特征。一方面的特征可以单独地或与其他方面结合地应用于每个方面。
16.本公开中提出的一个实施例提供了一种由第一网络设备执行的方法。该方法通常包括:从第一节点接收多个多目的地分组,并且使用第一网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到第二网络设备。该方法还包括:检测与第一多目的地树相关联的链路满足一个或多个判据,并且响应于检测到该链路满足这一个或多个判据,选择第一网络设备处的第二多目的地树。该方法还包括:使用第二多目的地树将所述多个多目的地分组中的至少第二个转发到第二网络设备。
17.本公开中提出的另一实施例提供了一种网络设备。该网络设备通常包括处理器和包含程序的存储器,该程序在由处理器执行时执行操作。该操作包括:从第一节点接收多个多目的地分组,并且使用网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到另一网络设备。该操作还包括:检测与第一多目的地树相关联的链路满足一个或多个判据,并且响应于检测到该链路满足这一个或多个判据,选择网络设备处的第二多目的地树。该操作还包括:使用第二多目的地树将所述多个多目的地分组中的至少第二个转发到该另一网络设备。
18.本公开中提出的另一实施例提供了一种计算机可读介质。该计算机可读介质包括计算机程序代码,该计算机程序代码在由一个或多个处理器执行时执行操作。该操作包括:由第一网络设备从第一节点接收多个多目的地分组,并且由第一网络设备使用第一网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到第二网络设备。该操作还包括:由第一网络设备检测与第一多目的地树相关联的链路满足一个或多个判据,并且响应于检测到该链路满足这一个或多个判据,由第一网络设备选择第一网络设备处的第二多目的地树。该操作还包括由:第一网络设备使用第二多目的地树将所述多个多目的地分组中的至少第二个转发到第二网络设备。
19.示例实施例
20.本文的实施例描述了用于响应于(一条或多条)链路上的一个或多个预定状况(例如,链路故障)来切换多目的地流量的转发的技术。在一个实施例中,交换结构中的每个交换机可以使用将多目的地树映射到(一条或多条)上行链路端口的表,以用于交换机处的多目的地流量转发决定。在检测到交换机处的链路满足预定条件(或判据)时,交换机可以切换到具有(一条或多条)活动链路的新多目的地树。预定条件可以包括例如链路的故障、链
路质量低于或高于阈值、链路质量在阈值的边界(或范围)内或边界(或范围)外、链路质量在基于算术逻辑单元(alu)的阈值组合内等。这样做可以大大减少当链路满足特定判据时(例如,链路发生故障)交换结构内的收敛时间,因为交换机可以实现局部收敛,而无需等待通过控制平面的收敛。另外,通过使用本文提出的技术切换多目的地树,实施例可以解决死锁场景(例如,存在恒定阈值和零速率的情况)。
21.注意,尽管参考脊叶架构讨论了以下许多实施例,但是本文讨论的技术不限于脊叶架构。所述技术可以扩展到其中接入网络设备经由多个核心网络设备彼此通信的任何网络架构,该多个核心网络设备在两个接入网络设备之间的数据流可以采用的路径方面提供冗余。
22.图1a和1b示出了根据一个实施例的包括叶脊交换结构130的示例网络架构100。如图所示,网络架构100包括多个脊交换机104 1

n(也称为核心网络交换机)和多个叶交换机108 1

m(也称为接入网络交换机),其中每个叶交换机108连接至每一个脊交换机104。脊交换机104 1

n一起通常被称为叶脊交换结构130的脊。
23.网络架构100还包括耦合到叶交换机108 1

m中的一个或多个的节点120 1

k。每个节点120可以包括服务器、虚拟机、软件应用程序等。在一些实施例中,每个节点120使用叶脊交换结构130与另一节点120通信,以在节点之间路由数据流。在一些实施例中,每个节点120可以使用叶脊交换结构130与另一节点(例如,在另一个站点或数据中心中)通信,以经由网络140(例如,互联网)路由数据。通常,控制器102是中央实体,其管理和配置叶脊交换结构130中的叶交换机和脊交换机的每一个上的策略。除了转发数据平面流量之外,网络140还可以在控制器102和叶脊交换结构130之间转发管理或控制平面流量。
24.在一些实施例中,网络架构100可以被实现为以思科应用为中心的基础设施(aci)或软件定义的网络(sdn)。思科aci交换结构包括类似于图1a和1b中所示的叶脊交换结构130的叶脊架构。从管理的角度来看,aci交换结构的中央控制器102(例如sdn控制器)(也称为应用程序策略基础设施控制器(apic))管理和配置aci交换结构中每个交换机上的策略。apic充当所有策略的中央存储库,并具有基于网络性能(根据需要)快速部署和重新部署硬件的能力。
25.思科aci还可以用作在数据中心或云环境内执行的其他服务的平台。例如,通过使用中央控制器102,可以集成第三方服务以用于高级安全性、负载平衡和监视。注意,aci仅用作示例。本文的实施例不限于此,并且可以与任何其他合适的sdn平台一起使用。
26.如所指出的,网络架构100可以支持源与多个目的地之间的多目的地流量。作为示例,多目的地流量可以包括租户多播流量、广播流量(例如,地址解析协议(arp)/免费arp(garp)流量)和未知的单播流量(例如,用于端点学习、转发到静默主机等)。网络设备(例如,脊交换机104、叶交换机108等)通常使用多目的地树来确定多目的地流量转发目的地。在一个实施例中,多目的地树可用于对交换结构内的多目的地流量进行负载平衡。
27.每个多目的地树都与唯一的多目的地树标签关联。入口网络设备(例如,入口叶交换机108或入口脊交换机104)在转发流量时将多目的地树标签分配给多目的地流量。作为参考示例,假设叶交换机108

1是接收多目的地流量的入口网络设备。即,叶交换机108

1可以从节点120接收要经由交换结构130传输到多个目的地节点120的消息(例如,(一个或多个)分组)。在该示例中,叶交换机108

1可以在将消息转发到脊(例如,脊104之一)时将多目
的地树标签分配给该消息。接收消息的脊104和/或任何中间叶交换机108进而沿着与多目的地树标签相关联的多目的地树转发消息。在一个实施例中,可以将多目的地树标签分配给消息,作为目的地多播地址的一部分。
28.在本文的实施例中,每个多目的地树可以根植于脊交换机104之一上。作为示例,图2示出了具有三个多目的地树a、b和c的脊叶交换结构130。在所描述的示例中,脊交换机104

1是多目的地树a和b的根节点,脊交换机104

2是多目的地树c的根节点。每个叶交换机108

1至108

4可以直接(例如,如图2所示)或通过中间网络设备连接到每个多目的地树a、b、c。
29.控制器102通常负责将多目的地树的根放置在脊交换机104上,例如作为脊叶交换结构发现过程的一部分。作为放置的一部分,控制器102可以指定将在脊叶交换结构内使用的多目的地树的数量、多目的地树的根、多目的地树标签标识符等。控制器102通常负责在拓扑更改(例如,链路故障、交换机添加、交换机移除等)时重新配置多目的地树。但是,当交换结构中(例如,叶和脊之间)的链路出现故障(或通常满足预定条件,例如链路质量低于阈值)时,遍历故障链路的多目的地树的多目的地流量便是通往黑洞(black

holed)。这导致分组丢失,直到控制器102通过控制平面(例如,通过应用程序和/或软件修复)实现收敛为止。例如,控制器102(例如,在控制平面中)通常负责在整个脊叶交换结构中禁用与故障链路相关联的多目的地树。在此停机时间期间(例如,几百毫秒的量级),可能会丢弃若干分组,这降低了数据中心利用率,并严重影响了应用程序的性能。
30.这样,实施例提供了以下技术:允许交换结构中的每个交换机在检测到链路故障之后实现局部收敛,而无需等待来自控制平面的收敛。相比于通过控制平面实现的几百毫秒的收敛时间,本文提出的技术可以实现纳秒范围内的收敛时间。亚纳秒级的收敛使针对例如光纤通道(fc)、以太网上的光纤通道(fcoe)、聚合以太网(roce)上的远程直接存储器访问(rdma)之类的协议的无损操作成为可能。
31.实施例为每个网络设备(例如,叶交换机108、脊交换机104)配置树选择器110,该树选择器允许网络设备在检测到网络设备处的链路故障(或其他满足预定条件的链路状况)时独立选择不同的多目的地树。图1a示出了参考示例,其中每个叶交换机108

1至108

m配置有相应的树选择器110

1至110

m。图1b示出了另一参考示例,其中每个脊交换机104

1至104

n配置有相应的树选择器110

1至110

n。但是,通常,交换结构中的每个叶交换机和脊交换机都可以包括树选择器110。
32.图3示出了根据一个实施例的配置有树选择器110的示例网络设备300。在一个实施例中,网络设备300表示叶交换机(例如,图1a和1b所示的叶交换机108)。在一个实施例中,网络设备300表示脊交换机(例如,图1a和1b所示的脊交换机104)。
33.网络设备300包括处理器302、通信端口304和存储器306。处理器302可以是能够执行本文所述功能的任何处理元件。处理器302表示单个处理器、多个处理器、具有多个核心的处理器、及其组合。通信端口304促进网络设备300与其他网络设备(例如,脊交换机104、叶交换机108等)和/或节点120之间的通信。存储器306可以是易失性或非易失性存储器,并且包括ram、闪存、缓存、磁盘驱动器等。尽管被示为单个实体,但是存储器306可以被划分为不同的存储器存储元件,诸如ram和一个或多个硬盘驱动器。
34.如图所示,存储器306包括链路监视器308、转发组件310和树选择器110。链路监视
器308被配置为监视网络设备300与另一网络设备之间的链路以确定链路是否满足一个或多个预定条件(或判据)。例如,(一个或多个)条件(或判据)可以包括分组丢弃的数量超过阈值、链路故障(例如,链路断开)、链路质量低于或高于阈值、链路质量在阈值范围内或阈值范围外等。链路监视器308可以在网络设备300的(一个或多个)端口304上执行信号检测,以检测同步丢失(los)、分组丢失(或丢弃)(例如,由于校验和或循环冗余校验(crc)错误等)、受破坏(或断开)的链路等。在一些实施例中,如果链路监视器308确定网络设备300与另一网络设备之间的链路质量低于阈值,则链路监视器308可以确定链路已故障,并将对故障的指示发送给树选择器110(例如,以触发对另一多目的地树的选择)。
35.树选择器110通常被配置为在接收到网络设备300处的链路满足预定条件的指示之后,切换到新的多目的地树以转发多目的地流量。树选择器110包括多目的地树标签312、多目的地树表314和度量316。多目的地树标签312用于识别在网络设备300处可用的多目的地树。以图2为例,叶交换机108

1处的多目的地树标签312可包括多目的地树标签a、b和c。多目的地树表314包括多目的地树(对应于多目的地树标签312)和网络设备300处的(一个或多个)端口304之间的映射。在一个实施例中,网络设备300可以从控制器102接收多目的地树表314,例如,作为初始配置的一部分。在从链路监视器308接收到网络设备300处的链路满足预定条件的指示之后,树选择器110使用多目的地树表314来切换到另一多目的地树。在一些实施例中,树选择器110可以使用度量316来确定哪些可用的多目的地树被选择为新的多目的地树。度量316例如可以包括链路速度、链路利用率、错误率(例如,crc、runt等)、链路流量类型(例如,roce、以太网、fc、fcoe等)、链路介质(例如,电气、铜缆、光纤、空中或无线等)、流量速率、和/或队列占用率。转发组件310被配置为使用由树选择器110选择的多目的地树来发送多目的地流量。
36.在一些实施例中,多目的地树可以包括多个(上行)链路。举例来说,在叶交换机(例如,叶交换机108

1)处可用的多目的地树可包括朝向根脊交换机(例如,多目的地树所根植的脊交换机)的上行链路、朝向中转脊交换机(例如,在m拓扑的情况下)的上行链路、和/或朝向连接到另一个数据中心(例如,通过pod间(ipn)网络)的特殊脊交换机的上行链路。在这种情况下,叶交换机处的多目的地树表314可以包括相应的多目的地树的所有合格上行链路的状态。如果上行链路的子集或全部故障(或满足(一个或多个)预定条件),则树选择器110可以切换到另一多目的地树(例如,通过切换到不同的多目的地树标签312),该另一多目的地树的上行链路的子集或全部处于活动状态。树选择器110可以将与故障链路相关联的多目的地树的状态改变为“禁用”或“不活动”,以防止网络设备300使用该多目的地树,直到其(一条或多条)成员链路恢复为止。在一些实施例中,如果树选择器110不能找到合适的多目的地树(具有阈值数量的(一条或多条)活动链路),则树选择器110可以退回到保留或默认的多目的地树,该多目的地树具有预定义的活动的(一条或多条)“重要”上行链路。例如,在一个实施例中,假设网络设备300是叶交换机108,则可以将叶交换机108的“重要”上行链路预定义为利用ipn连接性将叶交换机108连接到脊交换机104的上行链路。
37.每个网络设备中的树选择器110独立于其他网络设备中的树选择器110。即,叶交换机108

1中的树选择器110

1可以基于叶交换机108

1中的多目的地树表切换到第一多目的地树,并且叶交换机108

2中的树选择器110

2可以基于叶交换机108

2中的多目的地树表切换到不同的第二多目的地树。通过使叶交换机交换结构中的每个网络设备都能做出独
立的决定来转发多目的地流量,在链路满足(一个或多个)预定条件的情况下,网络设备可以显著减少实现交换结构内的收敛的时间。
38.控制器102可以最初为每个网络设备300配置多目的地树表,并将多目的地树表发送到网络设备300。作为示例,图4a示出了根据一个实施例的其中叶交换机108

1至108

4分别配置有多目的地树表314

1至314

4的场景。在该示例中,各个叶交换机108处的每个多目的地树表314包括叶交换机108处的每个多目的地树的优先级和状态。注意,“优先级”和“状态”属性是可以包含在多目的地树表中的属性的参考示例,并且多目的地树表可以包含其他属性,例如树利用率、带宽等。如图4a所示,叶交换机108

1和108

4选择多目的地树c以用于转发多目的地流量;叶交换机108

2选择多目的地树a用于转发多目的地流量;叶交换机108

3选择多目的地树b以用于转发多目的地流量。
39.在一些实施例中,每个网络设备300可以主动地监视网络设备300处的(可用多目的地树的)所有链路,并且根据一个或多个度量316基于对(一条或多条)链路的评估来修改网络设备300处的多目的地树表。作文示例,图4a中的叶交换机108

1具有被配置为“第一”(例如,最高)优先级树的多目的地树c、被配置为“第二”优先级树的多目的地树b、以及被配置为“第三”(例如最低)优先级树的多目的地树c。在该示例中,叶交换机108

1可以基于诸如链路速度、链路利用率之类的度量316来改变多目的地树a、b和c的优先级。假设例如叶交换机108

1确定与多目的地树a相关联的链路比与多目的地树b相关联的链路具有更高的链路速度,叶交换机108

1可以将多目的地树a的优先级改变为“第二”,并将多目的地树b的优先级改变为“第三”。然而,通常,叶交换机108

1可以在确定一个或多个条件被满足(基于度量316)时改变任何多目的地树的优先级。
40.图4b示出了根据一个实施例的在检测到与链路相关联的(一个或多个)预定条件之后叶交换机(例如,叶交换机108

2)切换到不同的多目的地树以转发多目的地流量的示例场景。
41.在所描绘的场景中,叶交换机108

2是入口叶交换机(例如,叶脊交换结构的入口点)。例如,叶交换机108

2可以使用与多目的地树a相关联的链路402来转发从节点120(例如,租户)接收的多目的地流量(例如,一个或多个分组)。随后,叶交换机108

2检测到与链路402相关联的预定条件(例如,链路故障),并且使用多目的地树表314

2(在叶交换机108

2处)来选择另一多目的地树。这里,叶交换机108

2选择与多目的地树b相关联的链路404,多目的地树表314

2将该链路404指示为“第二”优先级多目的地树。叶交换机108

2还在多目的地树表314

2中将多目的地树a的状态从“活动”改变为“不活动”。
42.以这种方式,在链路故障或其他状况的情况下,实施例允许每个网络设备独立地实现局部收敛,而不会丢弃分组。例如,虽然交换结构中的每个网络设备都可以包括树选择器110,但是入口网络设备(最初接收给定的多目的地消息)可具有切换到不同的多目的地树以转发多目的地消息的唯一能力。结果,可能存在一些情况,其中入口网络设备认为不可用的同一多目的地树被另一(中间)网络设备认为可以使用。控制平面(例如,控制器102)可以被配置为确保在稳定状态下,从整个叶脊交换结构禁用多目的地树(其被入口网络设备认为不可用)。因此,通过允许可能是给定多目的地消息的入口网络设备的每个网络设备独立地切换用于转发该消息的多目的地树,实施例可以在不丢弃分组的情况下实现局部收敛,同时控制平面从整个交换结构移除禁用的多目的地树。
43.图5是根据一个实施例的用于选择多目的地树以用于转发多目的地流量的方法500的流程图。方法500可以由网络设备(例如,网络设备300、叶交换机108、脊交换机104等)执行。
44.方法500从框502开始,在框502中,网络设备接收多目的地分组。多目的地分组可以包括广播分组、多播分组或未知单播分组。在一个实施例中,网络设备是交换机交换结构(例如,叶脊交换结构130)的入口网络设备。在一个示例中,网络设备可以是入口叶交换机,其从租户(例如,节点120)接收多目的地分组。在另一示例中,网络设备可以是经由ipn网络从另一数据中心接收多目的地分组的入口脊交换机。
45.在框504处,网络设备确定网络内的一组多目的地树,该组多目的地树在网络设备处可用以转发多目的地分组。例如,网络设备可以基于从控制平面(例如,控制器102)接收到的多目的地树表(例如,多目的地树表314)来确定一组可用的多目的地树。
46.在框506处,网络设备针对网络设备处的每个多目的地树来确定网络设备与至少一个节点(例如,另一网络设备300)之间的(一条或多条)链路的状态。在一个实施例中,网络设备处的每个多目的地树可以具有到另一网络设备的多个链路。举例来说,假设叶交换机是网络设备,则叶交换机处的多目的地树可以包括以下各项中的至少一项:(1)朝向根脊交换机的上行链路、(2)朝向中转脊交换机的上行链路、以及(3)朝向具有ipn连接性的脊交换机的上行链路。
47.在框508处,网络设备基于所确定的网络设备与至少一个节点之间的(一条或多条)链路的状态来选择多目的地树。例如,在一个实施例中,网络设备可以选择具有最高数量的活动链路的多目的地树。在一个实施例中,网络设备可以选择具有更高优先级链路(例如,到具有ipn连接性的脊交换机的链路)活动的多目的地树。在一个实施例中,网络设备可以基于一个或多个度量316来选择满足预定条件的多目的地树。例如,网络设备可以确定相比于与第二多目的地树相关联的第二链路,与第一多目的地树相关联的第一链路具有更高的链路利用率。在该示例中,网络设备可以选择第二多目的地树以转发多目的地流量。在框510处,网络设备使用所选择的多目的地树来发送多目的地分组。
48.图6是根据一个实施例的用于切换多目的地树以转发多目的地流量的方法600的流程图。方法600可以由网络设备(例如,网络设备300、叶交换机108、脊交换机104等)执行。
49.方法600开始于框602,其中网络设备识别在网络设备处可用的第一多目的地树。在一些实施例中,第一多目的地树可以是网络设备当前正在用于转发在网络设备处接收到的多目的地流量的多目的地树。例如,第一多目的地可以是在网络设备处维护的多目的地树表(例如,多目的地树表314)中的最高优先级的多目的地树。在一些实施例中,第一多目的地树可以是网络设备当前未用于转发多目的地流量的多目的地树。例如,第一多目的地树可以是在网络设备处维护的多目的地树表中的较低优先级的多目的地树。
50.在604处,网络设备确定是否存在与第一多目的地树相关联的(一个或多个)链路状况。例如,(一个或多个)链路状况可以包括下述各项中的一项或多项:一个或多个链路故障(例如,los、断开的链路等)、链路质量低于或高于阈值(例如,(一条或多条)链路的信号强度低于阈值、以及(一条或多条)链路上的分组丢弃数量高于阈值等)。
51.如果没有发生链路状况,则该方法结束。另一方面,如果发生链路状况,则网络设备寻找另一个多目的地树以用于转发多目的地流量。如图所示,对于每个剩余的多目的地
树(例如,在网络设备处),网络设备确定该多目的地树是否满足一个或多个预定条件(框606)。在一个实施例中,一个或多个条件可基于多目的地树的优先级。例如,网络设备可以在网络设备处的多目的地表中选择下一个最高优先级的多目的地树。在一个实施例中,一个或多个条件可以基于度量316。例如,如果链路的速度(与给定的多目的地树相关联)高于阈值、链路利用率(与该给定的多目的地树相关联)低于阈值等,则网络设备可以选择该给定的多目的地树。
52.如果在框606处网络设备确定多目的地树不满足(一个或多个)条件,则网络设备评估下一多目的地树以确定该多目的地树是否满足(一个或多个)条件。另一方面,如果网络设备确定多目的地树确实满足(一个或多个)条件,则网络设备切换到多目的地树(框608)。在框610处,网络设备更新多目的地表。例如,网络设备可以将多目的地树表中的第一多目的地树的状态改变为“不活动”。
53.如果网络设备不能识别满足(一个或多个)条件的多目的地树(框606),则网络设备切换到默认的多目的地树(框612)。例如,在一个实施例中,默认的多目的地树可以是具有到具有ipn连接性的脊交换机的活动上行链路的多目的地树。
54.如所指出的,尽管实施例使用脊叶交换结构作为其中在链路故障的情况下网络设备可以切换多目的地转发目的地的示例网络架构,但是该技术可以扩展到其中接入网络设备通过多个核心网络设备彼此之间进行通信的任何网络架构,所述多个核心网络设备在两个接入网络设备之间的数据流可以采用的路径方面提供冗余。例如,可以将技术扩展到来自数据中心互连(dci)或pod间网络(ipn)的头端复制流量。在这些示例中,网络设备可以接收传入流量作为单播流量(例如,没有多目的地树标签),并且可以将其转换成多播流量以在给定的pod中分发。在此过程中,多目的地树标签可在上述链路可用性过程中被再次生成(例如,以应对网络设备之间的断开的链路)。
55.总之,在一实施例中,网络设备从第一节点接收多目的地分组,并使用用于网络设备的第一多目的地树将多目的地分组中的至少第一个转发到另一网络设备。网络设备检测与第一多目的地树相关联的链路满足一个或多个判据,并且响应于检测到该链路满足该一个或多个判据,选择用于网络设备的第二多目的地树。网络设备使用第二多目的地将多目的地分组中的至少第二个转发到该另一网络设备。
56.示例实施例
57.实施例1:一种计算机实现的方法,包括:在第一网络设备处,从第一节点接收多个多目的地分组;由所述第一网络设备使用所述第一网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到第二网络设备;由所述第一网络设备检测与所述第一多目的地树相关联的链路满足一个或多个判据;由所述第一网络设备响应于检测到所述链路满足所述一个或多个判据,选择所述第一网络设备处的第二多目的地树;并且由所述第一网络设备使用所述第二多目的地树将所述多个多目的地分组中的至少第二个转发到所述第二网络设备。
58.实施例2:根据实施例1的计算机实现的方法,还包括:由所述第一网络设备接收对以下各项的指示:(i)在所述第一网络设备处可用的多个多目的地树、以及(ii)与所述多个多目的地树中的每一个相关联的针对所述第一网络设备的多个链路。
59.实施例3:根据实施例1

2中任一项的计算机实现的方法,还包括:使用一个或多个
度量来评估与所述多个多目的地树中的每一个相关联的一个或多个链路。
60.实施例4:根据实施例1

3中任一项的计算机实现的方法,其中,所述一个或多个度量包括以下各项中的至少一项:(i)所述一个或多个链路中的每个链路的速度;(ii)所述一个或多个链路中的每个链路的利用率;(iii)所述一个或多个链路中的每个链路上的错误数量;(iv)所述一个或多个链路中的每个链路的队列占用率;(v)所述一个或多个链路中的每个链路的流量类型;(vi)所述一个或多个链路中的每个链路的链路介质;以及(vi)所述一个或多个链路中的每个链路的流量速率。
61.实施例5:根据实施例3

4中任一项的计算机实现的方法,其中,响应于检测到与所述第一多目的地树相关联的链路满足所述一个或多个判据,评估与所述多个多目的地树中的每一个相关联的所述多个链路中的每一个;并且基于所述评估,从所述多个多目的地树中选择第二多目的地树。
62.实施例6:根据实施例3

5中任一项的计算机实现的方法,还包括:由所述第一网络设备基于所述评估来更新所述多个多目的地树中的至少一个的优先级。
63.实施例7:根据实施例1

7中任一项的计算机实现的方法,其中,所述一个或多个判据包括以下至少一项:链路故障、链路质量低于阈值。
64.实施例8:一种网络设备,包括:处理器;以及包含程序的存储器,所述程序在由所述处理器执行时执行操作,所述操作包括:从第一节点接收多个多目的地分组;使用所述网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到另一网络设备;检测与所述第一多目的地树相关联的链路满足一个或多个判据;响应于检测到所述链路满足所述一个或多个判据,选择所述网络设备处的第二多目的地树;并且使用所述第二多目的地树将所述多个多目的地分组中的至少第二个转发到所述另一网络设备。
65.实施例9:根据实施例8的网络设备,所述操作还包括:接收对以下两项的指示:(i)在所述网络设备处可用的多个多目的地树、以及(ii)与所述多个多目的地树中的每一个相关联的用于所述网络设备的多个链路。
66.实施例10:根据实施例8

9中任一项的网络设备,所述操作包括:使用一个或多个度量来评估与所述多个多目的地树中的每一个相关联的一个或多个链路。
67.实施例11:根据实施例8

10中任一项所述的网络设备,其中,所述一个或多个度量包括以下各项中的至少一项:(i)所述一个或多个链路中的每个链路的速度;(ii)所述一个或多个链路中的每个链路的利用率;(iii)所述一个或多个链路中的每个链路上的错误数量;(iv)所述一个或多个链路中的每个链路的队列占用率;(v)所述一个或多个链路中的每个链路的流量类型;(vi)所述一个或多个链路中的每个链路的链路介质;以及(vi)所述一个或多个链路中的每个链路的流量速率。
68.实施例12:根据实施例10

11中任一项的网络设备,其中:响应于检测到与所述第一多目的地树相关联的链路满足所述一个或多个判据,评估与所述多个多目的地树中的每一个相关联的所述多个链路中的每一个;并且基于所述评估,从所述多个多目的地树中选择所述第二多目的地树。
69.实施例13:根据实施例10

12中任一项的网络设备,所述操作还包括:基于所述评估,更新所述多个多目的地树中的至少一个的优先级。
70.实施例14:根据实施例8

13中任一项的网络设备,其中,所述一个或多个判据包括
以下至少一项:链路故障、链路质量低于阈值。
71.实施例15:一种包括计算机程序代码的计算机可读介质,所述计算机程序代码在由一个或多个处理器执行时执行操作,所述操作包括:由第一网络设备从第一节点接收多个多目的地分组;由所述第一网络设备使用所述第一网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到第二网络设备;由所述第一网络设备检测与所述第一多目的地树相关联的链路满足一个或多个判据;由所述第一网络设备响应于检测到所述链路满足所述一个或多个判据,选择所述第一网络设备处的第二多目的地树;并且由所述第一网络设备使用所述第二多目的地树将所述多个多目的地分组中的至少第二个转发到所述第二网络设备。
72.实施例16:根据实施例15的计算机可读介质,所述操作还包括:由所述第一网络设备接收对以下两项的指示:(i)在所述第一网络设备处可用的多个多目的地树,以及(ii)与所述多个多目的地树中的每一个相关联的针对所述第一网络设备的多个链路。
73.实施例17:根据实施例15

16中任一项的计算机可读介质,所述操作还包括:由所述第一网络设备使用一个或多个度量来评估与所述多个多目的地树中的每个相关联的一个或多个链路。
74.实施例18:根据实施例15

17中任一项的计算机可读介质,其中,所述一个或多个度量包括对以下各项中的至少一项:(i)所述一个或多个链路中的每个链路的速度;(ii)所述一个或多个链路中的每个链路的利用率;(iii)所述一个或多个链路中的每个链路上的错误数量;(iv)所述一个或多个链路中的每个链路的队列占用率;(v)所述一个或多个链路中的每个链路的流量类型;(vi)所述一个或多个链路中的每个链路的链路介质;以及(vi)所述一个或多个链路中的每个链路的流量速率。
75.实施例19:根据实施例17

18中任一项的计算机可读介质,其中:响应于检测到与所述第一多目的地树相关联的链路满足所述一个或多个判据,评估与所述多个多目的地树中的每一个相关联的所述多个链路中的每一个;并且基于所述评估,从所述多个多目的地树中选择所述第二多目的地树。
76.实施例20:根据实施例17

19中任一项的计算机可读介质,所述操作还包括:由所述第一网络设备基于所述评估来更新所述多个多目的地树中的至少一个的优先级。
77.实施例21:一种装置,包括:用于在第一网络设备处从第一节点接收多个多目的地分组的装置;用于由所述第一网络设备使用所述第一网络设备处的第一多目的地树将所述多个多目的地分组中的至少第一个转发到第二网络设备的装置;用于由所述第一网络设备检测与所述第一多目的地树相关联的链路满足一个或多个判据的装置;用于由所述第一网络设备响应于检测到所述链路满足所述一个或多个判据而选择所述第一网络设备处的第二多目的地树的装置;以及用于由所述第一网络设备使用所述第二多目的地树将所述多个多目的地分组中的至少第二个转发到所述第二网络设备的装置。
78.实施例22:根据实施例21的装置,还包括用于实现根据权利要求2

7中任一项的方法的装置。
79.实施例23:一种包括指令的计算机程序、计算机程序产品或计算机可读介质,所述指令在由计算机执行时使得所述计算机执行实施例1

7中任一项的方法的步骤。
80.在前面参考了在本公开中提出的实施例。然而,本公开的范围不限于特定描述的
实施例。相反,可以设想到所描述的特征和元素的任何组合,无论是否与不同的实施例相关,以实现和实践所设想的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或优于现有技术的优点,但是通过给定的实施例是否实现特定的优点并不限制本公开的范围。因此,除非在(一个或多个)权利要求中明确叙述,否则前述方面、特征、实施例和优点仅是说明性的,并且不被认为是所附权利要求的要素或限制。
81.如本领域技术人员将理解的,本文公开的实施例可以体现为系统、方法或计算机程序产品。因此,各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或结合软件和硬件方面的实施例的形式,这些方面在本文中通常都可以统称为“电路、“模块”或“系统”。此外,各方面可采取体现在其上体现有计算机可读程序代码的(一个或多个)计算机可读介质中体现的计算机程序产品的形式。
82.可以利用(一个或多个)计算机可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述各项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下各项:具有一根或多根电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd

rom)、光学存储设备、磁存储设备、或前述的任意合适组合。在本文的上下文中,计算机可读存储介质是可以包含或存储供指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。
83.计算机可读信号介质可以包括例如在基带中或作为载波的一部分的传播的数据信号,该传播的数据信号具有体现在其中的计算机可读程序代码。这样的传播信号可以采取多种形式中的任一种,包括但不限于电磁、光学或、其任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质的任何计算机可读介质,并且可以通信、传播或传输供指令执行系统、装置或设备使用或与其结合使用的程序。
84.体现在计算机可读介质上的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、rf等,或前述各项的任何适当的组合。
85.可以以一种或多种编程语言的任何组合来编写用于执行本公开各方面的操作的计算机程序代码,所述编程语言包括诸如java、smalltalk、c++之类的面向对象的编程语言,以及诸如“c”编程语言或类似编程语言的常规的过程编程语言。程序代码可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上且部分在远程计算机上、或完全在远程计算机或服务器上执行。在后一场景下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。
86.下面参考根据本公开中提出的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开的各方面。应理解的是,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或一个或多个框图框中指定的功能/动作的装置。
87.这些计算机程序指令还可以存储在计算机可读介质中,可以指导计算机、其他可
编程数据处理装置或其他设备以特定方式起作用,使得存储在计算机可读介质中的指令产生制造品,包括实现流程图和/或一个或多个框图框中指定的功能/动作的指令。
88.也可以将计算机程序指令加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或一个或多个框图框中指定的功能/动作的过程。
89.附图中的流程图和框图示出了根据各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图说明的每个框以及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实现。
90.鉴于前述内容,本公开的范围由所附权利要求书确定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1