CN101345708A - 一种生成转发表的方法和装置 - Google Patents
一种生成转发表的方法和装置 Download PDFInfo
- Publication number
- CN101345708A CN101345708A CNA2008101184647A CN200810118464A CN101345708A CN 101345708 A CN101345708 A CN 101345708A CN A2008101184647 A CNA2008101184647 A CN A2008101184647A CN 200810118464 A CN200810118464 A CN 200810118464A CN 101345708 A CN101345708 A CN 101345708A
- Authority
- CN
- China
- Prior art keywords
- slot
- chip
- exchange chip
- port
- exchange
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种生成转发表的方法和装置,应用于包含多个堆叠成员(Slot)的堆叠交换***(Stacking),针对每个Slot执行以下步骤:A.当前Slot利用收集到的该Stacking的堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;B.按照各Slot的最大可***芯片数,将所述基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;C.获取本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。该方法和装置能够简单有效地支持交换芯片的热插拔,并适用于具备不同内部连接拓扑的Slot。
Description
技术领域
本发明涉及网络通信技术,特别涉及一种针对堆叠交换***生成转发表的方法和装置。
背景技术
随着网络技术的不断发展,常常会出现网络规划的交换机端口数量不能够满足不断发展的网络需求,希望能够在不改变原有网络规划拓扑的情况下增加交换机的端口数量,因此,交换机堆叠技术应运而生。交换机堆叠技术是将多台交换机互连在一起形成分布式交换架构,并作为一个逻辑交换实体运行。通常,将形成的该逻辑交换实体称为堆叠交换***(Stacking),组成该堆叠交换***的各交换机称为堆叠成员(Slot),用户可以将该Stacking作为一个单一设备进行管理和使用,并可以通过增加Slot或增加Slot中的交换芯片来拓展端口数量和交换能力,同时也通过多个Slot之间的互相备份增加了整个Stacking的可靠性。
图1为一个Stacking的组成实例图,如图1所示,在该Stacking中包含S1、S2、S3、S4和S5五个Slot,每个Slot对外具有两个堆叠端口P1和P2,各Slot之间通过堆叠端口互连。每个Slot通常都包含多个交换芯片,以S1为例,S1由四块芯片组成,分别为D1、D2、D3和D4,芯片之间通过级联(CSCD,Cascade)端口互连,各交换芯片上的CSCD端口分别用①和②表示。每个Slot中存在一个管理单元(该管理单元在图1中未示出)按照Stacking的组成拓扑结构针对各交换芯片生成芯片级的转发表下发给对应的各交换芯片进行存储,各交换芯片按照自身存储的芯片级转发表进行跨芯片的报文转发。
目前,芯片级转发表的生成过程通常为:绑定堆叠端口与交换芯片之间的连接关系,以及交换芯片各CSCD端口之间连接关系,两个堆叠端口之间的芯片为有效转发路径芯片;例如:在S1中,绑定D1与D2之间的连接关系为D1-②与D2-①,D2与D3之间的连接关系为D2-②与D3-①,D3与D4之间的连接关系为D3-②与D4-①,堆叠端口为D2-P1和D3-P2,D2和D3为有效转发路径芯片,其它Slot也进行类似绑定。各Slot将上述绑定信息、自身的设备ID等携带在探测报文中在该Stacking中逐跳转发,并通过转发和获取其它Slot发送的探测报文来收集该Stacking的堆叠拓扑信息,利用各芯片的绑定关系,按照最短转发路径原则,针对有效转发路径芯片计算芯片级转发表,再利用有效转发路径芯片与非有效转发路径芯片之间的连接关系,计算非有效转发路径芯片的芯片级转发表。
但是,现有技术中的上述芯片级转发表的生成方法是基于各Slot中具体芯片的连接拓扑绑定关系的,任何一个Slot中出现交换芯片的热插拔,都会影响其它Slot的芯片级转发表,使得各Slot必须重新进行探测报文的洪泛、堆叠拓扑信息的收集以及芯片级转发表的计算,实现起来十分麻烦,可见该方法不能有效地支持交换芯片的热插拔。
发明内容
有鉴于此,本发明提供了一种生成转发表的方法和装置,以便于简单有效地支持交换芯片的热插拔。
一种生成转发表的方法,该方法应用于包含多个Slot的Stacking,针对每个Slot执行以下步骤:
A、当前Slot利用收集到的该Stacking的堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;
B、按照各Slot的最大可***芯片数,将所述基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;
C、获取本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。
一种生成转发表的装置,应用于包含多个Slot的Stacking,该装置设置在各Slot中,具体包括:
堆叠拓扑收集单元,用于收集该Stacking的堆叠拓扑信息;
堆叠转发表计算单元,用于利用所述堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;
转发表映射单元,用于按照各Slot的最大可***芯片数,将所述基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;
芯片转发表计算单元,用于获取本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。
由以上技术方案可以看出,本发明提供的上述方法和装置首先根据堆叠拓扑信息,即该Stacking中各Slot之间的连接拓扑,确定基于Slot的堆叠端口转发表,该堆叠端口转发表与各Slot的内部交换芯片连接拓扑无关,无需进行交换芯片与端口之间的绑定;在将基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表时,是按照各Slot的最大可***芯片数进行的,也与各Slot内部交换芯片的实际连接拓扑无关;在某个Slot中出现交换芯片的热插拔时,只需重新获取该Slot中交换芯片的连接拓扑,并根据交换芯片的连接拓扑结合基于芯片的堆叠端口转发表确定各交换芯片的芯片级转发表,而对其它Slot的芯片级转发表不产生影响,无需重新进行探测报文的洪泛、堆叠拓扑信息的收集、堆叠端口转发表的计算等,从而简单有效地支持交换芯片的热插拔。
附图说明
图1为一个Stacking的组成实例图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的S1中交换芯片的转发路径示意图;
图4为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法针对Stacking中的每个Slot执行以下操作:当前Slot利用收集的堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;按照各Slot的最大可***芯片数,将基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;获取本Slot的交换芯片连接拓扑,并结合基于芯片的堆叠端口转发表确定本slot各交换芯片的芯片级转发表。
本发明提供的上述方法核心思想是首先确定基于Slot的堆叠端口转发表,该基于Slot的堆叠端口转发表与各Slot的内部交换芯片连接拓扑无关,然后各Slot利用自身的交换芯片连接拓扑结合基于Slot的堆叠端口转发表确定自身各交换芯片的芯片级转发表,使得在某个Slot中的交换芯片出现热插拔时,由于基于Slot的堆叠端口转发表不发生变化,只需要更新该Slot中交换芯片的连接拓扑并重新计算该Slot中各交换芯片的芯片级转发表,而不会对其它Slot造成影响。
下面结合具体实施例对上述方法进行详细描述,图2为本发明实施例提供的方法流程图,该实施例仍以图1所示结构为例,由于在该方法中Stacking的各Slot执行相同的操作,因此,在该实施例中仅以S1的执行操作为例进行描述,如图2所示,该方法可以包括以下步骤:
步骤201:S1利用各Slot逐跳转发的探测报文收集该Stacking中的堆叠拓扑信息。
在方法中,Stacking中的各Slot无需对自身的交换芯片与堆叠端口和CSCD端口进行绑定,只需要按照通常的探测报文发送方法,发送包含自身设备ID的探测报文;各Slot分别从自身的两个堆叠端口接收到探测报文后记录该探测报文的设备信息列表中其它Slot的相关信息,并在接收到的探测报文的设备信息列表中添加自身的设备ID等后,继续转发给下一跳Slot,如果该Stacking是环状结构,则当从两个堆叠端口分别记录到的Slot的设备信息中,Slot相同且顺序相反,则说明完成堆叠拓扑信息的收集,停止继续转发;如果该Stacking是链状结构,则当收集持续时间达到预设的时间阈值时,停止继续转发,堆叠拓扑信息收集完毕。该堆叠拓扑信息收集过程是目前已有的技术,在此不再具体赘述。通过该转发过程,各Slot能够收集到该Stacking中各Slot的堆叠拓扑信息,例如,其它Slot的设备ID、距离自身的跳数、连接其它Slot所使用的堆叠端口等。
本步骤中收集的堆叠拓扑信息与各Slot内部的交换芯片连接拓扑无关,更不需绑定交换芯片与各端口之间的连接关系。
步骤202:S1利用收集的堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表。
S1利用收集的各Slot距离S1的跳数以及连接其它Slot所使用的堆叠端口,按照最短路径原则,确定使得各Slot距离S1的跳数最小时所对应的堆叠端口,并将该对应关系构成基于Slot的堆叠端口转发表。图1所示结构中S1计算出的基于Slot的堆叠端口转发表如表1所示。
表1
设备ID | 对应的堆叠端口 |
S1 | 0xff |
S2 | P2 |
S3 | P2 |
S4 | P1 |
S5 | P1 |
其中,每个表项表示:本Slot按照最短转发路径原则转发目的为该设备ID所标识Slot的单播报文时所使用的堆叠端口。例如:表项1表示对于目的为S1的单播报文,S1无堆叠端口可转发,因为该报文的目的为本设备,无需通过堆叠端口向其它Slot转发;表项2表示对于目的为S2的单播报文,S1使用堆叠端口P2进行转发可使得转发路径最短;其它表项的含义不再一一赘述。
另外,在本步骤中形成的转发表是对于单播报文而言的,对于组播报文的转发通常是按照源过滤表进行的,在本步骤中,还可以进一步利用收集的堆叠拓扑信息,按照最短路径原则计算基于Slot的源过滤表。图1所示结构中S1计算出的基于Slot的源过滤表可以如表2所示。
表2
源设备ID | P1 | P2 |
S1 | Forward | Forward |
S2 | Forward | Block |
S3 | Block | Block |
S4 | Block | Block |
S5 | Block | Forward |
其中,各表项表示对于源设备为源设备ID所标识Slot的组播报文,S1转发该组播报文所使用的堆叠口。例如:表项1表示对于源设备为S1的组播报文,S1采用堆叠口P1和P2进行转发;表项2表示对于源设备为S2的组播报文,S1采用堆叠口P1进行转发;表项3表示对于源设备为S3的组播报文,S1无需转发给其它Slot,因为S1相比较其它Slot距离S3最远。
步骤203:按照各Slot的最大可***芯片数,在基于Slot的堆叠端口转发表中添入各Slot的可***芯片ID。
本步骤实际上是将基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表,在该映射过程中使用的是各Slot的最大可***芯片数,也就是说,将该Stacking中可能出现的所有芯片都在端口转发表中预留了位置,即便其它Slot的实际***芯片数量发生变化,只要在最大***芯片数内都不需要对堆叠端口转发表进行变更。
由于在进行Stacking构建时通常采用相同型号的Slot,此时各Slot的最大可***芯片数相同,S1在基于Slot的堆叠端口转发表中添入芯片ID时,映射所有可***的芯片。Slot的最大可***芯片数即为该Slot的芯片插槽数,与各Slot当前实际***的芯片数无关。
该方法也支持采用不同型号的Slot,对于这种情况,各Slot在进行探测报文的洪泛时,可以还可以在该探测报文中包含自身的型号信息和最大可***芯片数信息,以便于其它Slot能够在进行基于Slot的堆叠口转发表添加时能够准确的添加相应芯片ID。
对于各芯片的ID,各Slot可以按照默认的顺序进行统一标识,例如,所有Slot都默认从S1的交换芯片开始顺序编号,如果各Slot都采用相同的型号,则各Slot中的芯片ID可以如图1中所示。
本步骤中进行添加处理后,S1对应的基于Slot的堆叠端口转发表如表3所示。
表3
从表3中可以获知,对于目的为某具体交换芯片时,S1转发单播报文所采用的堆叠端口。
步骤204:S1获取自身的交换芯片连接拓扑,并根据该交换芯片连接拓扑确定S1中所有以叶节点为起点的转发路径。
本步骤中,S1可以对自身内部的交换芯片进行遍历,从而动态获取自身的交换芯片连接拓扑,例如,在S1中发生交换芯片的热插拔时,获取自身的交换芯片连接拓扑。该交换芯片的连接拓扑包括:当前***的交换芯片数量、交换芯片之间互连的CSCD端口、堆叠端口数目、堆叠端口所在的交换芯片等。
另外,由于本步骤中,S1能够通过对内部交换芯片进行遍历的方式动态获取交换芯片的连接拓扑,因此,对于不同产品的交换机,其内部交换芯片的拓扑可能采用不同的连接方式,各Slot可以根据自身交换机的产品类型自动适配,支持内部交换芯片的各种连接方式。并且,能够在内部交换芯片的连接拓扑发生变化时,重新进行遍历获取新的交换芯片的连接拓扑,从而重新进行步骤205中基于芯片的堆叠端口转发表的计算,并利用重新计算的结果刷新各交换芯片的芯片级转发表。
本步骤中,确定了交换芯片的连接拓扑后,需要进一步确定该S 1中所有的有效转发路径,该实施例中S1中的交换芯片采用链式结构,因此,所有的有效转发路径可以为所有以叶节点为起点的转发路径;如果S1中交换芯片采用环形结构,则所有的有效转发路径为以任意交换芯片为起点的转发路径,即任意交换芯片之间的转发路径和任意芯片到堆叠端口之间的转发路径。
以图1所示的链式交换芯片结构为例,确定S1中所有以叶节点为起点的转发路径时,S1的所有转发路径可以如图3所示,图中虚线箭头所示,主要存在6条转发路径:D1-P1路径、D4-P1路径、D1-P2路径、D4-P2路径、D1-D4路径以及D4-D1路径。
步骤205:利用S1中所有以叶节点为起点的转发路径以及经步骤204后得到的基于芯片的堆叠端口转发表,确定S1中各交换芯片的芯片级转发表。
本步骤中确定的各交换芯片的转发表中的内容为:通过该交换芯片的各端口转发单播报文所能够到达的该Stacking中的交换芯片。具体确定过程可以采用以下步骤:
步骤1)计算各交换芯片的各CSCD端口在上述各转发路径上作为转发端口的转发表。
在如图1所示结构的S1中存在6条转发路径,在进行步骤1)的计算时,需要在这6条转发路径上分别计算各交换芯片的各CSCD端口作为转发端口的转发表。
在这6条转发路径中,主要存在以下两种转发路径上CSCD端口转发表的计算:
其一、如果某转发路径的目的节点为堆叠口所在芯片,则在该转发路径上交换芯片的CSCD端口转发表为:目的节点的堆叠口在基于Slot的堆叠端口转发表中对应的芯片集合与在该转发路径上该CSCD端口所途径芯片的集合所形成的并集。例如:
在D1-P2路径上交换芯片D1的端口②转发表=(P2在基于Slot的堆叠端口转发表中对应的芯片集合)U(D1的端口②在D1-P2路径上所途径芯片的集合)=(D5,D6,D7,D8,D9,D10,D11,D12)U(D2,D3)=(D2,D3,D6,D7,D8,D9,D10,D11,D12)
在D1-P1路径上交换芯片D1的端口②转发表=(P1在基于Slot的堆叠端口转发表中对应的芯片集合)U(D1的端口②在D1-P1路径上所途径芯片的集合)=(D13,D14,D15,D16,D17,D18,D19,D20)U(D2)=(D2,D13,D14,D15,D16,D17,D18,D19,D20)
由于D4-P1和D4-P2路径中交换芯片D1的端口②不作为转发端口,因此,在这两个转发路径上交换芯片D1的端口②的转发表不需计算。
其它交换芯片的情况类似,不再一一赘述。
其二、如果某转发路径的目的节点为叶节点,则在该转发路径上交换芯片的CSCD端口转发表为:在该转发路径上该CSCD端口所途径芯片的集合。例如:
在D1-D4路径上交换芯片D1的端口②转发表=D1的端口②在D1-D4路径上所途径芯片的集合=(D2,D3,D4)
由于在D4-D1路径上交换芯片D1的端口②不作为转发端口,而是接收端口,因此,在D4-D1路径上交换芯片D1的端口②转发表无需计算。
步骤2)针对各交换芯片的各CSCD端口,将步骤1)计算的在所有转发路径上作为转发端口的转发表的并集作为该交换芯片的该CSCD端口转发表。例如:
交换芯片D1的端口②转发表=(在D1-P2路径上交换芯片D1的端口②转发表)U(在D1-P1路径上交换芯片D1的端口②转发表)U(在D1-D4路径上交换芯片D1的端口②转发表)U(在D4-D1路径上交换芯片D1的端口②转发表)=(D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20)
针对S1中所有交换芯片的各CSCD端口计算出的转发表如下:
交换芯片D2的端口①转发表=(D1)
交换芯片D2的端口②转发表=(D3,D4,D5,D6,D7,D8,D9,D10,D11,D12)
交换芯片D3的端口①转发表=(D1,D2,D13,D14,D15,D16,D17,D18,D19,D20)
交换芯片D3的端口②转发表=(D4)
交换芯片D4的端口①转发表=(D1,D2,D3,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20)
上面所述的交换芯片的CSCD端口转发表的内容包括:通过该交换芯片的该CSCD端口转发单播报文所能够达到的该Stacking中的交换芯片。
另外,交换芯片D2和D3上还分别具有端口P1和端口P2,交换芯片D2的端口P1转发表和交换芯片D3的端口P2转发表可以从基于Slot的堆叠端口转发表中直接获得,即:
交换芯片D2的端口P1转发表=(D13,D14,D15,D16,D17,D18,D19,D20)
交换芯片D3的端口P2转发表=(D5,D6,D7,D8,D9,D10,D11,D12)
对于每一个交换芯片,如果该交换芯片不存在堆叠端口,则将该交换芯片的所有CSCD端口转发表作为该交换芯片的芯片级转发表;如果该交换芯片存在堆叠端口,则将该交换芯片的所有CSCD端口转发表和该交换芯片的堆叠端口所对应的堆叠端口转发表作为该交换芯片的芯片级转发表。
例如,S1将交换芯片D1的端口①转发表作为D1的芯片级转发表;将交换芯片D2的端口①转发表、交换芯片D2的端口②转发表以及交换芯片D2的端口P1转发表作为D2的芯片级转发表。
步骤206:S1将各交换芯片的芯片级转发表下发给对应的交换芯片进行存储,以便各交换芯片根据自身的芯片级转发表进行单播报文的转发。
在图2所示流程中,步骤201至步骤203仅与Stacking中的堆叠拓扑即各Slot之间的连接拓扑相关,即仅需在Stacking的最初构建执行,只要Stacking中Slot的连接拓扑不发生变化,则步骤201至步骤203的计算结果不需要发生变化。步骤204至步骤205的计算与Slot内部交换芯片的连接拓扑相关,当某个Slot内部交换芯片的连接拓扑发生变化,例如发生热插拔,则只需在该Slot内部重新进行连接拓扑的获取、转发路径的确定和芯片级转发表的计算,即针对该Slot重新执行步骤204和步骤205,并将重新生成的芯片级转发表下发给对应的交换芯片以便交换芯片对存储的转发表进行更新,对其它Slot不会产生影响。
以上是对本发明所提供方法进行的描述,下面对本发明所提供的装置进行详细描述。图4为本发明实施例提供的装置结构图,该装置可以设置在各Slot中,以管理单元的形式存在。如图4所示,该装置可以包括:堆叠拓扑收集单元400、堆叠转发表计算单元410、转发表映射单元420和芯片转发表计算单元430。
堆叠拓扑收集单元400,用于收集该Stacking的堆叠拓扑信息。
堆叠拓扑收集单元400在接收到其它Slot洪泛的包含设备信息列表的探测报文后,记录设备信息列表中其它Slot的设备信息,并在该探测报文的设备信息列表中添加本Slot的设备信息后继续转发,通过该过程可以收集到该Stacking中所有Slot之间的连接拓扑信息,即堆叠拓扑信息,可以包括:其它各Slot的设备ID、其它各Slot距离本Slot的跳数以及本Slot连接其它Slot所使用的堆叠端口。
堆叠转发表计算单元410,用于利用堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表。
该得到的基于Slot的堆叠端口转发表中的每个表项可以包含:设备ID,以及本Slot按照最短转发路径原则转发目的为该设备ID所标识Slot的单播报文时所使用的堆叠端口。
转发表映射单元420,用于按照各Slot的最大可***芯片数,将基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表。
芯片转发表计算单元430,用于获取本Slot的交换芯片连接拓扑,并结合基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。
该芯片转发表计算单元430可以动态获取当前***的交换芯片连接拓扑,一旦当前***的交换芯片连接拓扑发生变化,例如新***一个交换芯片,或者拨出一个交换芯片,该芯片转发表计算单元430都能够获取到新的交换芯片连接拓扑,并重新结合基于芯片的堆叠端口转发表进行确定本slot各交换芯片的芯片级转发表的操作。
其中,推叠拓扑收集单元410可以具体包括:报文接收子单元411、报文发送子单元412和信息处理子单元413。
报文接收子单元411,用于接其它Slot逐跳转发来的包含设备信息列表的探测报文。
信息处理子单元413,用于记录所述设备信息列表中其它Slot的设备信息,并在所述探测报文的设备信息列表中添加本Slot的设备信息后,将该探测报文提供给报文发送子单元412;利用记录的所有其它Slot的设备信息收集该Stacking的推叠拓扑信息。
报文发送子单元412,用于将信息处理子单元413提供的探测报文转发给下一跳Slot,直至接收到的探测报文为自身发送的探测报文。
其中,转发表映射单元420可以包括:芯片数获取子单元421和转发表映射子单元422。
芯片数获取子单元421,用于在Stacking中的各Slot采用相同型号时,将本Slot的最大可***芯片数作为各Slot的最大可***芯片数;在Stacking中的各Slot采用不同型号时,从接收到的探测报文中获取其它各Slot的最大可***芯片数。
转发表映射子单元422,用于按照各Slot的最大可***芯片数,在基于Slot的堆叠端口转发表的对应表项中添入各Slot可***的芯片ID从而得到基于芯片的堆叠端口转发表。
其中,该基于芯片的堆叠端口转发表用来表征:从当前Slot转发单播报文到各芯片ID标识的交换芯片所使用的堆叠端口。
上述芯片转发表计算单元430可以包括:内部拓扑获取子单元431、路径确定子单元432、第一计算子单元433、第二计算子单元434和芯片转发表确定子单元435。
内部拓扑获取子单元431,用于获取本Slot中当前***的交换芯片连接拓扑。
路径确定子单元432,用于根据内部拓扑获取子单元431获取的交换芯片连接拓扑,确定本Slot中所有交换芯片的有效转发路径。
第一计算子单元433,用于利用基于芯片的堆叠端口转发表,分别计算本Slot中各交换芯片的各CSCD端口在路径确定子单元确定的各有效转发路径上作为转发端口的转发表。
在确定各有效转发路径上的CSCD端口的转发表时,如果某转发路径的目的节点为堆叠口所在芯片,则在该转发路径上交换芯片的CSCD端口转发表为:目的节点的堆叠口在基于Slot的堆叠端口转发表中对应的芯片集合与在该转发路径上该CSCD端口所途径芯片的集合所形成的并集;如果某转发路径的目的节点为叶节点,则在该转发路径上交换芯片的CSCD端口转发表为:在该转发路径上该CSCD端口所途径芯片的集合。
第二计算子单元434,用于针对本Slot中的每一个交换芯片的每一个CSCD端口,将其在各有效转发路径上作为转发端口的转发表的并集作为该交换芯片的该CSCD端口转发表。
其中,交换芯片的CSCD端口转发表的内容为:通过该交换芯片的该CSCD端口转发单播报文所能够到达的Stacking中的交换芯片。
芯片转发表确定子单元435,用于针对每一个交换芯片执行以下操作:如果该交换芯片不存在堆叠端口,则将该交换芯片的所有CSCD端口转发表作为该交换芯片的芯片级转发表;如果该交换芯片存在堆叠端口,则将该交换芯片的所有CSCD端口转发表以及该交换芯片的堆叠端口所对应的堆叠端口转发表作为该交换芯片的芯片级转发表。
其中,如果本Slot中交换芯片采用链式结构,则第一计算子单元433确定的所有交换芯片的有效转发路径为:所有以叶节点为起点的转发路径;如果本Slot中交换芯片采用环形结构,则第一计算子单元433确定的所有交换芯片的有效转发路径为以任意交换芯片为起点的所有转发路径。
由以上描述可以看出,本发明提供的上述方法和装置具备以下优点:
1)该方法和装置首先根据堆叠拓扑信息,即该Stacking中各Slot之间的连接拓扑,确定基于Slot的堆叠端口转发表,该堆叠端口转发表与各Slot的内部交换芯片连接拓扑无关,无需进行交换芯片与端口之间的绑定;在将基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表时,是按照各Slot的最大可***芯片数进行的,也与各Slot内部交换芯片的实际连接拓扑无关;在某个Slot中出现交换芯片的热插拔时,只需重新获取该Slot中交换芯片的连接拓扑,并根据交换芯片的连接拓扑结合基于芯片的堆叠端口转发表确定各交换芯片的芯片级转发表,而对其它Slot的芯片级转发表不产生影响,无需重新进行探测报文的洪泛、堆叠拓扑信息的收集、堆叠端口转发表的计算等,从而简单有效地支持交换芯片的热插拔。
2)更优地,由于本发明提供的方法和装置并不限定各Slot的具体硬件实现,即能够自适应Slot中不同的交换芯片连接拓扑,不仅能够应用于链式连接的交换芯片,也能够应用于环形连接的交换芯片,并且,不会对其它Slot中交换芯片的连接方式产生影响。也就是说,本发明能够使用于不同型号、不同厂家、不同内部交换芯片连接拓扑等的Slot所构成的Stacking。
3)由于该方法不需要对交换芯片与堆叠端口和CSCD端口之间进行绑定,因此,Stacking中各Slot的堆叠端口可以灵活指定,在任意交换芯片上指定堆叠端口。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1、一种生成转发表的方法,其特征在于,该方法应用于包含多个堆叠成员Slot的堆叠交换***Stacking,针对每个Slot执行以下步骤:
A、当前Slot利用收集到的该Stacking的堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;
B、按照各Slot的最大可***芯片数,将所述基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;
C、获取本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。
2、根据权利要求1所述的方法,其特征在于,在所述步骤A之前还包括:所述当前Slot利用各Slot逐跳转发的探测报文收集该Stacking的堆叠拓扑信息;具体为:所述当前Slot从堆叠端口接收到其它Slot逐跳转发的包含设备信息列表的探测报文后,记录所述设备信息列表中其它Slot的设备信息,并在所述探测报文的设备信息列表中添加本Slot的设备信息后转发给下一跳Slot,直至从两个堆叠端口分别记录到的Slot的设备信息中Slot相同且顺序相反,或者收集持续时间达到预设的时间阈值;利用记录的其它Slot的设备信息收集该Stacking的堆叠拓扑信息。
3、根据权利要求1或2所述的方法,其特征在于,所述堆叠拓扑信息包括:该Stacking中其它各Slot的设备ID、其它各Slot距离本Slot的跳数以及本Slot连接其它Slot所使用的堆叠端口。
4、根据权利要求3所述的方法,其特征在于,所述步骤A计算的基于Slot的堆叠端口转发表中的每个表项包含:设备ID,以及,本Slot按照最短转发路径原则转发目的为该设备ID所标识Slot的单播报文时所使用的堆叠端口。
5、根据权利要求1述的方法,其特征在于,所述步骤B具体为:按照各Slot的最大可***芯片数,在所述基于Slot的堆叠端口转发表的对应表项中添入各Slot可***的芯片ID从而得到基于芯片的堆叠端口转发表,该基于芯片的堆叠端口转发表表征从当前Slot转发单播报文到所述Stacking各芯片ID标识的交换芯片所使用的堆叠端口。
6、根据权利要求1所述的方法,其特征在于,在所述步骤C之后,如果所述当前Slot获知本Slot的交换芯片连接拓扑发生变化,则重新执行所述步骤C。
7、根据权利要求1或6所述的方法,其特征在于,步骤C中所述交换芯片连接拓扑包括:本Slot当前***的交换芯片数量、交换芯片之间互连的级联CSCD端口、堆叠端口数目和堆叠端口所在的交换芯片。
8、根据权利要求1或6所述的方法,其特征在于,所述步骤C具体包括:
C1:对本Slot中当前***的交换芯片进行遍历,获取本Slot的交换芯片连接拓扑,根据该交换芯片连接拓扑确定本Slot中所有交换芯片的有效转发路径;
C2:利用所述基于芯片的堆叠端口转发表,分别计算本Slot中各交换芯片的各CSCD端口在步骤C1确定的各有效转发路径上作为转发端口的转发表;
C3:针对本Slot中的每一个交换芯片的每一个CSCD端口,将其在各有效转发路径上作为转发端口的转发表的并集作为该交换芯片的该CSCD端口转发表;
C4:对于每一个交换芯片,如果该交换芯片不存在堆叠端口,则将该交换芯片的所有CSCD端口转发表作为该交换芯片的芯片级转发表;如果该交换芯片存在堆叠端口,则将该交换芯片的所有CSCD端口转发表以及该交换芯片的堆叠端口所对应的堆叠端口转发表作为该交换芯片的芯片级转发表;
其中,交换芯片的CSCD端口转发表的内容为:通过该交换芯片的该CSCD端口转发单播报文所能够到达的所述Stacking中的交换芯片。
9、根据权利要求8所述的方法,其特征在于,如果所述当前Slot中的交换芯片采用链式结构,则步骤C1中所述所有交换芯片的有效转发路径为:所有以叶节点为起点的转发路径;
如果所述当前Slot中的交换芯片采用环形结构,则步骤C1中所述所有交换芯片的有效转发路径为:以任意交换芯片为起点的所有转发路径。
10、一种生成转发表的装置,其特征在于,应用于包含多个Slot的Stacking,该装置设置在各Slot中,具体包括:
堆叠拓扑收集单元,用于收集该Stacking的堆叠拓扑信息;
堆叠转发表计算单元,用于利用所述堆叠拓扑信息,按照最短路径原则计算基于Slot的堆叠端口转发表;
转发表映射单元,用于按照各Slot的最大可***芯片数,将所述基于Slot的堆叠端口转发表映射为基于芯片的堆叠端口转发表;
芯片转发表计算单元,用于获取本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表确定本Slot各交换芯片的芯片级转发表。
11、根据权利要求10所述的装置,其特征在于,所述堆叠拓扑收集单元包括:报文接收子单元、报文发送子单元和信息处理子单元;
所述报文接收子单元,用于从堆叠端口接收其它Slot逐跳转发来的包含设备信息列表的探测报文;
所述信息处理子单元,用于记录所述设备信息列表中其它Slot的设备信息,并在所述探测报文的设备信息列表中添加本Slot的设备信息后,将该探测报文提供给报文发送子单元;利用记录的所有其它Slot的设备信息收集该Stacking的推叠拓扑信息;
所述报文发送子单元,用于将信息处理子单元提供的探测报文转发给下一跳Slot,直至所述信息处理子单元从两个堆叠端口分别记录到的Slot的设备信息中Slot相同且顺序相反,或者收集持续时间达到预设的时间阈值。
12、根据权利要求10所述的装置,其特征在于,所述堆叠转发表计算单元计算的基于Slot的堆叠端口转发表中的每个表项包含:设备ID,以及,本Slot按照最短转发路径原则转发目的为该设备ID所标识Slot的单播报文时所使用的堆叠端口。
13、根据权利要求10所述的装置,其特征在于,所述转发表映射单元包括:
芯片数获取子单元,用于在所述Stacking中的各Slot采用相同型号时,将本Slot的最大可***芯片数作为各Slot的最大可***芯片数;在所述Stacking中的各Slot采用不同型号时,从所述接收到的探测报文中获取其它各Slot的最大可***芯片数;
转发表映射子单元,用于按照所述各Slot的最大可***芯片数,在所述基于Slot的堆叠端口转发表的对应表项中添入各Slot可***的芯片ID从而得到基于芯片的堆叠端口转发表。
14、根据权利要求10所述的装置,其特征在于,所述芯片转发表计算单元包括:
内部拓扑获取子单元,用于对本Slot中当前***的交换芯片进行遍历,获取本Slot中当前***的交换芯片连接拓扑;
路径确定子单元,用于根据所述内部拓扑获取子单元获取的交换芯片连接拓扑,确定本Slot中所有交换芯片的有效转发路径;
第一计算子单元,用于利用所述基于芯片的堆叠端口转发表,分别计算本Slot中各交换芯片的各CSCD端口在所述路径确定子单元确定的各有效转发路径上作为转发端口的转发表;
第二计算子单元,用于针对本Slot中的每一个交换芯片的每一个CSCD端口,将其在各有效转发路径上作为转发端口的转发表的并集作为该交换芯片的该CSCD端口转发表;
芯片转发表确定子单元,用于针对每一个交换芯片执行以下操作:如果该交换芯片不存在堆叠端口,则将该交换芯片的所有CSCD端口转发表作为该交换芯片的芯片级转发表;如果该交换芯片存在堆叠端口,则将该交换芯片的所有CSCD端口转发表以及该交换芯片的堆叠端口所对应的堆叠端口转发表作为该交换芯片的芯片级转发表。
15、根据权利要求14所述的装置,其特征在于,如果本Slot中交换芯片采用链式结构,则所述第一计算子单元确定的所有交换芯片的有效转发路径为:所有以叶节点为起点的转发路径;
如果本Slot中交换芯片采用环形结构,则所述第一计算子单元确定的所有交换芯片的有效转发路径为以任意交换芯片为起点的所有转发路径。
16、根据权利要求10所述的装置,其特征在于,所述芯片转发表计算单元,还用于获知本Slot的交换芯片连接拓扑发生变化时,获取变化后本Slot的交换芯片连接拓扑,并结合所述基于芯片的堆叠端口转发表重新确定本Slot各交换芯片的芯片级转发表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101184647A CN101345708B (zh) | 2008-08-25 | 2008-08-25 | 一种生成转发表的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101184647A CN101345708B (zh) | 2008-08-25 | 2008-08-25 | 一种生成转发表的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101345708A true CN101345708A (zh) | 2009-01-14 |
CN101345708B CN101345708B (zh) | 2010-12-22 |
Family
ID=40247601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101184647A Active CN101345708B (zh) | 2008-08-25 | 2008-08-25 | 一种生成转发表的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101345708B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010009639A1 (zh) * | 2008-07-25 | 2010-01-28 | 华为技术有限公司 | 堆叠交换机分离和复合的方法及*** |
CN101605104B (zh) * | 2009-07-23 | 2012-04-18 | 杭州华三通信技术有限公司 | 堆叠设备中的流量转发方法和设备 |
CN101599900B (zh) * | 2009-07-14 | 2012-04-25 | 杭州华三通信技术有限公司 | 堆叠***及其报文转发方法 |
CN103200101A (zh) * | 2013-04-15 | 2013-07-10 | 昆山天元昌电子有限公司 | 基于交换芯片的openflow多表查询的方法及装置 |
CN103401774A (zh) * | 2013-07-18 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种基于堆叠***的报文转发方法和设备 |
CN103607351A (zh) * | 2013-10-31 | 2014-02-26 | 杭州华三通信技术有限公司 | 一种芯片转发表项生成方法及设备 |
WO2015003602A1 (en) * | 2013-07-09 | 2015-01-15 | Hangzhou H3C Technologies Co., Ltd. | Member device of stacked switches system |
CN104639441A (zh) * | 2015-02-05 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种单播报文转发方法和装置 |
WO2015070787A1 (en) * | 2013-11-14 | 2015-05-21 | Hangzhou H3C Technologies Co., Ltd. | Stacking system |
CN104883630A (zh) * | 2015-05-08 | 2015-09-02 | 烽火通信科技股份有限公司 | Pon***中组播级联的适配***和方法 |
CN103731376B (zh) * | 2013-12-10 | 2017-05-17 | 迈普通信技术股份有限公司 | 堆叠设备上链路汇聚根端口选择的方法及*** |
CN108933720A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 环形***的信息处理方法、装置、***及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100349423C (zh) * | 2005-12-31 | 2007-11-14 | 杭州华三通信技术有限公司 | 堆叠***中文件的访问方法 |
CN100479408C (zh) * | 2007-03-12 | 2009-04-15 | 中兴通讯股份有限公司 | 一种堆叠***内部转发表的实现方法 |
-
2008
- 2008-08-25 CN CN2008101184647A patent/CN101345708B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010009639A1 (zh) * | 2008-07-25 | 2010-01-28 | 华为技术有限公司 | 堆叠交换机分离和复合的方法及*** |
CN101599900B (zh) * | 2009-07-14 | 2012-04-25 | 杭州华三通信技术有限公司 | 堆叠***及其报文转发方法 |
CN101605104B (zh) * | 2009-07-23 | 2012-04-18 | 杭州华三通信技术有限公司 | 堆叠设备中的流量转发方法和设备 |
CN103200101B (zh) * | 2013-04-15 | 2015-12-23 | 昆山天元昌电子有限公司 | 基于交换芯片的openflow多表查询的方法及装置 |
CN103200101A (zh) * | 2013-04-15 | 2013-07-10 | 昆山天元昌电子有限公司 | 基于交换芯片的openflow多表查询的方法及装置 |
US9673999B2 (en) | 2013-07-09 | 2017-06-06 | Hewlett Packard Enterprise Development Lp | Member device of stacked switches system |
WO2015003602A1 (en) * | 2013-07-09 | 2015-01-15 | Hangzhou H3C Technologies Co., Ltd. | Member device of stacked switches system |
CN103401774A (zh) * | 2013-07-18 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种基于堆叠***的报文转发方法和设备 |
CN103607351A (zh) * | 2013-10-31 | 2014-02-26 | 杭州华三通信技术有限公司 | 一种芯片转发表项生成方法及设备 |
CN103607351B (zh) * | 2013-10-31 | 2017-08-22 | 新华三技术有限公司 | 一种芯片转发表项生成方法及设备 |
WO2015070787A1 (en) * | 2013-11-14 | 2015-05-21 | Hangzhou H3C Technologies Co., Ltd. | Stacking system |
CN103731376B (zh) * | 2013-12-10 | 2017-05-17 | 迈普通信技术股份有限公司 | 堆叠设备上链路汇聚根端口选择的方法及*** |
CN104639441A (zh) * | 2015-02-05 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种单播报文转发方法和装置 |
CN104639441B (zh) * | 2015-02-05 | 2019-01-08 | 新华三技术有限公司 | 一种单播报文转发方法和装置 |
CN104883630A (zh) * | 2015-05-08 | 2015-09-02 | 烽火通信科技股份有限公司 | Pon***中组播级联的适配***和方法 |
CN104883630B (zh) * | 2015-05-08 | 2018-11-06 | 烽火通信科技股份有限公司 | Pon***中组播级联的适配***和方法 |
CN108933720A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 环形***的信息处理方法、装置、***及存储介质 |
CN108933720B (zh) * | 2017-05-25 | 2021-11-02 | 中兴通讯股份有限公司 | 环形***的信息处理方法、装置、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101345708B (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101345708B (zh) | 一种生成转发表的方法和装置 | |
CN102474903B (zh) | 低延迟网状网络 | |
CN103312547A (zh) | 通信方法、装置及*** | |
CN109949160A (zh) | 一种区块链的分片方法及装置 | |
CN111404822B (zh) | 数据传输方法、装置、设备以及计算机可读存储介质 | |
CN102934398B (zh) | 拓扑检测***及中继装置 | |
CN103036787A (zh) | 一种网络路由收敛处理方法和装置 | |
CN103780496B (zh) | 应用于星型堆叠***中的报文转发方法和设备 | |
CN107104824A (zh) | 一种网络拓扑确定方法和装置 | |
CN102142991B (zh) | 网络割接仿真的方法和*** | |
CN103607351A (zh) | 一种芯片转发表项生成方法及设备 | |
CN103546559B (zh) | 数据分发方法和装置 | |
CN104243536B (zh) | 一种高速列车控制网络半实物仿真*** | |
CN103580923B (zh) | 软件部署的方法和装置 | |
CN109726091A (zh) | 一种日志管理方法及相关装置 | |
CN104796336B (zh) | 一种配置、下发流表项的方法及装置 | |
CN102210128B (zh) | 路径计算顺序决定方法以及计算装置 | |
CN101369934B (zh) | 网络模拟方法及网络模拟*** | |
CN106878170A (zh) | 一种转发路径确定方法和装置 | |
CN102938918A (zh) | 一种无线传感器网络管理的方法、装置以及*** | |
CN102984739A (zh) | 故障信息处理方法及装置 | |
CN104579809B (zh) | 一种堆叠***的检测方法和设备 | |
CN101547188B (zh) | 一种实现无线传感器网络通用路由协议的***及方法 | |
CN108092896A (zh) | 堆叠***和聚合组建立装置 | |
CN103404080B (zh) | 检测路径通信质量的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |