本公开中提出的实施例总体上涉及通信网络,并且更具体地涉及用于响应于检测到与链路相关联的一个或多个状况(例如,链路故障)而切换多目的地流量的转发的技术。
背景技术:
1、数据中心交换结构可以与使用各种类型架构管理一组交换机的本地站点控制器一起部署。为了克服旧式网络架构的一些局限性,开发了一种示例数据中心设计,称为基于网络的脊叶架构。此架构已被证明可以提供高带宽、低延迟和无阻塞的服务器到服务器连接。在此架构中,每个下层交换机(叶层)以全网状拓扑连接到顶层交换机(脊层)中的每一者。叶层由连接到诸如服务器之类的设备的接入交换机组成。脊层是网络的骨干,负责互连所有叶交换机。
2、脊叶架构通常支持源与一个或多个目的地之间的单播和多目的地流量。单播流量是指从一个源路由到一个目的地的网络流量。多目的地流量是指路由到两个或多个目的地的流量,通常构成当今数据中心交换结构中的主要流量。例如,多目的地流量可以包括广播流量(例如,发送到网络上所有设备的流量)、多播流量(例如,发送到网络上多个选定地址的流量)和未知单播流量(例如,发送的目的地地址未知的单播流量)。
3、数据中心交换结构还可能容易受到链路故障的影响,链路故障可以周期性地、间歇地或永久地发生在交换机中,并导致交换结构中多目的地流量的暂时中断。考虑到多目的地流量构成了当今交换结构中的主要流量,这种中断会严重影响数据中心交换机之间的网络性能。
技术实现思路
1、根据本发明的一个方面,提供了一种计算机实现的方法,包括:由第一网络设备检测与第一多目的地树相关联的链路满足一个或多个判据,其中,所述第一多目的地树是在所述第一网络设备处可用的多个多目的地树中的一个多目的地树;响应于检测到所述链路满足所述一个或多个判据:由所述第一网络设备使用一个或多个度量来评估与所述多个多目的地树中的每一个相关联的多个链路;由所述第一网络设备基于所述评估,从所述多个多目的地树中选择第二多目的地树;以及在所述第一网络设备处修改所述第一多目的地树的状态以防止至少第二网络设备使用所述第一多目的地树。
2、根据本发明的又一方面,提供了一种网络设备,包括:处理器;以及包含程序的存储器,所述程序在由所述处理器执行时执行操作,所述操作包括:检测与第一多目的地树相关联的链路满足一个或多个判据,其中,所述第一多目的地树是在所述网络设备处可用的多个多目的地树中的一个多目的地树;响应于检测到所述链路满足所述一个或多个判据:使用一个或多个度量来评估与所述多个多目的地树中的每一个相关联的多个链路;基于所述评估,从所述多个多目的地树中选择第二多目的地树;以及在所述网络设备处修改所述第一多目的地树的状态以防止至少另一网络设备使用所述第一多目的地树。
3、根据本发明的另一方面,提供了一种包括计算机程序代码的计算机可读介质,所述计算机程序代码在由一个或多个处理器执行时执行操作,所述操作包括:由第一网络设备检测与第一多目的地树相关联的链路满足一个或多个判据,其中,所述第一多目的地树是在所述第一网络设备处可用的多个多目的地树中的一个多目的地树;响应于检测到所述链路满足所述一个或多个判据:由所述第一网络设备使用一个或多个度量来评估与所述多个多目的地树中的每一个相关联的多个链路;由所述第一网络设备基于所述评估,从所述多个多目的地树中选择第二多目的地树;以及在所述第一网络设备处修改所述第一多目的地树的状态以防止至少第二网络设备使用所述第一多目的地树。
1.一种计算机实现的方法,包括:
2.根据权利要求1所述的计算机实现的方法,还包括:由所述第一网络设备从控制器接收所述多个多目的树的指示。
3.根据权利要求2所述的计算机实现的方法,其中,在通过所述控制器从所述多个多目的树移除所述第一多目的树之前修改所述第一多目的树的状态。
4.根据权利要求1所述的计算机实现的方法,其中,在所述第一网络设备处修改所述第一多目的地树的状态包括将所述状态从活动状态改变为不活动状态。
5.根据权利要求1所述的计算机实现的方法,其中:
6.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个度量包括以下各项中的至少一项:(i)所述多个链路中的每个链路的速度;(ii)所述多个链路中的每个链路的利用率;(iii)所述多个链路中的每个链路上的错误数量;(iv)所述多个链路中的每个链路的队列占用率;(v)所述多个链路中的每个链路的流量类型;(vi)所述多个链路中的每个链路的链路介质;以及(vi)所述多个链路中的每个链路的流量速率。
7.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个判据包括以下至少一项:链路故障、链路质量低于阈值。
8.一种网络设备,包括:
9.根据权利要求8所述的网络设备,所述操作还包括:从控制器接收所述多个多目的树的指示。
10.根据权利要求9所述的网络设备,其中,在通过所述控制器从所述多个多目的树移除所述第一多目的树之前修改所述第一多目的树的状态。
11.根据权利要求8所述的网络设备,其中,在所述网络设备处修改所述第一多目的地树的状态包括将所述状态从活动状态改变为不活动状态。
12.根据权利要求8所述的网络设备,其中:
13.根据权利要求8所述的网络设备,其中,所述一个或多个度量包括以下各项中的至少一项:(i)所述多个链路中的每个链路的速度;(ii)所述多个链路中的每个链路的利用率;(iii)所述多个链路中的每个链路上的错误数量;(iv)所述多个链路中的每个链路的队列占用率;(v)所述多个链路中的每个链路的流量类型;(vi)所述多个链路中的每个链路的链路介质;以及(vi)所述多个链路中的每个链路的流量速率。
14.根据权利要求8所述的网络设备,其中,所述一个或多个判据包括以下至少一项:链路故障、链路质量低于阈值。
15.一种包括计算机程序代码的计算机可读介质,所述计算机程序代码在由一个或多个处理器执行时执行操作,所述操作包括:
16.根据权利要求15所述的计算机可读介质,所述操作还包括:由所述第一网络设备从控制器接收所述多个多目的树的指示。
17.根据权利要求16所述的计算机可读介质,其中,在通过所述控制器从所述多个多目的树移除所述第一多目的树之前修改所述第一多目的树的状态。
18.根据权利要求15所述的计算机可读介质,其中,在所述第一网络设备处修改所述第一多目的地树的状态包括将所述状态从活动状态改变为不活动状态。
19.根据权利要求15所述的计算机可读介质,其中:
20.根据权利要求15所述的计算机可读介质,其中,所述一个或多个度量包括以下各项中的至少一项:(i)所述多个链路中的每个链路的速度;(ii)所述多个链路中的每个链路的利用率;(iii)所述多个链路中的每个链路上的错误数量;(iv)所述多个链路中的每个链路的队列占用率;(v)所述多个链路中的每个链路的流量类型;(vi)所述多个链路中的每个链路的链路介质;以及(vi)所述多个链路中的每个链路的流量速率。