专利名称:以太网设备堆叠方法及其系统的制作方法
技术领域:
本发明涉及通信设备的组合技术,特别涉及以太网设备堆叠技术。
背景技术:
当前,固定端口交换机(如24个10/100M端口或48个10/100M端口交换机)由于其配置简单、成本低一直在网络边缘和企业中得到广泛使用。但由于网络流量及其分布正在发生着明显的变化,过去客户端到服务器的访问(如浏览者到Internet的Web访问)占网络流量的主导地位,而今天的流量模型正在走向多元化,如语音和图像的即时通信使得客户端到客户端的访问剧增,边缘交换机间的流量越来越大。当网络规模不断提高时,固定端口交换机的可扩展性受到极大挑战。设备堆叠技术则解决了这一问题。将几个交换机通过专用的堆叠模块相连可以成倍地提高网络接入层的端口密度。有些厂家的交换机经过堆叠后可以作为一个网元管理,这更简化了网络结构。
堆叠是在以太网交换机(Switch,简称“SW”)上扩展端口时使用的一项技术,是一种非标准化技术。堆叠就是将一组交换机连接起来,将它们作为一个对象来管理。堆叠技术的最大优点就是简化了网络结构,简化了本地管理。目前流行的堆叠模式主要有两种菊花链模式和星型模式。堆叠技术的最大优点就是提供简化的本地管理,将一组交换机作为一个对象来管理。
所谓菊花链,顾名思义,就是将交换机一个个地串接起来,每台交换机都只与自己相邻的交换机进行连接。菊花链模式使用堆叠电缆将几台交换机以环路的方式组建成一个堆叠组。菊花链模式又分单工和双工两种。
图1(a)、(b)分别示出了菊花链模式下单工和双工堆叠方式。单工方式下,每个交换机出一个千兆以太网(Gigabyte Ethernet,简称“GE”)口作为堆叠口,上行设备的发送电路(Tx)连接到下行设备的接收电路(Rx)。双工方式下,中间的交换机出两个GE口作为堆叠端口分别连接上下行设备,边缘设备可以提供一个GE上行口。在中间的堆叠交换机上,为了让需要堆叠处理的帧到达每个堆叠设备,则需要将帧向上下行两个方向都进行发送。
星型堆叠技术,需要提供一个独立的或者集成的高速交换中心,即堆叠中心,所有的堆叠主机通过高速堆叠端口上行到统一的堆叠中心,堆叠中心一般是一个基于专用集成电路(Application Specified Integrated Circuit,简称“ASIC”)的硬件交换单元,其交换容量限制了堆叠设备个数。
星型堆叠技术使所有的堆叠组成员交换机到达堆叠中心的级数缩小到一级,任何两个端节点之间的转发需要且只需要经过三次交换,转发效率与一级级联模式的边缘节点通信结构相同,因此,与菊花链式结构相比,它可以显著地提高堆叠成员之间数据的转发速率。同时提供统一的管理模式,一组交换机在网络管理中,可以作为单一的节点出现。所以对于主控堆叠交换机软硬件要求非常高,通常主交换机的背板一般在10~32G之间,一般的堆叠电缆带宽都在2G~2.5G之间。星型堆叠模式克服了菊花链式堆叠模式多层次转发时的时延影响,但需要开发专用的堆叠中心模块,成本较高。而且整个堆叠组的核心将集中在主交换机上,冗余性不够,可靠性会有所不足。图1(c)示出了4个交换机的星型堆叠方式。
负载均衡机制是在现有网络结构之上,提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务解决网络拥塞问题,服务就近提供,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。根据负载均衡机制所在网络层次可以有链路聚合(Trunk)、网络交换和服务器集群三种技术。其中,链路聚合技术是既廉价方便,又简单有效的负载均衡技术之一。
链路聚合是一种基于IEEE 802.3ad标准的提高了可靠性和性能的第二层冗余特性。这种功能允许把多条物理链路合成一条逻辑链路。链路聚合具有以下优点将多条低速链路捆绑成一条逻辑链路,提供更高的速率,更宽的带宽;增加链路的可靠性,避免单根链路的失效而引起的网络不可用;提供负载均衡的机制,能够在聚合链路上分担网络流量。根据标准,实现链路聚合有以下要求防止数据包的多份复制和错序,无论处在链路的稳定运作还是在链路的配置中;链路改变时,能够快速的重配置。
目前,链路聚合一般采用纯软件或软硬件结合的方法实现。采用的算法有以下几种循环检测算法,采用轮询的方法把流量均匀发布给各个端口,但其不足之处是在接收端可能出现少量数据包时序的混乱;自适应算法,最大可能把流量均匀分配给各个端口,其计算量相对来说较大;静态算法,能保证每个数据包能够正确到达指定的端口,但缺乏灵活性而且速度相对来说较慢。
在实际应用中,上述方案存在以下问题现有的菊花链堆叠模式,一般采用一个GE或两个GE作为堆叠端口,堆叠链路只有一个GE的带宽,当需要通过堆叠链路的数据包较多时,容易发生阻塞和丢包现象;若堆叠端口采用特殊设计,加速到2G或2.5G,则设计难度加大,而且容易造成交换带宽的浪费;现有星型堆叠模式则需要专门的高速交换中心,成本昂贵,冗余性不够,可靠性不足。
造成这种情况的主要原因在于,现有的菊花链堆叠模式只能采用单个端口作为堆叠端口;而现有的星型堆叠模式必须采用高速交换中心。
发明内容
有鉴于此,本发明的主要目的在于提供一种以太网设备堆叠方法及其系统,使得能够以可自由配置的较高带宽连接多个参与堆叠的以太网设备,从而较简便地实现高效的设备堆叠。
为实现上述目的,本发明提供了一种以太网设备堆叠方法,包含以下步骤采用链路聚合方法,将以太网设备的多个堆叠端口聚合为聚合组,作为堆叠链路;多个所述以太网设备之间通过所述堆叠链路相互连接以实现设备堆叠。
其中,所述链路聚合方法包含以下步骤,在所述以太网设备中设置端口属性表、聚合组表和聚合映射表,其中,所述端口属性表用于描述端口的属性,所述聚合组表用于设定聚合组所包含的端口,所述设置聚合映射表用于进行聚合映射,将所述聚合组的网络流量均衡分配到其所包含的端口上;所述以太网设备根据所述端口属性表、所述聚合组表和所述聚合映射表转发报文。
所述转发报文的步骤中,对于单播报文转发包含以下子步骤,A根据所述报文配置转发表,如果所述报文的转发目的为聚合组,则配置为相应的聚合号,置聚合标志有效,否则为端口,配置为相应端口号;B根据所述报文的输入端口号查找端口属性表,得到该输入端口的所述端口属性,包含所述聚合标志、所述聚合组号;C查找所述转发表得到该报文的转发目的,判断所述转发目的是否为聚合组,如果是,则根据聚合组号得到该聚合组包含的端口列表,并进入步骤D,否则进入步骤E;D判断是否所述输入端口对应的所述聚合标志有效且所述输入端口对应的聚合组号与所述转发目的对应的聚合组号相同,如果是则进行源端口抑制处理并丢弃该报文,否则进行聚合映射得到有效端口并转发;E按照所述转发目的对应的所述端口号,在对应端口转发该报文。
对于多播或广播报文转发,先得到多播或广播目的端口列表,如果目的端口包含聚合组,则该目的端口应该包括该聚合组中的所有端口,再进行聚合映射得到所有有效端口,并转发。
所述步骤E中的所述聚合映射包含以下子步骤,通过所述哈希运算由所述报文信息得到所述映射号;根据所述映射号查找所述聚合映射表,得到所述端口掩码;根据所述转发目的查表得到所述目的端口列表;将所述端口掩码和所述目的端口列表进行与操作得到有效的标志位所对应的端口号,即映射得到的所述有效端口。
所述端口属性表所描述的端口属性包含端口聚合标志,用于指示该端口是否属于聚合组;聚合组号,用于在所述端口聚合标志有效的情况下指示该端口所属聚合组。
所述聚合组表由所述聚合组号索引,对应每个所述聚合组号存在相应的端口列表,所述端口列表对应于每个所述端口的都包含一个标志,用于指示对应端口是否属于该聚合组。
所述聚合映射表由映射号索引,对应每个所述映射号存在相应的端口掩码,所述端口掩码对应于每个所述端口都包含一个标志,用于指示对应端口在该映射号下是否有效。
所述映射号由报文信息通过哈希映射得到,所述映射号的总数目根据负载均衡程度要求设定,所述哈希映射算法满足相同的报文信息映射得到相同的映射号。
按照以下规则配置所述聚合映射表属于同一聚合组的所述端口在任一所述映射号下有且只有一个所述端口置为有效,不属于任何所述聚合组的所述端口在任何所述映射号下都置为有效,属于同一聚合组的所述端口在所有所述映射号下被置为有效的次数相互均衡。
所述哈希映射算法通过将所述报文的媒体访问控制源地址、媒体访问控制目的地址、网际协议源地址和网际协议目的地址相加取余而得到所述映射号。
本发明还提供了一种以太网设备堆叠系统,包含多个以堆叠方式连接在一起的以太网设备,相互连接所述多个以太网设备的堆叠链路是由以太网设备的多个端口以链路聚合方法聚合而成的。
其中,所述以太网设备中包含端口属性表、聚合组表和聚合映射表,其中,所述端口属性表用于描述端口的属性;所述设置聚合组表用于设定聚合组所包含的端口;所述设置聚合映射表用于进行聚合映射,将所述聚合组的网络流量均衡分配到其所包含的端口上;所述以太网设备还用于根据所述端口属性表、所述聚合组表和所述聚合映射表转发报文。
所述以太网设备是千兆以太网交换机,相互间的堆叠方式是菊花链。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,采用链路聚合方法,将以太网设备的多个堆叠端口聚合为聚合组,作为堆叠链路连接参与堆叠的各以太网设备。该链路聚合方法通过端口属性表、Trunk组表、Trunk映射表的配置以及基于这三个表的报文转发流程实现链路聚合和负载均衡。
这种技术方案上的区别,带来了较为明显的有益效果,即因为将多个堆叠端口聚合成为一条堆叠链路,所以可以提高网络容量和资源利用率,即使在需要通过堆叠链路的数据包较多时也不容易发生阻塞和丢包现象,不会在两个以太网设备间因为有多条链路而导致环路。
因为参与堆叠的以太网设备端口可以保持较小的标准速率,所以在不进行堆叠时可以直接应用到其它系统,而不用担心带宽的浪费。
因为堆叠端口的配置主要取决于端口属性表、Trunk组表、Trunk映射表,所以可以通过对这三个表的配置改变堆叠端口和堆叠链路的带宽,从而使得设备堆叠更加灵活方便,提高了堆叠设备的可操作性。
链路聚合的均衡机制提高了设备堆叠的可靠性。
图1是以太网交换机的多种堆叠模式示意图;图2是根据本发明的一个实施例的链路聚合中的单播报文转发流程图;图3是根据本发明的一个实施例的链路聚合中的聚合映射流程图;图4是根据本发明的一个实施例的链路聚合方法实现的设备堆叠示意图;图5是根据本发明的另一个实施例的链路聚合方法实现的设备堆叠示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明采用链路聚合的方法,将堆叠设备的多个堆叠端口进行链路聚合和负载均衡,使得堆叠链路带宽增大,而且可以根据实际需要调整。
本发明采用端口属性表、聚合组表和聚合映射表实现对链路、聚合组以及它们之间的映射关系的管理和配置;并根据链路聚合标准,设计各个表的配置方法、聚合转发规则和处理流程,实现负载均衡机制,在聚合链路上均衡分配网络流量;并将此链路聚合方法应用于设备堆叠端口的聚合,用端口捆绑的方式实现高带宽、配置灵活的设备堆叠。
在本发明的一个实施例中,设计带有多个GE口的以太网交换设备,将这些GE口按照实际需求进行链路聚合,实现高带宽堆叠链路。由于GE口的设计并不复杂,因此简单地将GE口复制,即可实现多个GE口的以太网交换设备。熟悉本领域的技术人员可以理解,对于带有2个或2个以上GE口的以太网交换设备,均可采用链路聚合的方法实现设备堆叠,完成发明目的,而不影响本发明的实质和范围。
由于两个交换设备之间有多条链路连接时会形成环路,引起路由震荡,因此本发明采用链路聚合的方法,使得堆叠端口在逻辑上相当于一条链路,不会形成环路,从而实现了堆叠链路的扩容。下面参照实施例详细阐述应用于堆叠端口的链路聚合方法。
在本发明的一个实施例中,链路聚合称为Trunking,聚合组成为Trunk组。由于链路对应于交换机的端口,因此一个端口(Port)对应于一条链路。每个设备保留两个专用聚合组,作为堆叠Trunk组。组网方式与图1中菊花链模式相同,但堆叠端口在逻辑上都属于堆叠Trunk组,堆叠Trunk组可以包含一到多个GE端口。
在本发明的一个实施例中,给每条链路设置端口属性表,包含聚合标志(Trunked)和聚合组号(TrunkID),其中聚合标志指示本端口是否被聚合,如果是,则本端口被聚合在相应聚合组号的聚合组中。
在本发明的一个实施例中,设置聚合组表,该表以聚合组号(TrunkID)索引,对应每个TrunkID的表行称为端口列表(Port List),端口列单上对应每个端口为一位,用于该位指示相应端口是否在相应聚合组内。比如,由16个Trunk组和28个端口的聚合组表结构如表一所示。表一的行号为TrunkID0-15,列号为端口号0-27。端口的类型可以不同,比如0-23号为FE口,24-27号为GE口。可见表中每格只需用一位存储,比如用′1′表示该端口在该聚合组内,否则为′0′。如表一所示,Trunk组0所对应的第一行中分别对应端口4、5、7的值置为′1′,则表示Trunk组0包括端口4、5、6,同样地,易见Trunk组14包括端口24,Trunk组15端口25、26、27。
表一
在本发明的一个实施例中,为了能够快速均衡地分配网络流量到每个Trunk组所包含的各个端口上,采用哈希(Hash)映射的方法,将网络中的数据均衡的映射到Trunk组内的各个端口上。配合哈希映射的方法,设置Trunk映射表。该表由哈希号(HashIDX)索引,每个HashIDX对应一行,每行由与所有端口对应的位组成,该位用于指示在该HashIDX的情况下,该端口是否用于分担所在Trunk组的网络流量,因此称为端口掩码(Port Mask)。为了符合链路聚合标准,需要满足在同一个Trunk组内数据报文不会被多个端口转发,因此在配置Trunk映射表时,必须满足每个HashIDX所对应的行里,属于同一个Trunk组的端口中,有且只有一个端口有效。比如,对应与表一所给的实施例,由16个HashIDX组成的Trunk映射表如表二所示。表二的行号为Hash映射后所有可能的HashIDX 0-15,对应每一行各Trunk组所包含的端口中有且只有一个被置为′1′,这样就实现了所有情况下,同一Trunk组的报文只在一个端口转发。另外,从表二可见,同一Trunk组所包含的端口在所有可能的HashIDX中被均匀地置为′1′,表二中Trunk组1包含端口0、1、2、3,在HashIDX为0-15的16种可能中,每个端口都有4中可能被置为′1′,由此实现同一Trunk组的网络流量在其所包含的所有端口上均衡分配。由于Trunk组0包含端口数目为3个,不能被HashIDX数16所整除,因此导致流量分配不能完全平均,但差距只有总流量的1/16。如果采用更多的HashIDX,则流量分配的最大可能差距还能再降低。对于只包含一个端口的Trunk组或者不被Trunk的端口,在所有HashIDX的情况下都被置′1′。
表二
上述哈希映射方法,可以由报文信息经过哈希运算后而得到规定范围内的HashIDX。在本发明的一个实施例中,结合端口选择策略,采用对报文的地址的哈希运算实现哈希映射。比如,根据源地址和目的地址中的媒体访问控制(Media Access Control,简称“MAC”)和网际协议(Internet Protocol,简称“IP)地址,进行求和取余运算得到HashIDX。这样可以保证同一连接的报文流,即源和目的地址相同的报文,所对应的HashIDX相同,于是经过上述Trunk映射表后将被映射到同一个端口上转发。
为了更详细地说明上述Trunk映射方法在链路聚合时的负载均衡机制工作原理,下面给出本发明的一个实施例的报文转发过程。比如对于表一、表二所描述的情况,当一个转发到Trunk组1的数据流到达交换机时,交换机首先根据设定的哈希映射方法,将该数据流上的报文信息进行哈希运算得到HashIDX,比如为2;于是查找Trunk映射表,得到上述表二的第三行;再根据Trunk组表得到该Trunk组所包含的端口,即表一的第二行,分别为端口0、1、2、3;将Trunk组表的表行与Trunk映射表的表行进行与运算,即得到该报文转发的端口号,表二第三行的前4格只有端口2对应为1,因此该报文将在端口2上转发。
由此可见,上述Trunk映射方法可以实现以下要求首先,由于每个Trunk组所包含的端口在各个HashIDX下均匀分配,因此通过哈希映射,每个Trunk组的网络流量将由端口均衡分担;其次,每个Trunk组在每一HashIDX下有且只有一个端口有效,保证了所有报文都能找到端口转发,且不会在不同端口重复转发;再次,由于哈希映射所采用的哈希运算方法能够保证同一数据流的报文在哈希运算以后得到相同的HashIDX,则必在同一端口转发,保证了同一数据流的数据包不会乱序。
在本发明的一个实施例中,针对单播报文、多播报文和广播报文分别给出相应的转发流程。
图2示出了根据本发明的一个实施例的单播报文转发流程。首先进入步骤201,配置交换机的转发表,如果该报文的转发目的为Trunk组则配置为相应的TrunkID,同时置Trunked标志有效;如果为端口,则配置为相应端口号。
接着进入步骤202,根据该报文的输入端口号查找端口属性表,得到该输入端口的Trunked标志、TrunkID和堆叠(Stacked)等属性。
接着进入步骤203,查找转发表得到该报文的转发目的,并判断转发目的的Trunked标志是否有效,如果是,则转发目的为Trunk组进入步骤205,否则转发目的为端口,进入步骤204。
在步骤204中,直接根据转发目的的端口号指示进行转发。
在步骤205中,根据在步骤202中得到的输入端口的属性,判断输入端口是否属于Trunk组,如果是则需要判断输入TrunkID和转发目的TrunkID是否相等,如果相等则进入步骤206进行源端口抑制处理,否则进入步骤207进行Trunk映射得到转发目的端口号,并转发。
其中源端口抑制处理是指将输入端口和转发端口相同的报文丢弃,以避免报文环回发送。在本发明另一实施例中,对于二层单播的报文进行源端口抑制,而对于三层单播的报文则上报处理器进行相关的处理。
在本发明的一个实施例中,步骤207中所述Trunk映射包含以下子步骤首先通过哈希运算得到HashIDX,接着查找Trunk映射表,同时根据转发目的TrunkID查找Trunk组表,将得到的Trunk映射表表行(Port Mask)和Trunk组表表行(Port List)进行与(And)操作得到唯一的转发目的端口号,于是在此端口上转发该报文。Trunk映射流程如图3所示。
在本发明的一个实施例中,对于多播报文的转发,如果多播目的包括Trunk组,则多播转发目的端口列表应该包括该Trunk所有物理端口。此后,进行Trunk映射,将得到的Trunk映射表行(Port Mask)和多播目的端口列表(Port List)进行与(And)操作。对于二层多播需要进行源端口抑制操作,即从上述输出结果中删除输入端口或输入Trunk组包含的所有端口,得到最终的输出端口列表;对于三层多播,则无须进行源端口抑制。所述多播报文包含第二层多播、第三层多播和第三层子网广播等方式。
在本发明的一个实施例中,由于第二层的未知单播和第二层的广播均需要在虚拟局域网内(Virtual Local Area Network,简称”VLAN“)进行广播,因此相应的需要有广播报文的转发处理流程。广播转发要求在配置VLAN表时,将Trunk组所包含的所有端口均列为广播转发端口。此后,使用VLAN端口列表和Trunk映射表行进行与操作,最后进行源端口抑制操作。
采用上述链路聚合方法,将多个堆叠端口进行捆绑,使其在逻辑上属于一个Trunk组,采用此多个链路聚合而成的Trunk组作为堆叠链路,可实现灵活调整网络容量的设备堆叠。
在本发明的一个实施例中,采用菊花链模式,每个堆叠设备出多个GE口作为堆叠端口。对于单工方式,相连的每两个堆叠设备之间采用同向的一个Trunk组将多个GE口捆绑;对于双工方式,中间相连的两个堆叠设备之间采用不同方向的两个Trunk组将多个GE口捆绑,分别向两侧传送报文,而两侧的堆叠设备只需一个Trunk组。每个Trunk组可以包含一到多个GE口。图4和图5示出了根据本发明的两个实施例的采用链路聚合方法实现设备堆叠示意图。这两个实施例都采用菊花链模式,其中图4是是单工堆叠方式,图5是双工堆叠方式。
在本发明的一个实施例中,当实际需求改变时,比如堆叠设备业务需求发生变化,通过改变上述端口属性表、Trunk组表、Trunk映射表等,改变堆叠端口的链路聚合方式,比如堆叠Trunk组所包含的GE口数目增加或减少,以调整聚合链路和网络链路的带宽。另外,通过改变Trunk映射表中不同端口在不同HashIDX下有效的次数,以及哈希算法,可以控制同一Trunk组内各个端口的负载流量分配,实现流量均衡。
在本发明的另一个实施例中,由于堆叠端口输入输出的报文与普通端口的报文有所不同,系统根据端口属表中的堆叠(Stacked)标志是否有效而进行相应操作。另外,对于单工堆叠和双工堆叠采用不同的处理方式,单工堆叠只有一个堆叠Trunk组,Trunk组的收发方向接不同的设备,输入和输出相当于两个不同端口,因此该Trunk组无须进行源端口抑制处理。
熟悉本领域的技术人员可以理解,所述Trunk组表和Trunk映射表也可以通过其他编码方式实现,所述哈希运算可以通过其他算法实现,所述堆叠设备的结构、连接方式可以根据要求设计,完成发明目的,而不影响本发明的实质和范围。
除了上述基于三个表的链路聚合方法,也可以用其它方法实现链路聚合,下面再举一个例子。
假设设备只支持一个Trunk组,而且该Trunk组只用于堆叠链路。
建立如下端口选择表,该表使用报文目的地址的最低2Bit作为行号,源地址的最低3Bit作为列号,进行查表。表项内容即为转发目的端口,由软件进行配置,配置时要保证通过各个端口的数据流量尽量均衡。
如果两个设备堆叠,并且堆叠链路包括0端口和1端口,则表项配置如下
对于单播转发,如果目的为堆叠链路,则使用报文的源和目的地址查表来选择目的端口。
对于广播和多播报文,如果目的端口包含堆叠链路,同样可以使用报文的源和目的地址查表来选择目的端口。
通过该方法能够保证同一数据流在堆叠链路转发时始终从同一个端口发送,保证数据包不乱序。
该方法中可以根据堆叠链路包含的端口数目扩大或减小表项行列数目,使流量更加均衡。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种以太网设备堆叠方法,其特征在于,包含以下步骤采用链路聚合方法,将以太网设备的多个堆叠端口聚合为聚合组,作为堆叠链路;多个所述以太网设备之间通过所述堆叠链路相互连接以实现设备堆叠。
2.根据权利要求1所述的以太网设备堆叠方法,其特征在于,所述链路聚合方法包含以下步骤,在所述以太网设备中设置端口属性表、聚合组表和聚合映射表,其中,所述端口属性表用于描述端口的属性,所述聚合组表用于设定聚合组所包含的端口,所述设置聚合映射表用于进行聚合映射,将所述聚合组的网络流量均衡分配到其所包含的端口上;所述以太网设备根据所述端口属性表、所述聚合组表和所述聚合映射表转发报文。
3.根据权利要求2所述的以太网设备堆叠方法,其特征在于,所述转发报文的步骤中,对于单播报文转发包含以下子步骤,A根据所述报文配置转发表,如果所述报文的转发目的为聚合组,则配置为相应的聚合号,置聚合标志有效,否则为端口,配置为相应端口号;B根据所述报文的输入端口号查找端口属性表,得到该输入端口的所述端口属性,包含所述聚合标志、所述聚合组号;C查找所述转发表得到该报文的转发目的,判断所述转发目的是否为聚合组,如果是,则根据聚合组号得到该聚合组包含的端口列表,并进入步骤D,否则进入步骤E;D判断是否所述输入端口对应的所述聚合标志有效且所述输入端口对应的聚合组号与所述转发目的对应的聚合组号相同,如果是则进行源端口抑制处理并丢弃该报文,否则进行聚合映射得到有效端口并转发;E按照所述转发目的对应的所述端口号,在对应端口转发该报文。
4.根据权利要求3所述的以太网设备堆叠方法,其特征在于,对于多播或广播报文转发,先得到多播或广播目的端口列表,如果目的端口包含聚合组,则该目的端口应该包括该聚合组中的所有端口,再进行聚合映射得到所有有效端口,并转发。
5.根据权利要求3或4所述的以太网设备堆叠方法,其特征在于,所述步骤E中的所述聚合映射包含以下子步骤,通过所述哈希运算由所述报文信息得到所述映射号;根据所述映射号查找所述聚合映射表,得到所述端口掩码;根据所述转发目的查表得到所述目的端口列表;将所述端口掩码和所述目的端口列表进行与操作得到有效的标志位所对应的端口号,即映射得到的所述有效端口。
6.根据权利要求2所述的以太网设备堆叠方法,其特征在于,所述端口属性表所描述的端口属性包含端口聚合标志,用于指示该端口是否属于聚合组;聚合组号,用于在所述端口聚合标志有效的情况下指示该端口所属聚合组。
7.根据权利要求2所述的以太网设备堆叠方法,其特征在于,所述聚合组表由所述聚合组号索引,对应每个所述聚合组号存在相应的端口列表,所述端口列表对应于每个所述端口的都包含一个标志,用于指示对应端口是否属于该聚合组。
8.根据权利要求2所述的以太网设备堆叠方法,其特征在于,所述聚合映射表由映射号索引,对应每个所述映射号存在相应的端口掩码,所述端口掩码对应于每个所述端口都包含一个标志,用于指示对应端口在该映射号下是否有效。
9.根据权利要求2所述的以太网设备堆叠方法,其特征在于,所述映射号由报文信息通过哈希映射得到,所述映射号的总数目根据负载均衡程度要求设定,所述哈希映射算法满足相同的报文信息映射得到相同的映射号。
10.根据权利要求8所述的以太网设备堆叠方法,其特征在于,按照以下规则配置所述聚合映射表属于同一聚合组的所述端口在任一所述映射号下有且只有一个所述端口置为有效,不属于任何所述聚合组的所述端口在任何所述映射号下都置为有效,属于同一聚合组的所述端口在所有所述映射号下被置为有效的次数相互均衡。
11.根据权利要求9所述的以太网设备堆叠方法,其特征在于,所述哈希映射算法通过将所述报文的媒体访问控制源地址、媒体访问控制目的地址、网际协议源地址和网际协议目的地址相加取余而得到所述映射号。
12.一种以太网设备堆叠系统,包含多个以堆叠方式连接在一起的以太网设备,其特征在于,相互连接所述多个以太网设备的堆叠链路是由以太网设备的多个端口以链路聚合方法聚合而成的。
13.根据权利要求12所述的以太网设备堆叠系统,其特征在于,所述以太网设备中包含端口属性表、聚合组表和聚合映射表,其中,所述端口属性表用于描述端口的属性;所述设置聚合组表用于设定聚合组所包含的端口;所述设置聚合映射表用于进行聚合映射,将所述聚合组的网络流量均衡分配到其所包含的端口上;所述以太网设备还用于根据所述端口属性表、所述聚合组表和所述聚合映射表转发报文。
14.根据权利要求12所述的以太网设备堆叠系统,其特征在于,所述以太网设备是千兆以太网交换机,相互间的堆叠方式是菊花链。
全文摘要
本发明涉及通信设备的组合技术,公开了一种以太网设备堆叠方法及其系统,使得能够以可自由配置的较高带宽连接多个参与堆叠的以太网设备,从而较简便地实现高效的设备堆叠。本发明中,采用链路聚合方法,将以太网设备的多个堆叠端口聚合为聚合组,作为堆叠链路连接参与堆叠的各以太网设备。该链路聚合方法通过端口属性表、Trunk组表、Trunk映射表的配置以及基于这三个表的报文转发流程实现链路聚合和负载均衡。
文档编号H04L12/56GK1809022SQ20051002337
公开日2006年7月26日 申请日期2005年1月17日 优先权日2005年1月17日
发明者范嘉旗 申请人:华为技术有限公司