用于网络交换机中的会话链路聚合解析的系统的制作方法
【技术领域】
[0001]下面的公开一般涉及解析链路聚合方案中的链路。
【背景技术】
[0002]链路聚合方案(例如,以太信道)通过将一组物理网络接口归并到逻辑链路聚合(LAG)中提供了用于容错、负载均衡和可扩展带宽的弹性机制。逻辑链路上的流量响应于系统事件而在稳态中被均匀分布并被动态调整,以避免流量极化和流量黑洞,否则它们将抵消链路聚合的主要益处。
[0003]尽管动态负载分布对于应对链路故障和操作变化来说是至关重要的,但是相应的硬件重新编程对大规模园区和数据中心交换机设计强加了重大挑战。随着交换机系统中端口数目的增加,计算负载和硬件重新编程的频率均呈指数增长,从而对链路聚合方案的可靠性和系统响应性产生了不利影响。
【附图说明】
[0004]图1示出了采用链路聚合的网络交换机系统的示例的框图。
[0005]图2是示出了用于采用链路聚合的网络交换机系统中的会话解析的示例处理的流程图。
[0006]图3A和3B是网络交换机系统的图示,其示出了用于会话解析的处理。
[0007]图4是示出了用于处理采用会话解析的网络交换机系统中的事件更新的示例处理的流程图。
【具体实施方式】
[0008]概述
[0009]—些实现方式提供了包括以下各项操作的方法:(i)接收计算机网络内的逻辑链路聚合(LAG)的列表,该列表标识了与每一 LAG相关联的单一物理出口端口 ;(ii)接收数据单元;(iii)标识该数据单元被寻址到该逻辑链路聚合的列表中所包括的远程LAG ; (iv)与该远程LAG建立连接;(v)从控制平面下载描述该远程LAG的详细数据,该详细数据包括与该远程LAG相关联的多个可用物理出口端口的列表,以及;(vi)在下载了详细数据后,SP将详细数据合并到与标识该远程LAG的条目相关联的LAG的列表中。
[0010]示例实施例的详细描述
[0011]网络交换机系统可包括通过逻辑结构进行互连的多个设备。网络交换机系统中所包括的每个设备可包括一个或多个物理端口,比如,以太网链路。然而,设备中所包括的每个物理端口通常会受限于给定带宽(例如,10Mbit/s、100Mbit/s、或1000Mbit/s)。为增加网络通信信道的带宽,网络交换机系统可在逻辑上将该网络交换机系统中所包括的一个或多个设备上的物理端口聚合在一起。换句话说,网络交换机系统可将多条物理网络链路分配给单一通信信道,从而向通信信道提供比单一物理网络链路所能提供的更大的可用带宽。当被网络交换机系统实现时,链路聚合对于通过所建立的通信信道进行通信的应用而言能够是透明的。
[0012]网络交换机系统内的、接收给定数据单元(例如,分组)的设备可被称为入口设备,而向其下一目的地发送给定数据单元的设备可被称为出口设备。网络交换机系统内的任何设备既可以是入口设备也可以是出口设备,这取决于该设备是将数据单元接收进网络交换机系统中还是经数据单元发送出网络交换机系统。当入口设备通过它的端口之一接收给定数据单元时,入口设备可分析该数据单元以确定其接收者。然而,当网络交换机系统内的出口设备利用链路聚合时,给定接收者可以与一个或多个出口设备中所包括的多个物理端口相关联。因此,入口设备必须能够解析应当将该数据单元发送至多个物理端口中的哪个物理端口,这一处理被称为链路聚合解析。
[0013]下面的描述将从以太信道链路聚合方案的角度来描述链路聚合解析的系统和处理。然而,所描述的系统和处理还适用于其他链路聚合方案(例如,IEEE 802.3ad、IEEE802.1AX、多链路中继、或绑定驱动器)。
[0014]图1示出了使用链路聚合的网络交换机系统的示例的框图。网络交换机系统100包括入口设备102、103和104,控制平面105,结构110和出口设备115和116。在模块化交换机设计(例如,Cisco Cat6500)中,网络交换机系统100中所包括的设备可被实现为例如,线卡。在数据中心或云交换机架构中,网络交换机系统100中所包括的设备可被实现为例如,分布式架顶交换机或结构专用集成电路(ASIC) ο可附加地或可替代地,网络交换机系统100中所包括的设备可被实现为任何包括一个或多个物理端口的网络交换机设备。
[0015]入口设备102、103和104中的每一个分别包括端口 P1、P2和P3。尽管入口设备102、103和104被示为具有单一端口,但是入口设备102、103和104可包括多个端口。出口设备 115 包括端口 Ρ4/1、Ρ4/2、Ρ4/3 和 P4/4。出口设备 116 包括端口 P5/1、P5/2、P5/3 和P5/4。出口设备115和116中所包括的端口被示为根据链路聚合方案被聚合到链路聚合群组(LAG)PO-l、P0-2、和 P0-3 中。
[0016]具体来说,LAGPO-1 包括出口设备 115 的端口 P4/1、P4/2、和 P4/3。LAG P0-2 包括出口设备115的端口 P4/4和出口设备116的端口 P5/1。LAG P0-3包括出口设备116的端口 P5/2、P5/3、和P5/4。如上面所描述的,LAG P0_1、P0_2、和P0-3中的每一个表示与单一逻辑地址(例如,单一 MAC地址和/或单一 IP地址,这取决于链路聚合方案所运行于的网络层)相关联的单一通信信道。因此,LAG中所包括的每一端口被连接到单一计算设备或逻辑目的地,以便于寻址到该计算设备或逻辑目的地的数据单元可通过该LAG中所包括的任何一个端口来发送。
[0017]取决于链路聚合方案,出口设备115和116可包括更多或更少的端口,并且这些端口可被归并到更多或更少的LAG中。另外,为了易于解释,入口设备102、103、和104以及出口设备115和116被论述为入口设备和出口设备。入口设备102、103、和104以及出口设备115和116既可作为入口设备又可作为出口设备。因此,尽管所示出的是仅将出口设备115和116中所包括的端口归并到LAG中,但是在入口设备102、103、和104充当出口设备时,也可将入口设备102、103、和104中所包括的端口归并到LAG中。因此,下面将要描述的会话端口解析的处理可以在相反的方向上应用,其中入口设备102、103、和104充当出口设备,并且端口 P1、P2、和P3被聚合到LAG中。
[0018]控制平面105实现链路聚合方案。例如,当链路聚合方案是以太信道方案时,控制平面105被配置为创建并维护包括会话信息的LAG表,该会话信息用于解析给定LAG中所包括的出口设备的哪一端口应当被用于发送由入口设备接收的数据单元。控制平面105可以不以同的逻辑格式或数据结构组织LAG表。例如,控制平面105可将LAG表组织为采用表130的形式的数据库。然后,控制平面105可将LAG表的全部或一部分分布到网络交换机系统100中所包括的一个或多个入口设备,以便于该一个或多个入口设备能够基于该LAG表解析LAG端口。
[0019]当链路聚合方案是以太信道方案时,控制平面105可被配置为开发LAG表,该LAG表根据映射函数,将进入的数据单元映射到出口设备的具体端口。在以太信道方案中,映射函数可以包括流哈希(flow hash,FH)函数,流哈希函数将所接收的数据单元中所包括的信息转化成整数。在一些实现方式中,例如,流哈希函数可将所接收的数据单元的帧头部所包括的信息和关于所接收的数据单元的有效负载的信息转化成零到七之间的整数。LAG表可相应地包括会话信息,该会话信息将流哈希函数的整数输出映射到LAG中所包括的出口设备的口。
[0020]例如,如表130所示,LAG P0-1中所包括的每个物理端口( S卩,P4/UP4/2、和P4/3)物理端口与流哈希函数的一个或多个输出相关联。因此,当网络交换机系统100中所包括的入口设备接收到需要被发送至附着到LAG PO-1的计算设备的数据单元时,该入口设备可从所接收的数据单元中提取信息,并且基于所提取的信息执行流哈希函数。流哈希函数的输出可以是例如在零和七之间的整数。基于对所接收的数据单元应当被传送到的LAG的标识和流哈希函数的输出,入口设备可使用由控制平面105所准备的表130来确定所接收的数据单元应当被传送至经标识的LAG中所包括的哪一端口。
[0021 ] 例如,如表130所示,当LAG