CN1172488C - 交换机捆绑端口分流方法及交换机芯片 - Google Patents

交换机捆绑端口分流方法及交换机芯片 Download PDF

Info

Publication number
CN1172488C
CN1172488C CNB021163898A CN02116389A CN1172488C CN 1172488 C CN1172488 C CN 1172488C CN B021163898 A CNB021163898 A CN B021163898A CN 02116389 A CN02116389 A CN 02116389A CN 1172488 C CN1172488 C CN 1172488C
Authority
CN
China
Prior art keywords
port
packet
ports
logic
bond ports
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB021163898A
Other languages
English (en)
Other versions
CN1369991A (zh
Inventor
曾声瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Harbour Networks Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=4744090&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1172488(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Harbour Networks Holdings Ltd filed Critical Harbour Networks Holdings Ltd
Priority to CNB021163898A priority Critical patent/CN1172488C/zh
Publication of CN1369991A publication Critical patent/CN1369991A/zh
Application granted granted Critical
Publication of CN1172488C publication Critical patent/CN1172488C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种交换机捆绑端口分流方法和交换机芯片设计。本发明的交换芯片采用端口捆绑技术,将被捆绑的各端口看作一个逻辑端口,在逻辑端口进行分流时采用基于流量动态负荷均衡的分流方法。相应交换芯片中含有内部缓存、地址表和分流输出控制逻辑,并且具有相应的地址表和寄存器设计。本发明可以最大限度地利用交换机捆绑端口的带宽,从而实现真正的端口捆绑。可广泛应用于通讯领域。

Description

交换机捆绑端口分流方法及交换机芯片
所属技术领域:
本发明涉及交换机专用集成电路(ASIC)技术领域。
背景技术:
端口捆绑(TRUNK)指的是两台交换机或交换芯片进行对接时,由于一个端口的带宽不能满足二者之间交互数据的流量,将两个或多个端口当作一个逻辑端口与对端进行连接,以保证二者之间的通讯质量。
目前所使用的以太网交换芯片中,支持端口捆绑的芯片当数据包送往捆绑的端口时,有几种分流情况:基于源MAC地址、目的MAC地址,源IP地址、目的IP地址,或源端口号等。目前所用的以太网交换芯片,例如,GalileoTechnology公司采用的是基于源端口的分流原则,Broadcom公司采用的是基于MAC地址和IP地址两种分流原则。这些捆绑技术由于对通道的分配与各通道的流量情况无关系,会造成在同一捆绑端口中将数据包分配给某些已经拥塞的通道,而该捆绑端口中某些通道仍处于空闲状态的情况,没能充分利用端口捆绑后总的带宽。
发明目的:
为了最大限度地利用捆绑端口的带宽,实现真正意义上端口捆绑,本发明设计了一种基于流量动态负荷均衡的端口捆绑分流方法及相应的交换机芯片。
发明的技术方案:
要实现真正意义上的端口捆绑,本方法在分流时将被捆绑的所有端口看作一个逻辑端口,转发逻辑将它们作为一个端口来看待,以便充分利用捆绑后总的带宽。
为此,从交换芯片本身就必须将捆绑在一起的端口看作同一个逻辑端口来处理。由于目前交换芯片中地址表内容的限制,不可能真正做到这一点。因此,首先必须在地址表项中增加相应的内容。本方案在交换芯片的地址表中增加端口捆绑有效位和捆绑端口组号,同时增加标志各端口属于哪个捆绑端口的寄存器。
具体步骤为:
1.地址学习和地址表的更新:数据包进入交换芯片时,芯片搜索地址表。当找不到与源地址匹配的记录时,相应增加一个地址表项。在地址表项添加时,首先查看捆绑端口寄存器。若捆绑端口寄存器表示该端口不属于任何捆绑端口,则增加表项时将该表项内容中端口捆绑有效位置为无效(″0″),同时将源端口号和源地址填入表项中;否则若输入数据包的端口属于某一个捆绑端口,则增加表项时将端口捆绑有效位置为有效(″1″),同时将捆绑端口组号、源端口号和源地址填入表项中。
2.转发:数据包进入交换芯片后,转发逻辑根据其目的地址查找地址表,获取该表项后进行转发的判断。若该表项中的端口捆绑有效标志位为″0″,则按照表项中的端口号将数据包转发到相应端口;否则若表项中捆绑端口有效标志位为″1″时,转发逻辑以捆绑端口寄存器内容作为转发依据,将数据包送到相应的逻辑端口。
3.逻辑端口分流:当输出为捆绑的逻辑端口时,由输出控制逻辑以轮转调度(ROUND-ROBIN)的方式轮询送到被捆绑各个端口的输出队列,按照先进先出(FIFO)的方式排队输出。当某个端口输出达到阈值时向ROUND-ROBIN控制模块发出阻塞(DISABLE)标志,则输出控制逻辑屏蔽该端口,将数据包发送到非堵塞的通道中去,充分地将流量动态均衡地分配到被捆绑的各个端口中。只有当捆绑端口中所有的通道都堵塞时才停止从内部缓存中提取数据包,从而达到最大程度利用捆绑端口的带宽。
通过上述一系列步骤和相应的交换芯片设计,即可完成基于流量动态负荷均衡的端口捆绑。
说明书附图说明:
图1两个交换芯片的单端口对接
图2两个交换芯片端口捆绑后对接
图3基于源端口分流的端口捆绑对接
图4基于流量动态负荷均衡的端口捆绑对接
图5交换芯片发往捆绑端口数据流示意图
实施例:
参见附图进一步说明本发明的实施方式。(1)(2)是交换芯片,A、B、C、D、E、F、G、H是交换芯片(1)的端口,I、J、K、L、M、N、O、P是交换芯片(2)的端口。
图1显示了两个交换芯片的单端口对接:当一个交换芯片的端口数及总交换容量不能满足用户的需要时,需要将两片交换芯片进行对接。如该图,若一个交换芯片为8个100M以太网接口,通过两个芯片对接后可将端口扩展到14个100M以太网接口(A、B、C、E、F、G、H、I、J、K、M、N、O、P),实现更大的交换容量。但是,以这种方式进行对接两个交换芯片之间的带宽只有100M,当交换芯片(1)有多个端口要与交换芯片(2)的多个端口进行数据交换时,在对接的端口将经常出现拥塞(图1中D和L)。
图2显示了两个交换芯片端口捆绑后对接:用单个端口来进行对接时,由于带宽的问题,经常导致对接端口的拥塞,于是出现了端口捆绑技术。如图2,交换芯片(1)的端口C、D作为一个逻辑端口捆绑在一起,交换芯片(2)的端口K、L作为一个逻辑端口捆绑在一起。这样对接后两个交换芯片之间的带宽为200M,对接处的拥塞情况将大大减少。
图3显示了基于源端口分流的端口捆绑对接:交换芯片(1)的端口C、D作为一个逻辑端口捆绑在一起,交换芯片(2)的端口K、L作为一个逻辑端口捆绑在一起进行对接。当交换芯片(1)的端口有数据包发到交换芯片(2)时,A、B、H通过端口C来进行,E、F、G通过端口D来进行。同样当交换芯片(2)的端口有数据包发到交换芯片(1)时,I、J、P通过端口K来进行,M、N、O通过端口L来进行。即两芯片在互通时根据输入芯片的端口将数据流分别分配到两个端口。此种基于源端口的流量分配策略完成的是物理上固定的分配,在某些情况下将导致对接捆绑带宽不能充分的利用。例如当交换芯片(1)的A、B、H端口皆有大量的数据包要发到交换芯片(2)的端口,同时E、F\G端口无大量的数据包要发到交换芯片(2),此时将造成捆绑端口中C端口要承担大量的流量而造成端口的拥塞,而此时D端口却有大量的空闲带宽。基于IP地址或MAC地址分流同样也是对流量的在物理上进行了绑定分配,同样也存在这类问题。
图4显示了本方案基于流量动态负荷均衡的端口捆绑对接:如图,交换芯片(1)的端口C、D作为一个逻辑端口捆绑在一起,交换芯片(2)的端口K、L作为一个逻辑端口捆绑在一起进行对接。当交换芯片(1)的端口有数据包发到交换芯片(2)时,A、B、E、F、G、H的数据包首先进入同一个逻辑端口,然后再由该逻辑端口根据C、D端口的情况将流量均匀分配。同样当交换芯片(2)的端口有数据包发到交换芯片(1)时,I、J、M、N、O、P的数据包首先进入同一个逻辑端口,然后再由该逻辑端口根据K、L端口的情况将流量均匀分配。这样充分利用了捆绑后对接端口的总带宽,真正意义上将两个端口捆绑成为一个逻辑端口。
图5显示了交换芯片发往捆绑端口数据流示意图:(1)-(3)是交换芯片端口1、2、3的输出FIFO队列,(4)-(8)是交换芯片端口4、5、6、7、8的输入FIFO队列。A是内部缓存、地址表及相关控制逻辑,B是ROUND-ROBIN轮询输出控制逻辑。如图,交换芯片的端口1、2、3捆绑为一个端口。当交换芯片的端口4-8有数据包进入时,首先在功能块A处进行缓存,相关逻辑根据输入数据包的目的地址搜索匹配的地址表项记录。若数据包目的地为捆绑端口,则由输出控制逻辑B模块将数据包以ROUND-ROBIN的方式发送到端口1、2、3其中一个端口的输出FIFO队列中。端口1、2、3皆有一个FIFO的阈值指示信号,当FIFO填充达到阈值时,将相应标志位置为″1″,从而通知控制逻辑B。控制逻辑B则屏蔽掉该端口,将数据包发送到未达到阈值的端口输出队列中去。通过这种方式,可以适时观测捆绑端口的各端口情况,将流量合理地分配,实现流量动态负荷均衡的捆绑。
采用该方法我们可以设计一个带24个10/100Mbps和2个10/100/1000Mbps以太网端口的交换芯片。该芯片支持最多4个捆绑端口,其中每一个捆绑端口中只允许同类型端口进行捆绑,任一端口最多只能属于一个捆绑端口。针对现有的芯片增加如下功能块:
1.增加4组捆绑端口寄存器(Trunk group0/1/2/3)格式如下:(32位)
Valid  30~26位保留 P25  P24  P23 …………… P4  P3  P2  P1  P0
Valid——指示该组端口捆绑是否有效;
26~30位——保留将来使用;
P0~P25——当该位为″1″时,说明所代表的端口属于这一捆绑端口;
为了实现方便指定Trunk_group0为10/100/1000Mbps端口的捆绑专用;
Trunk-group1/2/3为10/100Mbps端口捆绑用。
2.地址表项增加涉及捆绑端口的相应内容(与捆绑无关的内容没有列出):
Valid  Trunk_valid  Trunk_group  Port number  Mac address
Valid——有效位,指示该表项是否有效;
Trunk-valid——指示该表项中捆绑端口信息是否有效;
Trunk-group——指示对应MAC地址的捆绑端口的组号(2位);
Port number——指示对应MAC地址的输出端口;
Mac address——48位MAC地址。
3.增加端口捆绑的流量动态分配逻辑:
1)地址学习和地址表的更新:当数据包进入交换芯片时,芯片搜索地址表。当找不到与源地址匹配的记录时,将增加该地址表项。在地址添加时,首先查询Trunk_group寄存器,看该输入端口是否属于其中一个捆绑端口。若输入数据包的端口不属于任何捆绑端口,则增加表项时表项内容Trunk_valid置为″0″,源端口号和源地址填入表项中,同时将Valid置为″1″;否则若输入数据包的端口属于某一个捆绑端口,则增加表项时,将表项中Trunk_valid置为″1″,同时将捆绑端口组号(Trunk_group)、源端口号(Port number)和源地址(源MAC地址)填入表项中。
2)转发:当数据包进入交换芯片后,转发逻辑根据其目的地址查找地址表,获取该表项后进行转发的判断。若该表项中的端口捆绑有效标志位Trunk_valid为″0″,则按照表项中的端口号将数据包转发到相应端口;否则若表项中端口捆绑有效标志位Trunk_valid为″1″时,转发逻辑将以捆绑端口内容作为转发依据。将数据包送到该TRUNK组号的逻辑端口。
3)逻辑端口分流:当输出为捆绑的逻辑端口时,皆送到该逻辑端口的输出控制逻辑。该控制逻辑以ROUND-ROBIN的方式轮询送到捆绑的各个端口的输出FIFO队列中排队输出。当某个端口由于对端流控导致输出FIFO队列达到阈值时向ROUND-ROBIN控制模块发出DISABLE标志,则ROUND-ROBIN输出控制逻辑在轮询时屏蔽该端口,将数据包发送到非堵塞的通道中去,充分将流量动态均衡地分配到捆绑的各个端口中。只有当捆绑端口的所有通道都堵塞时才停止从内部缓存中提取数据包,从而最大程度地利用捆绑端口的带宽。
有益效果:
本发明对于交换机来说可以最大限度地利用捆绑端口的带宽,从而实现真正意义上端口捆绑。

