用于在多个交换机中使用的扩展的链路聚合(lag)的制作方法_3

文档序号:9221935阅读:来源:国知局
道的能够控制交换机310的不同应用,比如Beacon、Jaxon、NOX、POX、Maestro等。
[0041]在服务器302设立LAG组时,服务器302向将与之设立LAG组的所有交换机310 (如图3中所示,交换机1、交换机2或者交换机3)发送请求。然后,这些交换机310向交换机控制器306转发LAG请求。对于任何附加LAG组,服务器302可以向将与之设立LAG组的其它交换机310发送出附加请求。
[0042]交换机控制器306对由不同交换机310发送的源于相同服务器302的多个请求具有可见性,并且由于这一可见性,交换机控制器302能够将这些请求相互相关。交换机控制器306基于从其转发接收的请求的交换机310将接收的请求分离成组(如图3中所示,交换机控制器302可以将接收的请求分离成分别与交换机1、交换机2和交换机3相关的LAGl304、LAG2 312 和 LAG3 314)。
[0043]然后,交换机控制器302指示交换机310根据该分离来设立LAG组(例如,LAGl304、LAG2 312和LAG3 314)。交换机310在它们的连接到服务器302的相应端口组上创建这些LAG组,并且每个交换机(交换机1、交换机2、交换机3)从使用它的流表的分组转发的角度来看将这一分组的端口视为实体。
[0044]根据一个实施例,可以继续使用用于在多个链路之间平衡流量的现有机制。此时,每个交换机310具有为它的与服务器302的连接而设立的LAG组(分别用于交换机1、交换机2和交换机3的LAGl 304、LAG2 312和LAG3 314)。然而,每个个别交换机310仍然不了解这一 LAG组是多交换机LAG 318 (也可以被称为vLAG)的一部分。
[0045]交换机310也使用ISL来相互连接。对于在交换机到服务器302的连接308出故障时的情形在交换机310之间提供这些ISL。例如,如果在交换机I与服务器302之间的连接308出故障,则分组可以经由ISLl而被发送到近邻交换机2并且然后被下发到服务器302。同样地,如果分组将从服务器302被上发到交换机1,并且在交换机I与服务器302之间的连接308出故障,则分组可以被发送到近邻交换机2并且然后经由ISL2a被发送到既定交换机I。这一相同布置如图3中所示经由ISL2b和ISL3在交换机2与交换机3之间是可能的。
[0046]一旦这些LAG组由服务器302设立,则对于交换机I上以LAGl 304作为其目的地端口的每个流(其中流指示从源向目的地发送分组),交换机控制器306也将创建交换机2上以LAG2 312作为其目的地端口和/或交换机3上以LAG3 314作为其目的地端口的对应流。类似地,对于交换机3上以LAG3 314作为其目的地端口的每个流,交换机控制器306也将创建交换机2上以LAG2 312作为其目的地端口和/或交换机I上以LAGl 304作为其目的地端口的对应流。同样,对于交换机2上以LAG2 312作为其目的地端口的每个流,交换机控制器306也创建交换机I上以LAGl 304作为其目的地端口和/或交换机3上以LAG3314作为其目的地端口的对应流。交换机控制器306可以如管理员希望的那样和/或如在用于交换机控制器的设置中指定的那样设立一个或者多个备选交换机上的对应流。以这一方式,交换机控制器306可以为经过个别交换机的每个流设立多个备选路径。
[0047]另外,在一些实施例中,交换机I上以LAGl 304作为其目的地端口的每个流可以具有在交换机3以及交换机2上创建的对应流。在这一实施例中,也可以有在交换机I与交换机3之间的ISL(在图3中未示出)。可以在LAG组中的任何数目的多个交换机之间设立其它相似流。
[0048]在交换机控制器306检测到与服务器302的LAG已经出故障的情形时(为了 LAG出故障,LAG中的所有链路必须已经出故障),跨ISL向近邻交换机310重定向并且然后沿着近邻交换机310上的LAG发送出引向出故障的LAG的任何流。
[0049]例如,假设在服务器302与交换机I之间的所有连接308已经出故障。在这一示例中,交换机控制器306改变交换机I上有被指明为LAGl 304的目的地的所有流并且将流重定向到ISLl以重定向到近邻交换机310 (例如,交换机2)。在交换机2与服务器302之间的所有连接308出故障的情形中,交换机控制器302可以将交换机2上的有指明的目的地LAG2 312的流重定向到交换机I或者交换机3。在另一示例中,交换机3可以被连接到另一交换机(例如,交换机4),并且这些交换机可以具有在它们之间的ISL,由此创建如下系统,其中两个交换机在所有交换机与服务器的连接出故障的情况下一前一后协力工作,一个作为用于另一个的备份。
[0050]在交换机控制器306检测到LAGl已经恢复(在服务器302与交换机I之间的至少I个连接308再次工作)时,交换机控制器306恢复让目的地从LAGl 304切换到ISL2a (将由交换机2处置)的所有流回到LAGl 304 (以由交换机I处置)。
[0051]以这一方式,服务器302具有用于经过vLAG 318中的任何交换机310接收和发送流的能力,无论在个别交换机310与服务器302之间的连接308是否工作,只要vLAG 318中的一个连接308仍然工作。
[0052]每个交换机310使用一个或者多个流表以指引交换机如何处置传入分组。可以变更流表以便交换机310根据这里描述的实施例对流重定向。
[0053]LAG组中的端口最大数目可以变化。LAG组中的一些示例端口最大数目可以是2、6、10、16、32、64等,并且可以与在交换机310中使用的特定切换处理器有关。切换处理器在各种实施例中可以支持最少32个LAG组、64个LAG组、128个LAG组、256个LAG组等。此夕卜,如先前描述的那样,LAG组可以在性质上是静态或者动态的。
[0054]现在参照图4,根据一个实施例的用于在对等交换机之间交换LAG信息的方法400的流程图。可以根据本发明在各种实施例中在图1-图3中描绘的环境中的任何环境以及其它环境中执行方法400。当然,可以如本领域技术人员在阅读本说明书时将理解的那样在方法400中包括比在图4中具体描述的操作更多或者更少的操作。
[0055]方法400的步骤中的每个步骤可以由操作环境的任何适当部件执行。例如,在一个实施例中,方法400可以部分或者完全由与另一对等交换机有LAG组关系的交换机的处理器(比如切换ASIC或者CPU)执行。
[0056]如图4中所示,方法400可以用操作402发起,其中在交换机控制器处接收由交换机转发的LAG请求并且确定已经接收了与服务器对应的多个LAG请求。例如,可以确定已经为相同服务器接收了多个LAG请求,在该情况下可以在该服务器与接收的多个LAG请求之间建立相关性。
[0057]根据一个实施例,交换机控制器可以适于根据开流标准操作,并且交换机可以与开流兼容。
[0058]在另一实施例中,服务器和交换机中的每个交换机可以根据在本领域中已知的任何算法平衡跨它们之间的多个连接的流量。
[0059]在操作404中,根据从其接收了多个LAG请求的交换机将多个LAG请求分组成LAG组,并且将所有LAG组与服务器相关。以这一方式,可以规定然后可以在服务器与交换机之间设立的多个LAG组。
[0060]在操作406中,指示交换机中的每个交换机根据由交换机控制器确定的LAG组与服务器设立LAG组。LAG组的所有成员使用通用指示符(比如公共关键字)以向服务器传达这些是多交换机LAG(vLAG)的部分来回应服务器。
[0061]在操作408中,通过来自交换机控制器的指引来创建与经过交换机中的每个交换机去往服务器的流对应的备选流。以这一方式,其它交换机无需经过学习组中的交换机之一已经学习的流的过程。
[0062]在LAG出故障时,交换机控制器更新对应交换机上的规则以使去往出故障的LAG的流量经过ISL被引向相邻交换机,从而使得使用相邻交换机的LAG来递送流量。以这一方式,在LAG出故障的情况下,有备用交换机,该备用交换机可以与它的去往服务器的LAG一起被用来对去往出故障的LAG的流量流重定向。
[0063]在出故障的LAG恢复时,交换机控制器创建来自相邻交换机的流条目的副本以实现使用恢复的LAG,这些流条目将LAG端口指示为它们的目的地。
[0064]根据一个实施例,方法400还可以包括确定在服务器与第一交换机之间的第一LAG何时已经出故障并且将以第一 LAG作为目的地的任何流量流经由在第一交换机与第二交换机之间的ISL重定向到在第
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1