冗余非循环路径的制作方法

文档序号:7994234阅读:359来源:国知局
冗余非循环路径的制作方法
【专利摘要】一种示例方法包括:创建通往多个交换机的多个冗余非循环路径;和向多个交换机提供关于多个冗余非循环路径的信息。该方法进一步包括:将多个客户端中的每个分配给所述多个冗余非循环路径中的一个;和向多个交换机提供关于多个客户端中的每个客户端被分配给多个冗余非循环路径中哪个冗余非循环路径的信息。然后,响应于接收来自多个客户端中的客户端的分组,该方法包括:至少部分地基于所述客户端被分配给多个冗余非循环路径中哪个冗余非循环路径,在多个冗余非循环路径中的一个上向多个交换机中的一个传送分组。
【专利说明】冗余非循环路径

【背景技术】
[0001]在联网技术空间中,存在在源设备和目的设备之间传送的各种分组。最常见类型的分组是单播分组,单播分组是被送往单个设备的分组。其它类型的分组包括广播分组、多播分组及未知目的地址分组。广播分组是被送往网络中所有设备的分组。多播分组是被送往网络中一组目的设备的分组。此外,如名字所表示的,未知目的地址分组是设备(例如,交换机)当前不知道目的地址的分组。如下面更详细地描述的,经常与典型的单播分组不同地处理广播分组、多播分组以及未知目的地址分组,例如通过目前的交换机网格化(switch meshing)方法所展示的。

【专利附图】

【附图说明】
[0002]在下面的【具体实施方式】中并且参考附图,描述示例实施例,其中:
[0003]图1描绘根据实施例的系统;
[0004]图2描绘根据另一实施例的过程流程图;
[0005]图3描绘根据再一实施例的系统;
[0006]图4描绘根据又一实施例的过程流程图;
[0007]图5描绘根据实施例的网格交换机的框图。

【具体实施方式】
[0008]交换机网格化是一种交换技术,该交换技术将多个交换机联接在一起以形成网格化交换机域(meshed switch domain)。该网格化交换机域提供源设备和目的设备之间的多个交换机路径,因此允许对不同分组使用不同交换机路径。例如,发源设备(例如,工作站)可以利用遍历网格化交换机域中的交换机1、2和5的第一路径来向目的设备(例如,服务器)传送单播分组,并且随后利用遍历该网格化交换机域中的交换机1、3、4和5的第二路径来向相同目的设备传送另一单播分组。利用第一路径或第二路径的决定可以基于各种条件,如交换机的状态、路径的状态和/或所发送的分组的内容。
[0009]具体关于网格化交换机域中的广播分组、多播分组及未知目的地址分组,目前的交换机网格化方法利用穿过该网格化交换机域的单个路径,来向所有交换机传播所有广播分组、多播分组及未知目的地址分组。此单个路径在一个交换机处开始并且遍历该网格化交换机域中的每个其它交换机。这使交换机能够有效地通过单个路径向该网格化交换机域中的每个其它交换机分发进入的广播分组、多播分组和/或未知目的地址分组。然而,此方法的潜在问题是该单个路径中的段(segment)可能发生故障,结果直到该路径被重建,该交换机才能够传送广播分组、多播分组和/或未知目的地址分组。这会引起传播延迟及拥塞,这在特定环境中可能是无法接受的。另一潜在问题是交换机可能在短的一段时间内难于应付大量广播分组、多播分组和/或未知目的地址分组。结果,由于所有分组必须经由单个路径输出,所以可能形成瓶颈。此瓶颈可能产生传输延迟,传输延迟如上面提到的那样可能在特定环境中是不可接受的。
[0010]本文描述的各实施例,通过对在网格交换环境中分发广播分组、多播分组和未知目的地址分组提供新颖的和以前未预见到的方法,至少解决上述问题。更准确地,各实施例将客户端分配给该网格化交换机域中不同的冗余非循环路径,以便以平衡且可靠的方式分发广播分组、多播分组和/或未知目的地址分组。此外,各实施例利用算法来在该网格化交换机域中的各冗余非循环路径之间以可靠且平衡的方式分发广播分组、多播分组和/或未知目的地址分组。
[0011]在一个示例实施例中,提供一种方法。该方法包括:创建通往多个交换机的多个冗余非循环路径;以及向多个交换机提供关于多个冗余非循环路径的信息。该方法进一步包括:将多个客户端中的每个客户端分配给多个冗余非循环路径中的一个冗余非循环路径;以及向多个交换机提供关于多个客户端中的每个客户端被分配给多个冗余非循环路径中哪个冗余非循环路径的信息。然后,响应于接收来自多个客户端中的客户端的分组,该方法包括:至少部分地基于该客户端被分配给多个冗余非循环路径中哪个冗余非循环路径,在多个冗余非循环路径中的一个冗余非循环路径上将该分组传送至多个交换机中的一个交换机。
[0012]在另一实施例中,提供另一种方法。该方法包括:存储对进入的分组应用的算法;创建通往多个交换机的多个冗余非循环路径;向多个交换机提供关于多个冗余非循环路径的信息;以及向多个交换机提供关于多个附接客户端的信息。此外,该方法包括:接收来自多个附接客户端中的一个附接客户端的分组;将与该分组关联的信息应用至该算法,以产生转发结果;至少部分地基于该转发结果,选择多个冗余非循环路径中的一个冗余非循环路径;以及在多个冗余非循环路径中所选择的一个冗余非循环路径上传送该分组。
[0013]在又一实施例中,提供一种系统。该系统包括第一交换机和第二交换机。第一交换机被配置用于:存储对进入的分组应用的算法;向第二交换机提供关于多个冗余非循环路径及附接客户端的信息;将与所接收的分组关联的信息应用至该算法,以产生转发结果;至少部分地基于该转发结果,选择多个冗余非循环路径中的一个冗余非循环路径;以及在多个冗余非循环路径中所选择的一个冗余非循环路径上传送该分组。第二交换机被配置用于:存储对进入的分组应用的算法;存储关于多个冗余非循环路径及附接客户端的信息;接收在第一交换机处生成的分组;以及将与所接收的分组关联的信息应用至该算法,以产生第二转发结果,其中第二转发结果可以与第一转发结果相同。
[0014]图1描绘根据一个实施例的系统100。系统100包括多个交换机110 (每个具有多个端口 120)、多个客户端130以及多个段140。应当容易明白,图1中描绘的系统100代表概括说明,并且可以增加其它要素或可以移除、修改或重布置现有要素,而不脱离本公开的范围。
[0015]每个客户端130通常是被配置为可通信地连接至交换机110的计算设备。例如,客户端130可以是便携机、台式机、平板、服务器、工作站、存储设备、安全设备、无线接入点、无线控制器、智能电话、医疗器械、科学仪器、IP语音(VoIP)电话等等。客户端130可以利用无线和/或有线介质(例如,射频(RF)、光纤、同轴电缆、双绞线等)来与交换机110通信。在一些实现方式中,不属于该网格化交换机域的一部分的交换机可以是客户端和交换机110之间的中介。例如,客户端130可以与非网格交换机通信,非网格交换机接着与网格交换机110通信。
[0016]每个交换机110通常是计算机联网设备,其被配置用于:经由网络段140连接其它设备以及经由网络段140和关联的端口 120转发送往其它设备和来自其它设备的分组。此夕卜,每个交换机110被配置用于:存储转发表150以及至少部分地基于转发表150内的信息转发进入的分组。例如,图1中的交换机C可以是网格交换机,其被配置用于:接收来自客户端X和/或客户端Y的分组以及基于内部转发表150经由网络段140及关联的端口 120向网格交换机A、B或D传送分组。类似地,交换机C可以接收来自交换机A、B或D的分组,并且基于内部转发表150经由网络段140及关联的端口 120向客户端X或Y传送分组。
[0017]除上文之外且根据图1中描绘的实施例,每个网格交换机110可以被配置用于:(i)建立通往网格化交换机域中其它交换机110的多个冗余非循环路径,(ii)向该网格化交换机域中的其它交换机110分发关于所建立的路径的信息,(iii)将客户端130分配给所建立的路径,并且向该网格化交换机域中的其它交换机110通知该分配,以及(iv)利用所建立的路径来将进入的广播分组、多播分组和/或未知目的地址分组从客户端130传送至该网格化交换机域中的其它交换机110。下面参照图1更详细的描述这些功能中的每个。
[0018]对于(i)建立通往网格化交换机域中其它交换机的多个冗余非循环路径,图1中的交换机C可以例如建立将交换机C连接至交换机A、B和D中的每个交换机的三个冗余非循环路径(见图1中的路径1、2和3)。就每个路径类似地将交换机C连接至交换机A、B和D中的每个而言,这三个路径可以是冗余的,并且就每个路径未遍历交换机或网络段一次以上而言,这三个路径可以是非循环的。如所示,路径I可以将所接收的分组从交换机C上的端口 I传播至交换机A上的端口 2,以及将分组从交换机C上的端口 8传播至交换机D上的端口 7。然后,交换机A可以将所接收的分组从交换机A上的端口 3转发至交换机B上的端口 4。作为对照,路径2可以将分组从交换机C上的端口 I传播至交换机A上的端口 2,以及从交换机C上的端口 9传播至交换机B上的端口 11。交换机A响应于接收来自交换机C的分组,可以将分组从交换机A上的端口 10传播至交换机D上的端口 12。作为进一步对照,路径3可以将分组从交换机C上的端口 9传播至交换机B上的端口 11。然后,交换机B可以将所接收的分组从交换机B上的端口 4转发至交换机A上的端口 3,以及从交换机B上的端口 5转发至交换机D上的端口 6。
[0019]在交换机建立通往网格化交换机域中其它交换机的多个冗余非循环路径之后,交换机可以(ii)向该网格化交换机域中的其它交换机110分发关于路径的信息。例如,交换机C可以向交换机A、B和D提供关于路径1、2和3的信息。交换机C可以经由通知协议(例如,广播通知协议)提供关于路径的信息。所提供的信息可以例如包括:路径标识符(例如,“路径I ”)、利用此路径的分组的类型(例如,广播分组、多播分组及未知目的地址分组)、发源交换机标识符(例如,“交换机C,,)、发源交换机MAC地址(例如,12:34:56:78: ab: cd)、与该路径相关的进入端口标识符(例如,交换机A,端口 2)和/或外出端口标识符(交换机A,端口 3)。应注意,在一些实例中可能存在多个外出端口。例如,对于路径3,向交换机B提供的信息可以包括:路径标识符(例如,“路径3”)、利用此路径的分组的类型(例如,广播分组、多播分组及未知目的地址分组)、发源交换机标识符(例如,“交换机C”)、发源交换机MAC地址(例如,12:34:56:78: ab: cd)、与该路径相关的进入端口标识符(例如,交换机B,端口 11)和/或外出端口标识符(例如,交换机B,端口 4和端口 5)。当接收这样的信息时,每个交换机可以用此路径信息更新内部转发表150。例如且参照图1,交换机A可以从交换机C接收关于路径I的信息并且更新内部转发表150,以指示来自交换机C的被分配给路径I的广播分组、多播分组及未知目的地址分组应经由端口 3输出。类似地,交换机A可以从交换机C接收关于路径2的信息并且更新内部转发表150,以指示被分配给路径2的广播分组、多播分组和未知目的地址分组应当经由端口 10输出。更进一步,交换机A可以从交换机C接收关于路径3的信息并且更新内部转发表150,以指示被分配给路径3的广播分组、多播分组和未知目的地址分组不应当输出。
[0020]在交换机向网格化交换机域中的其它交换机110分发关于路径的信息之前或之后,该交换机可以(iii)将附接客户端分配至多个冗余非循环路径,并且将此分配告知其它交换机。例如,与交换机C附接的每个客户端可以被分配给由交换机C建立的多个冗余非循环路径中的一个冗余非循环路径。因此,参照图1,交换机C可以将客户端X分配给路径2,并且将客户端Y分配给路径I。结果,可以经由路径2向网格化交换机域中的其它交换机发送从客户端X产生的所有广播分组、多播分组和/或未知目的地址分组,并且可以经由路径I向该网格化交换机域中的其它交换机发送从客户端Y产生的所有广播分组、多播分组和/或未知目的地址分组。交换机C可以通过通知协议(例如,MAC通知协议)分发关于这些分配的信息。在通知消息收发中提供的信息可以例如包括:客户端标识符(例如,“客户端X”)、客户端MAC地址(例如,12:34:56:78: cd: 00)、所分配的路径(例如,路径2)和/或通过所分配的路径分发的分组的类型(例如,广播分组、多播分组及未知目的地址分组)。当接收此信息时,每个交换机可以用此分配信息更新内部转发表150。例如并参照图1,交换机A可以从交换机C接收指示客户端Y被分配给路径I且客户端X分配给路径2的信息。然后,交换机C可以更新其内部转发表150,以指示从交换机C发出的关于客户端Y的广播分组、多播分组和未知目的地址分组被分配给路径I。类似地,交换机A可以更新其内部转发表150,以指示从交换机C发出的关于客户端X的广播分组、多播分组和未知目的地址分组被分配给路径2。
[0021]此后,交换机llO(iv)利用所建立的路径,来根据它们各自的路径分配将来自客户端130的进入的广播分组、多播分组和/或未知目的地址分组传送至其它交换机110。例如,从客户端Y向交换机C发送的广播分组将在路径I上转发,使得其从交换机C上的端口I输出至交换机A上的端口 2并且从交换机C上的端口 8输出至交换机D上的端口 7。交换机A将接收该广播分组,并且基于其内部转发表150中的信息,将该广播分组从交换机A上的端口 3输出至交换机B上的端口 4。结果,所接收的来自客户端Y的广播分组将通过所分配的路径I被分发给交换机A、B和D中的每个交换机。更具体地,来自客户端Y的广播分组将被分发给交换机A、B和D中的每个交换机,而没有遍历相同链路一次以上且没有被相同的交换机接收一次以上(即,路径I是网格化交换机域中的非循环路径)。
[0022]由于来自各客户端的广播分组、多播分组和/或未知目的地址分组是在多个冗余非循环路径之间分发的,所以图1中图示的上面介绍的方法增强负载均衡。因此,如果多个客户端全部同时发送广播分组,则由于分组在多个路径之间分发(即,与经由单个路径分发分组的传统方法不同),所以不产生瓶颈。此外,在段发生故障的情况下,由于交换机可以立即将来自客户端的业务分配给另一路径(即,与等待该段被重建的传统方法不同),所以减轻延迟。例如,网格交换机可以响应于例如接收段/路径故障指示或未接收确认分组而确定与路径中的一个路径关联的段已发生故障。然后,该网格交换机可以继续迅速确定哪个客户端当前被分配给与发生故障的段关联的路径,并且确定每个客户端的替代路径。然后,交换机可以继续向网格化交换机域中的其它交换机分发关于新客户端路径分配的信息,并且如果需要则重转发分组。此后,响应于网格交换机接收或以其它方式确定该段/路径已被重建,交换机可以将客户端重新分配回其原始路径。
[0023]图2描绘根据实施例的过程流程图200。应当容易明白,图2(以及图4)中描绘的过程代表概括说明,并且可以增加其它过程或可以移除、修改或重置现有过程,而不脱离本公开的范围和精神。此外,应理解,这些过程可以代表引起与交换机110关联的计算机、处理器和/或逻辑设备进行响应、执行动作、改变状态和/或做出决定的可执行指令。因此,所描述的过程可以被实现为由与交换机110关联的计算机可读介质提供的可处理器执行指令和/或操作。此外,过程可以代表由像模拟电路、数字信号处理器电路、专用集成电路(ASIC)或与交换机110关联的其它逻辑设备这样的功能等效电路执行的功能和/或行为。图2不旨在限制所描述的实施例的实现方式,而相反【专利附图】
附图
【附图说明】功能信息,本领域技术人员可以使用该功能信息来设计/制造电路、生成软件或使用硬件和软件的结合执行所图示的过程。
[0024]该过程在框210处开始,此时网格交换机创建通往网格化交换机域中其它交换机的多个冗余非循环路径。该过程可以包括:交换机利用发现协议来识别网格化交换机域中的各交换机、端口和/或段;以及交换机至少部分地基于所检测的该信息创建多个冗余非循环路径。交换机可以将关于所创建的路径的信息存储在包括转发表的内部存储器中。此外,在框220处,交换机可以向该域中的其它交换机提供关于所创建的路径的信息。这可以包括:交换机向每个交换机通知与各交换机相关的路径,或者可替代地向所有交换机通知所有路径,使得每个交换机可以知道全部转发机制。如上面介绍的,这样的信息可以通过通知协议(例如,广播通知协议)进行分发,通知协议向其它交换机提供路径信息,如路径标识符(例如,“路径I”)、利用此路径的分组的类型(例如,广播分组、多播分组及未知目的地址分组)、发源交换机标识符(例如,“交换机C”)、发源交换机MAC地址(例如,12:34:56:78: ab: Cd)、与路径相关的进入端口标识符(例如,交换机A,端口 2)和/或外出端口标识符(例如,交换机A,端口 3)。
[0025]在框230处,交换机将客户端分配给路径。更准确地,交换机将全部附接客户端分配给在框210中建立的多个路径中的一个路径。此过程可以最初在交换机连接网格化交换机域时基于那时与该交换机附接的客户端被实施,以及未来在客户端附接至交换机时被实施。交换机可以将关于客户端分配的信息存储在内部转发表中,并且在框240处,交换机可以向该网格化交换机域中的其它交换机提供关于客户端分配的信息。交换机可以通过通知协议提供该信息,并且该信息可以例如包括:客户端标识符(例如,“客户端X”)、客户端MAC地址(例如,12:34:56:78: Cd:00)、所分配的路径(例如,路径2)和/或通过所分配的路径分发的分组的类型(例如,广播分组、多播分组及未知目的地址分组)。当接收此分配信息时,每个交换机可以更新内部转发表,使得每个交换机可以知道如何处理与每个客户端关联的分组。
[0026]在框250处,交换机可以接收来自客户端的分组。如果分组是广播分组、多播分组或未知目的地址分组,则交换机可以参考其内部转发表,并且在框260处,基于之前在框230中分配给客户端的路径传送分组。其它交换机可以接收广播分组、多播分组或未知目的地址分组,并且类似地参考其内部转发表并且如果需要则进行转发。
[0027]尽管图2中未绘出,但该过程可以进一步包括:交换机接收或以其它方式确定与路径中的一个路径关联的段已发生故障。响应于此事件,交换机可以继续确定哪个客户端被分配给与发生故障的段关联的路径,并且确定每个客户端的替代路径。然后,交换机可以继续向该网格化交换机域中的其它交换机提供关于新客户端路径分配的信息。此后,响应于交换机接收或以其它方式确定该段已被修复,交换机可以将客户端重新分配回其原路径。
[0028]应注意,上述参照图2描述的过程可以由网格化交换机域中的每个交换机实施。例如,上面描述的过程中的一个或多个可以由参照图1描述的交换机A-D中的一个或多个实施。
[0029]图3描绘根据另一实施例的系统300。应理解,图3中描绘的系统300代表概括的说明,并且可以增加其它要素或可以移除、修改或重置已有要素,而不脱离本公开的范围。
[0030]与图1中描绘的系统100类似,图3中的系统300包括多个交换机110 (每个具有多个端口 120)、多个客户端130以及多个段140。交换机110、端口 120、客户端130以及段主要地以与上面关于图1描述的相同方式操作。然而,区别的一个方面是:进入的广播分组、多播分组或未知目的地址分组被动态地分配给路径,而不是如关于图1介绍的那样基于客户端分配被预先地分配。更具体地,将与进入的广播分组、多播分组及未知目的地址分组关联的信息输入到算法(例如,哈希算法)中,并且结果被用于确定将分组分配给哪个路径。与进入的广播分组、多播分组及未知目的地址分组关联的信息可以包括:业务所达到的物理进入端口、源媒体接入控制(MAC)地址、目的MAC地址、源互联网协议(IP)地址、目的IP地址、IP协议字段、传输控制协议(TCP)源端口、用户数据报协议(UDP)源端口、TCP目的端口、UDP目的端口、优先级、差分服务代码点(DSCP)以及以太网类型(EtherType)。
[0031]例如,参照图3,交换机A、B、C和D可以商定并存储对所有进入的广播分组、多播分组及未知目的地址分组应用的哈希算法。当客户端Y向交换机C发送广播分组、多播分组或未知目的地址分组时,交换机C可以取得分组的内容并将其应用至哈希算法。例如,交换机C可以取得分组的源/目的MAC地址、以太网类型、IP协议以及源/目的IP地址的XOR0哈希结果可以是“P”,该“P”可以被映射/或索引至路径I。因此,基于交换机C的转发表150中的内容,交换机C可以将分组从交换机C上的端口 I转发至交换机A上的端口2,并且从交换机C上的端口 8转发至交换机D上的端口 7。交换机A和交换机D可以接收分组,并且类似地获得分组内的内容,并且将该内容应用至哈希算法。由于每个交换机中的哈希算法是相同的,所以交换机A和交换机D将获得与交换机C相同的哈希结果(即,哈希结果=“P” ),因此确定路径I应当被用于此分组。基于其转发表150,交换机A然后将分组从交换机A上的端口 3转发至交换机B上的端口 4。作为对照,由于交换机B和交换机D各自的转发表150指示对被分配给路径I的分组不应当实施转发,所以交换机B和交换机D将避免转发该分组。
[0032]应注意,上面在图3中提到的转发可以是基于流的,其中所有属于相同业务流或分组流的分组可以被分配给相同的路径。也就是说,来自客户端的属于相同流的分组序列将被分配给网格化交换机域中的相同路径。这可以通过将该流中的第一分组应用至所存储的算法并确定合适的路径来完成。此后,相同流中的所有分组将被分配给相同路径。作为对照,如果交换机接收来自客户端的属于两个不同流的分组,则存在与每个流的分组关联的信息的处理将产生不同哈希结果的统计可能,因此,这些流可以被分配给网格化交换机域中的不同路径。这可能是有益的,因为这些流在这些路径之间的分配可能提供更好的负载均衡,并且消除如果将这些流量分配给相同路径则可能产生的任何潜在瓶颈。
[0033]图4描绘根据实施例的过程流程图400。应当容易明白,图4中描绘的过程代表概括说明,并且可以增加其它过程或可以移除、修改或重布置现有过程,而不脱离本公开的范围和精神。
[0034]该过程在框410处开始,在这里,交换机存储对进入的广播分组、多播分组及未知目的地址分组应用的算法。特别地,网格化交换机域中的每个交换机存储相同的算法。这些算法可以通过该域中的各交换机之间的协商过程来确定,在该协商过程中选择每个交换机能够支持的共同算法。可替代地,该算法可以由单个交换机选择,其它交换机可以被指示存储和利用该算法。更进一步,该算法可以由控制设备确定,每个交换机可以被指示存储和利用该算法。如上面提到的,该算法可以是例如哈希函数,该哈希函数将来自进入的广播分组、多播分组及未知目的地址分组的内容直接地或间接地映射至多个路径中的一个。例如,该哈希函数可以将分组的源/目的MAC地址、以太网类型、IP协议和/或源/目的IP地址直接地或间接地映射至多个路径中的一个。
[0035]在框420处,交换机可以建立通往网格化交换机域中其它交换机的多个冗余非循环路径。此过程可以包括:交换机利用发现协议来识别该域中的各交换机、端口和/或段;以及至少部分地基于所检测的该信息创建多个冗余非循环路径。交换机可以将关于所创建的路径的信息存储在包括转发表的内部存储器中。然后,在框430处,交换机可以向该域内的其它交换机提供关于所创建的路径的信息。这可以包括:交换机向每个交换机通知与各自的交换机相关的路径或可替代地向所有交换机通知所有路径,使得每个可以知道整个转发机制。如上面介绍的,这样的信息可以通过通知协议(例如,广播通知协议)分发,通知协议可以向其它交换机提供路径信息,如路径标识符(例如,“路径I”)、利用此路径的分组的类型(例如,广播分组、多播分组及未知目的地址分组)、发源交换机标识符(例如,“交换机C”)、发源交换机MAC地址(例如,12:34:56:78:ab:cd)、与该路径相关的进入端口标识符(例如,交换机A,端口 2)和/或外出端口标识符(交换机A,端口 3)。
[0036]在框440处,交换机可以向网格化交换机域中的其它交换机提供关于其附接客户端的信息。例如,交换机可以利用MAC通知协议来向其它交换机通知各客户端位于该交换机上。此外,交换机可以向其它交换机通知具有这些客户端作为源MAC的广播分组、多播分组及未知目的地址分组应当在框430处提供的交换机路径中的一个上被转发。
[0037]此后,在框450处,交换机可以接收来自附接客户端的分组,并且在框460处,将分组的内容应用至所存储的算法。然后,至少部分地基于算法结果,交换机在多个冗余非循环路径中的一个上转发分组。此外,交换机在相同的路径上转发随后的属于相同流的分组。
[0038]上面提到的方法增强负载均衡,因为广播分组、多播分组和/或未知目的地址分组是在逐个流基础上动态转发的。因此,如果一个客户端正在发送属于不同流的大量广播分组,则这些分组可以在通过该网的各路径之间动态地分发。此外,如上面介绍的,上面提到的方法增强可靠性,因为如果广播路径中的段发生故障,则被分配给该路径的业务会被重新分配给其它路径中的一个,因此,减少被丢掉的业务和/或延迟。
[0039]现在转向图5,这里示出网格交换机110的框图,根据实施例,该网格交换机110可以用于执行上面描述的功能中的一个或多个。网格交换机110包括非瞬态计算机可读介质510、处理设备520、总线530以及通信接口 540。
[0040]非瞬态计算机可读介质510可以是存储机器可读指令的设备。例如,非瞬态计算机可读介质510可以对应于存储指令、代码、数据和/或其它信息的任意典型存储设备,并且可以是非易失性存储器、易失性存储器和/或一个或多个存储设备中的一种或多种。非易失性存储器的示例包括但不限于:电可擦除可编程只读存储器(EEPROM)以及只读存储器(ROM)。易失性存储器的示例包括但不限于:静态随机存取存储器(SRAM)以及动态随机存取存储器(DRAM)。存储设备的示例包括但不限于:硬盘驱动器、光盘驱动器、数字多用途光盘驱动器、光学设备以及闪存设备。
[0041]处理设备520可以是通常获取并执行在非瞬态计算机可读介质510中存储的指令的设备。例如,处理设备可以是中央处理单元(CPU)、处理器、微控制器等等。在一些实施例中,处理设备520可以通过总线530访问非瞬态计算机可读介质510。在其它实施例中,非瞬态计算机可读介质510可以与处理设备520集成在一起。
[0042]通信接口 540可以是交换机110中使交换机110能够与其它设备(例如,客户端和/或其它交换机)通信的一个或多个组件。例如,通信接口 540可以包括端口、接收器、发射器、收发器、PHY等等。
[0043]计算机可读介质510、处理设备520和/或通信接口 540可以彼此协作和/或与其它组件(例如,专用集成电路(ASIC))协作,以实施上面关于图1-4中描述的各种功能。例如,这些组件可以协作来(i)建立通往网格化交换机域中其它交换机的多个冗余非循环路径,(ii)向网格化交换机域中的其它交换机分发关于所建立的路径的信息,(iii)将客户端分配给所建立的路径并且向网格化交换机域中的其它交换机通知该分配,和/或(iv)利用所建立的路径来将来自客户端的进入广播分组、多播分组和/或未知目的地址分组传送至网格化交换机域中的其它交换机。此外,这些组件可以协作来(i)存储对进入的分组应用的算法,(ii)创建通往多个交换机的多个冗余非循环路径,(iii)向多个交换机提供关于多个冗余非循环路径的信息,(iv)向多个交换机提供关于多个附接客户端的信息,(v)接收来自多个附接客户端的分组,(vi)将与分组关联的信息应用至该算法,以产生转发结果,(vii)至少部分地基于转发结果,选择多个冗余非循环路径中的一个,和/或(viii)在多个冗余非循环路径中所选择的一个上传送分组。
[0044]已经关于上述示例性实施例示出和描述了本公开。然而应理解,不脱离在下面的权利要求中限定的本公开的精神和范围的情况下,可以做出其它形式、细节以及实施例。
【权利要求】
1.一种方法,包括: 创建通往多个交换机的多个冗余非循环路径; 向所述多个交换机提供关于所述多个冗余非循环路径的信息; 将多个客户端中的每个客户端分配给所述多个冗余非循环路径中的一个冗余非循环路径; 向所述多个交换机提供关于所述多个客户端中的每个客户端被分配给所述多个冗余非循环路径中哪个冗余非循环路径的信息; 接收来自所述多个客户端中的客户端的分组;以及 至少部分地基于所述客户端被分配给所述多个冗余非循环路径中哪个冗余非循环路径,在所述多个冗余非循环路径中的一个冗余非循环路径上向所述多个交换机中至少一个交换机传送所述分组。
2.根据权利要求1所述的方法,其中所述分组是广播分组、多播分组或未知目的地址分组。
3.根据权利要求1所述的方法,其中所述多个交换机中的每个交换机存储关于所述多个冗余非循环路径的信息,并且进一步存储关于所述多个客户端中的每个客户端被分配给所述多个冗余非循 环路径中哪个冗余非循环路径的信息。
4.根据权利要求1所述的方法,其中所述多个交换机是在网格化交换机域中操作的网格交换机。
5.根据权利要求1所述的方法,进一步包括:响应于确定所述多个冗余非循环路径中至少一个冗余非循环路径发生故障,向所述多个交换机提供关于所述多个客户端中的客户端被分配给所述多个冗余非循环路径中哪个冗余非循环路径的不同信息。
6.一种方法,包括: 存储对进入的分组应用的算法; 创建通往多个交换机的多个冗余非循环路径; 向所述多个交换机提供关于所述多个冗余非循环路径的信息; 向所述多个交换机提供关于多个附接客户端的信息; 接收来自所述多个附接客户端中一个附接客户端的分组; 将与所述分组关联的信息应用至所述算法,以产生转发结果; 至少部分地基于所述转发结果,选择所述多个冗余非循环路径中的一个冗余非循环路径;以及 在所述多个冗余非循环路径中所选择的一个冗余非循环路径上传送所述分组。
7.根据权利要求6所述的方法,其中所述算法是哈希算法。
8.根据权利要求6所述的方法,其中与所述分组关联的信息包括以下至少一种:业务所到达的物理进入端口、源媒体接入控制(MAC)地址、目的MAC地址、源互联网协议(IP)地址、目的IP地址、IP协议字段、传输控制协议(TCP)源端口、用户数据报协议(UDP)源端口、TCP目的端口、UDP目的端口、优先级、差分服务代码点(DSCP)以及以太网类型。
9.根据权利要求6所述的方法,其中所述分组是广播分组、多播分组或未知目的地址分组。
10.根据权利要求6所述的方法,进一步包括:接收第二分组;以及 如果所述第二分组属于与所述分组相同的业务流,则在所述多个冗余非循环路径中所选择的一个冗余非循环路径上传送所述第二分组。
11.根据权利要求6所述的方法,进一步包括: 在所述多个交换机中的一个交换机处接收所述分组; 将与所述分组关联的信息应用至所述算法,以产生第二转发结果; 至少部分地基于所述第二转发结果,选择所述多个冗余非循环路径中的一个冗余非循环路径;以及 在所述多个冗余非循环路径中所选择的一个冗余非循环路径上传送所述分组。
12.—种系统,包括: 第一交换机,用于 存储对进入的分组应用的算法, 向第二交换机提供关于多个冗余非循环路径和附接客户端的信息, 将与所接收的分组关联的信息应用至所述算法,以产生转发结果, 至少部分地基于所述转发结果,选择所述多个冗余非循环路径中的一个冗余非循环路径,和 在所述多个冗余非循环路径中所选择的一个冗余非循环路径上传送所述分组;以及 第二交换机,用于 存储所述对进入的分组应用的算法, 存储所述关于多个冗余非循环路径和附接客户端的信息, 接收在所述第一交换机处发出的所述分组,和 将与所接收的分组关联的信息应用至所述算法,以产生第二转发结果。
13.根据权利要求12所述的系统,其中所述第一交换机和所述第二交换机是在网格化交换机域中操作的网格交换机。
14.根据权利要求12所述的系统,其中第一转发结果和所述第二转发结果被映射至所述多个冗余非循环路径。
15.根据权利要求12所述的系统,其中所述算法是哈希算法。
【文档编号】H04L12/46GK104081727SQ201280068483
【公开日】2014年10月1日 申请日期:2012年1月30日 优先权日:2012年1月30日
【发明者】马克·古奇, 肖恩·瓦库莫托 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1