Claims (6)

1、一种交换机捆绑端口分流方法,在两台交换机或交换芯片进行对接时,将两个或多个端口当作一个逻辑端口与对应端口进行连接形成端口捆绑,其特征在于包括如下步骤:
1)当数据包进入交换芯片时,芯片搜索地址表进行地址的学习和地址表的更新;
2)当数据包进入交换芯片后,转发逻辑根据其目的地址查找地址表,获取相应表项后进行转发;
3)将捆绑的端口看作一个逻辑端口,转发逻辑将它们作为一个端口来看待,当数据包输出到捆绑的逻辑端口时,由输出控制逻辑采用基于流量动态负荷均衡的捆绑端口分流方法,将数据包以轮转调度的方式轮询送到被捆绑各个端口的输出队列中排队进行输出。
2、根据权利要求1所述的交换机捆绑端口分流方法,其特征在于:在所述第1)步中,当在地址表中找不到与数据包源地址匹配的记录时,相应增加一个地址表项;地址表项添加时,首先查看捆绑端口寄存器;若捆绑端口寄存器指示该源端口不属于任何捆绑端口,则增加表项时将该表项中端口捆绑有效位置为无效,同时将源端口号和源地址填入表项中;否则若输入数据包的源端口属于某一个捆绑端口,在增加表项时相应将端口捆绑有效位置为有效,同时将捆绑端口组号、源端口号和源地址填入表项中。
3、根据权利要求1所述的交换机捆绑端口分流方法,其特征在于:在所述第2)步中,若该表项中的端口捆绑有效标志位为无效,则按照表项中的目的端口号将数据包转发到相应端口;否则若表项中捆绑端口有效标志位为有效时,转发逻辑以捆绑端口寄存器记录的相应内容作为转发依据,将数据包送到相应的逻辑端口。
4、根据权利要求1所述的交换机捆绑端口分流方法,其特征在于:在所述第3)步中被捆绑各个端口的输出队列按照先进先出的方式排队进行输出;当某个端口输出达到阈值时由它向逻辑端口输出控制逻辑发出阻塞标志,则输出控制逻辑屏蔽该端口,将数据包发送到非堵塞的通道中去;只有当捆绑端口中所有的通道都堵塞时才停止从内部缓存中提取数据包。
5、一种交换芯片,包括均具有数据输入或输出缓存队列的多个数据端口,数据包交换通过端口捆绑方式进行,含有地址表、分流输出控制逻辑、寄存器和对输入的数据进行缓存的内部缓存,其特征在于:地址表中设端口捆绑有效位,指示是否将数据包送到捆绑端口;设捆绑端口组号,指示查找捆绑端口信息的捆绑端口寄存器组号;寄存器标志各端口所属捆绑端口组号;分流输出控制逻辑通过基于流量动态负荷均衡的分流方式将捆绑的两个或多个端口作为转发数据的一个逻辑端口;捆绑端口寄存器还指示数据包送达的捆绑逻辑端口号。
6、根据权利要求5所述的交换芯片,其特征在于:所述分流输出控制逻辑以轮转调度的方式轮询将数据包送到被捆绑各个端口的输出队列,按照先进先出方式排队进行输出;分流输出控制逻辑屏蔽输出达到阈值而发出阻塞标志的端口,并将数据包发送到非堵塞的通道中去;分流输出控制逻辑在捆绑端口中所有的通道都堵塞的情况下停止从内部缓存中提取数据包。
CNB021163898A 2002-04-01 2002-04-01 交换机捆绑端口分流方法及交换机芯片 Expired - Fee Related CN1172488C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021163898A CN1172488C (zh) 2002-04-01 2002-04-01 交换机捆绑端口分流方法及交换机芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021163898A CN1172488C (zh) 2002-04-01 2002-04-01 交换机捆绑端口分流方法及交换机芯片

Publications (2)

Publication Number Publication Date
CN1369991A CN1369991A (zh) 2002-09-18
CN1172488C true CN1172488C (zh) 2004-10-20

Family

ID=4744090

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021163898A Expired - Fee Related CN1172488C (zh) 2002-04-01 2002-04-01 交换机捆绑端口分流方法及交换机芯片

Country Status (1)

Country Link
CN (1) CN1172488C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1311664C (zh) * 2003-03-05 2007-04-18 华为技术有限公司 在分布式网络交换系统中实现的端口捆绑方法
CN1302645C (zh) * 2003-05-26 2007-02-28 华为技术有限公司 网络处理器系统端口捆绑中实现流量均担的方法
US7486697B2 (en) * 2004-05-27 2009-02-03 International Business Machines Corporation Method for negotiating link protocols for link aggregations
CN1780293B (zh) * 2004-11-25 2010-04-28 华为技术有限公司 在有状态会话初始协议服务器上实现过负荷控制的方法
US20060239194A1 (en) * 2005-04-20 2006-10-26 Chapell Christopher L Monitoring a queue for a communication link
CN101325558B (zh) * 2008-07-29 2013-04-24 华为技术有限公司 一种多级多平面结构的数据流发送方法、装置和系统
CN101605091B (zh) * 2009-02-13 2012-02-22 华为技术有限公司 一种多端口负载分担方法、装置和网络系统
WO2012068579A2 (en) * 2010-11-19 2012-05-24 Extreme Networks, Inc. Methods, systems, and computer readable media for next hop scaling with link aggregation
CN104363188B (zh) * 2014-11-07 2018-06-19 北京卓越信通电子股份有限公司 一种硬件冗余的以太网交换机系统
CN106572025A (zh) * 2016-10-19 2017-04-19 盛科网络(苏州)有限公司 一种实现网络流量负载均衡的方法和装置
CN108234360A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种抗阻塞fc交换机级联端口实现与方法

Also Published As

Publication number Publication date
CN1369991A (zh) 2002-09-18

Similar Documents

Publication Publication Date Title
CN1146192C (zh) 以太网交换芯片输出队列管理调度方法和装置
CN1201532C (zh) 具有中心调度程序的atm交换机及其调度方法
CN1172488C (zh) 交换机捆绑端口分流方法及交换机芯片
CN100550833C (zh) 以太网交换缓存及调度的方法和装置
US7620054B2 (en) Network switching device and network switching method
US8397233B2 (en) Systems and methods for preserving the order of data
US8811411B2 (en) Packet aggregation and fragmentation at layer-2 over a managed network
EP1002397B1 (en) A highly integrated multi-layer switch element architecture
EP1045558B1 (en) Very wide memory TDM switching system
CN100579065C (zh) 一种高速数据流的传输方法、装置及数据交换设备
US20060248242A1 (en) Total dynamic sharing of a transaction queue
CN1099788C (zh) 局域网交换器结构
US5434855A (en) Method and apparatus for selective interleaving in a cell-switched network
CN100591048C (zh) 网络流量负载均衡的方法以及第三层交换设备
US8706896B2 (en) Guaranteed bandwidth memory apparatus and method
CN1787489A (zh) 将接口流量在多个网络处理器引擎中均担的方法
US6947418B2 (en) Logical multicast packet handling
CN1677982A (zh) 虚拟局域网标识的可个别地编程的最高有效位
US20040202178A1 (en) Packet switching apparatus
CN1791069A (zh) 输入排队分组交换结构及队列服务规则
CN101547154B (zh) 一种trunk分发方法
CN1719805A (zh) 3D Torus交换网络中报文保序的多路径路由方法
US7826434B2 (en) Buffered crossbar switch
US20050198362A1 (en) Exception packet forwarding
CN102594650A (zh) 处理多播报文的方法和交换接入装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GANGWAN NETWORK CO., LTD.

Effective date: 20061020

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20061020

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: Huawei Technologies Co., Ltd.

Address before: 100089, No. 21 West Third Ring Road, Beijing, Haidian District, Long Ling Building, 13 floor

Patentee before: Harbour Networks Holdings Limited

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041020

Termination date: 20150401

EXPY Termination of patent right or utility model