專利名稱:層疊多個(gè)數(shù)據(jù)交換機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于層疊多個(gè)數(shù)據(jù)交換機(jī)(如以太網(wǎng)交換機(jī))的方法,以及涉及按照層疊排列的多個(gè)數(shù)據(jù)交換機(jī)。
背景技術(shù):
如以太網(wǎng)交換機(jī)等數(shù)據(jù)交換機(jī)在其端口對之間傳遞數(shù)據(jù)分組。數(shù)據(jù)交換機(jī)的端口數(shù)是有限的,因此,經(jīng)常需要“層疊”多個(gè)數(shù)據(jù)交換機(jī),即好像其構(gòu)成了具有更多端口的單一交換機(jī)那樣進(jìn)行操作。
傳統(tǒng)上,通過將交換機(jī)之一指定為主交換機(jī)來實(shí)現(xiàn)層疊。主交換機(jī)的CPU通過其他交換機(jī)(“從交換機(jī)”)的專用輸入向這些交換機(jī)發(fā)送控制信號,以對其進(jìn)行控制。除了每個(gè)交換機(jī)需要專用輸入以外,需要總線連接所有交換機(jī),以便在主交換機(jī)和每個(gè)從交換機(jī)之間傳遞信號。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供用于層疊多個(gè)數(shù)據(jù)交換機(jī)的新且有用的方法,以及已經(jīng)層疊的交換機(jī)陣列。
概括地,本發(fā)明提出了使用其用于接收和傳輸分組的端口使多個(gè)交換機(jī)彼此相連。給定的一個(gè)交換機(jī)(主交換機(jī))向一個(gè)或多個(gè)其他交換機(jī)(從交換機(jī))傳遞指令,并接收來自從交換機(jī)的響應(yīng),作為通過交換機(jī)網(wǎng)絡(luò)的數(shù)據(jù)分組。
優(yōu)選地,成對地連接從交換機(jī)。主交換機(jī)發(fā)布去往從交換機(jī)的指令,作為通過網(wǎng)絡(luò)的可識別命令分組,直到其到達(dá)執(zhí)行其的從交換機(jī)。來自從交換機(jī)的響應(yīng)為通過網(wǎng)絡(luò)到達(dá)主交換機(jī)的響應(yīng)分組的形式。
現(xiàn)在,將參照附圖,僅作為示例,對本發(fā)明的優(yōu)選特征進(jìn)行描述,其中圖1示出了作為本發(fā)明第一實(shí)施例的交換機(jī)的第一網(wǎng)絡(luò);圖2示出了作為本發(fā)明第二實(shí)施例的交換機(jī)的第二網(wǎng)絡(luò);以及圖3示出了作為本發(fā)明第三實(shí)施例的交換機(jī)的第三網(wǎng)絡(luò)。
具體實(shí)施例方式
參照圖1,示出了芯片網(wǎng)絡(luò),作為本發(fā)明的第一實(shí)施例。所述網(wǎng)絡(luò)包括三個(gè)從交換機(jī)1、2、3和具有CPU 7的主交換機(jī)5。交換機(jī)1、2、3、5中的每一個(gè)均具有多個(gè)端口,至少兩個(gè)端口為吉比特端口9。具體地,交換機(jī)1和5具有2個(gè)吉比特端口和48個(gè)FE(快速以太網(wǎng))端口,而交換機(jī)2和3具有4個(gè)入口/出口吉比特端口和32個(gè)FE端口。每個(gè)端口均由入口接口和出口接口構(gòu)成。從交換機(jī)1、2、3通常具有其自身的CPU(未示出),被稱為虛擬CPU(VCPU)。
交換機(jī)1、2、3、5的大多數(shù)端口通常與設(shè)備相連,但交換機(jī)也彼此成對地相連,每個(gè)交換機(jī)的兩個(gè)吉比特端口與兩個(gè)其他交換機(jī)的各個(gè)吉比特端口相連。應(yīng)當(dāng)注意,交換機(jī)2、3具有位于一個(gè)的吉比特出口端口和另一個(gè)的吉比特出口端口之間的額外連接。這被稱為對兩個(gè)端口進(jìn)行“中繼連接”,從而有效地給出了一個(gè)具有更高帶寬的端口。
圖2示出了作為本發(fā)明的第二實(shí)施例的芯片的網(wǎng)絡(luò)。在這種情況下,由其CPU(主CPU 13)控制的主交換機(jī)11具有8個(gè)吉比特端口,其利用其全部端口,將主交換機(jī)與四個(gè)從交換機(jī)15、16、17、18相連。
多種其他拓?fù)湟彩强赡艿?。例如,圖3示出了作為本發(fā)明的另一實(shí)施例的交換機(jī)的網(wǎng)絡(luò),其與圖2所示的網(wǎng)絡(luò)的不同之處僅在于出現(xiàn)了另一交換機(jī)19與從交換機(jī)15相連,而且交換機(jī)15現(xiàn)在為具有32個(gè)FE端口和4個(gè)吉比特端口的32/4G交換機(jī)。
多種拓?fù)渚哂谐蓪B接從交換機(jī)的特征,或者作為返回到主交換機(jī)的至少一個(gè)環(huán)路(如圖1所示),或者作為簡單終止的、從交換機(jī)的多達(dá)四個(gè)的鏈路(如圖3中的交換機(jī)15、19的鏈路所示)。
在這些實(shí)施例中,由發(fā)布作為由交換機(jī)識別的特定命令數(shù)據(jù)分組的主交換機(jī)對網(wǎng)絡(luò)進(jìn)行操作。例如,這可能是因?yàn)槠湓跀?shù)據(jù)分組的源部分中攜帶有從交換機(jī)能夠識別的特定MAC地址。在執(zhí)行了命令之后,從交換機(jī)可以通過向主交換機(jī)回傳響應(yīng)分組來進(jìn)行響應(yīng)(例如,如果該命令要求其)。
應(yīng)當(dāng)注意,在圖1和2中,存在主交換機(jī)并未與之直接相連的數(shù)據(jù)交換機(jī)。這意味著命令分組和響應(yīng)分組經(jīng)由命令/響應(yīng)處理中并未直接涉及的、而是根據(jù)其正常操作簡單地傳遞分組的從交換機(jī),通過主交換機(jī)和從交換機(jī)之間的網(wǎng)絡(luò)。
例如,如以下詳細(xì)所述,優(yōu)選地,主交換機(jī)最初并不知道其他交換機(jī)及其拓?fù)?。在網(wǎng)絡(luò)的初始化階段中,主交換機(jī)使用可以被稱為識別命令分組的命令分組類型來執(zhí)行拓?fù)錂z測例程。
主交換機(jī)11通過其所有被指定用于控制其他交換機(jī)的輸出端口(即,在圖2和3的情況下,為其所有出口端口),傳輸識別命令分組,要求從交換機(jī)識別其自身。以圖3為例,圖3中的從交換機(jī)15第一次接收到這種識別命令分組時(shí),其通過直接向主交換機(jī)11傳遞響應(yīng)分組來進(jìn)行響應(yīng),主交換機(jī)11對其進(jìn)行識別和解譯,從而主交換機(jī)11知道它的存在。然而,在從交換機(jī)15第二次接收到這種識別命令分組的情況下,從交換機(jī)15將其傳遞給成對的下一芯片19,芯片19產(chǎn)生要傳遞給從交換機(jī)15的響應(yīng)分組,并由從交換機(jī)15將其傳遞給主交換機(jī)11,主交換機(jī)11對響應(yīng)分組進(jìn)行解譯,并知曉從交換機(jī)19的存在。然后,主芯片11產(chǎn)生第三識別命令分組,并將其傳遞給芯片15,芯片15將其傳遞給從交換機(jī)19,此時(shí),從交換機(jī)19不再產(chǎn)生答復(fù)(或不同的答復(fù))。根據(jù)答復(fù)的不存在(或根據(jù)不同的答復(fù)),主芯片11推斷出沒有其他從交換機(jī)與交換機(jī)19相連。
一旦建立起網(wǎng)絡(luò)的拓?fù)?,主芯片可以為每個(gè)芯片分配ID,并且其他命令分組攜帶此ID,從而識別應(yīng)當(dāng)由哪個(gè)從芯片來執(zhí)行。
現(xiàn)在,將更為詳細(xì)地描述用于控制交換機(jī)的算法。這些算法確保交換機(jī)網(wǎng)絡(luò)表些出以下特征·單一的CPU控制對多個(gè)交換機(jī)的管理。
·一個(gè)或兩個(gè)用于層疊的單一吉比特鏈路(可以聚集層疊鏈路)·層疊必須確保以下分組/業(yè)務(wù)種類的傳遞1、正常以太網(wǎng)分組(包括巨型幀(Jumbo frame))2、BPDU、GVRP&其他專用鏈路約束組播分組3、ICMP&其他外部組播分組(全尺寸分組)4、特定CPU專用控制分組(寄存器讀/寫等)5、VLAN(每端口/標(biāo)記)6、對任意交換機(jī)的端口鏡像&端口監(jiān)控·層疊的拓?fù)鋺?yīng)當(dāng)是可識別的,為CPU所知,而且應(yīng)當(dāng)能夠借助于LED與拓?fù)湮锢硐嚓P(guān)。拓?fù)浒l(fā)現(xiàn)應(yīng)當(dāng)能夠動態(tài)檢測拓?fù)涞娜魏巫兓?br>
·層疊管理業(yè)務(wù)不應(yīng)當(dāng)與NIC、服務(wù)器以及其他非因芬奈昂交換機(jī)相干擾。(無泄漏)·層疊協(xié)議必須在STP之前運(yùn)行。(對于層疊,允許環(huán)路。將回環(huán)鏈路標(biāo)記為彈回的,CPU消息和正常業(yè)務(wù)都不能流經(jīng)彈回鏈路。STP優(yōu)先使能/禁用彈回鏈路。)·每個(gè)從CPU中的虛擬CPU(VCPU)執(zhí)行層疊軟件。
·對端口邏輯/分組解析以及隊(duì)列管理器的最小改變。層疊的所有智能必須集中在VCPU/CPU上。因此,只能使用正常以太網(wǎng)分組來交換管理信息和層疊建立。
為此,本發(fā)明的實(shí)施例以如下特征進(jìn)行操作1、每個(gè)從機(jī)需要芯片ID,所述芯片ID由主CPU在拓?fù)浒l(fā)現(xiàn)期間進(jìn)行分配。主機(jī)具有芯片ID 0。
2、必須在能夠執(zhí)行生成樹之前,執(zhí)行拓?fù)浒l(fā)現(xiàn)。
3、主CPU可得到層疊MAC地址(SMA),以便向任意從機(jī)發(fā)送消息。
4、主CPU還能夠使用從機(jī)的MAC地址。此消息在層疊中并非目標(biāo)的每個(gè)單元中承受較少的等待時(shí)間。主CPU必須確保將適當(dāng)?shù)腣LAN標(biāo)簽分配給這種分組,從而在任何從芯片中均不丟棄該分組。
5、SMA用于拓?fù)浒l(fā)現(xiàn)和初始配置建立。在初始建立之后,主CPU可以切換為直接尋址,以減少等待時(shí)間。
6、每次層疊端口的鏈路狀態(tài)改變時(shí),將執(zhí)行拓?fù)浒l(fā)現(xiàn)。
表1列出了所有主要的層疊步驟和/或例程。
表1層疊步驟/例程1、主機(jī)解析和拓?fù)浒l(fā)現(xiàn)拓?fù)浒l(fā)現(xiàn)需要特定的層疊分組,并需要分組解析模塊和隊(duì)列管理器中的特定處理。
DA=層疊MAC地址(SMA)=0xAB-00-01-02-03-04Opcode=SetID/SetIDAck/ResetID/ResetIDAckMsgID=消息索引。
具有DA=SMA的分組需要PR和QM中的特定處理。
1、當(dāng)PR檢測到具有層疊MAC地址(SMA)的分組時(shí),其應(yīng)用以下算法以確定目的地。
If spid==VCPU,檢查CMAC_dest_reg以找出目的地。
Else向VCPU端口發(fā)送分組。
End if;2、當(dāng)發(fā)送具有DA=SMA的分組時(shí),PR為QM設(shè)置特定比特。
3、PR如通常那樣學(xué)習(xí)具有DA=SMA的分組的SA。
4、PR為SMA分組設(shè)置最高優(yōu)先級(7==CoS=4)。
5、PR檢查cmac_rx寄存器的關(guān)鍵比特,以確定分組是否封裝有BPDU分組,并因而必須被標(biāo)簽為對QM關(guān)鍵。
6、針對SMA分組,要向QM發(fā)送固定鏈路聚合比特(0)。
7、如果層疊鏈路是聚合的,則QM使用hw_link_register,以確定SMA分組的最終目的地。
8、如果設(shè)置了特定比特,QM在QM隊(duì)列條目中設(shè)置etag=0。
a、主CPU必須解析根主機(jī)根解析使用特定的opcode=MasterResolution,將其從一個(gè)從機(jī)傳遞到另一個(gè)從機(jī)。主機(jī)可以使用ResetID消息來復(fù)位任意從機(jī)的ID。
b、從機(jī)發(fā)現(xiàn)-主CPU執(zhí)行以下算法-Slave_id=1;For每個(gè)層疊鏈路(將聚合鏈路計(jì)算為單一鏈路)。
SetMsgLoop發(fā)送dest_chip_ID=Slave_ID且Src_chip_ID=0的SetID消息;等待SetIDAck消息。
If接收到SetIDAck消息,登記從機(jī);Slave_ID++;goto SendMsgLoop。
//Else if接收到SetID消息(環(huán)路出現(xiàn))或者if超時(shí)發(fā)生,//沿下一方向開始處理層疊鏈路。
End for;當(dāng)其接收到SetID消息時(shí),從VCPU執(zhí)行以下程序-If me.ID未設(shè)置,發(fā)送SetIDAck消息,其中{DA=SMA,SA=自身的MAC地址,Dest_chip_ID=SetID消息的Src_chip_IDSrc_chip_ID=SetID消息的Dest_chip_ID}Else向可選層疊端口轉(zhuǎn)發(fā)消息(如果在上行鏈路端口上接收到SetID消息,向下行鏈路端口轉(zhuǎn)發(fā),反之亦然)。
End if;2、遠(yuǎn)程寄存器讀/寫主機(jī)可以通過使用DA=SMA或DA=遠(yuǎn)程從機(jī)的MAC地址來讀/寫從機(jī)的寄存器。
1、不能向相同的從機(jī)發(fā)送新命令,直到針對前一消息接收到確認(rèn)或超時(shí)發(fā)生。
2、每個(gè)寫消息的最大可寫數(shù)據(jù)=28B。
3、每個(gè)讀消息的最大可讀數(shù)據(jù)=32B。
4、當(dāng)發(fā)布讀操作碼時(shí),CPU可以使用輪詢或狀態(tài)方法。輪詢通常用于中斷檢查。VCPU不需要響應(yīng)輪詢消息,除非在正在讀取的寄存器中發(fā)生了變化。
5、主CPU可用ClearWhenSet操作碼來確認(rèn)寄存器中的單獨(dú)中斷比特。如果來自消息的數(shù)據(jù)中的第j個(gè)比特和寄存器的第j個(gè)比特==1,則復(fù)位寄存器中的第j個(gè)比特。
讀/寫
ReadAck
ClearWhenSet
3、處理BPDU(特定組播)·在每個(gè)從機(jī)中;將BPDU轉(zhuǎn)發(fā)給本地VCPU。本地VCPU必須將BPDU分組和從eDRAM獲得的分組報(bào)頭封裝為有效以太網(wǎng)分組,并將其發(fā)送給主CPU。所使用的Opcode=ENCAPforward。此分組的格式如下所示-ENCAPforward
分組報(bào)頭(PH)15 14 13 1211 10 9 8 … 0
·從機(jī)可以利用DA=SMA或DA=CPU的MAC地址來發(fā)送已封裝分組。
·CPU執(zhí)行生成樹協(xié)議,形成BPDU,并以opcode=ENCAPreturn,在已封裝幀中向VCPU發(fā)送此BPDU。由于整個(gè)芯片的行為如同單一的交換機(jī),并未考慮層疊內(nèi)的鏈路成本。幀格式為-ENCAPreturn
·從VCPU必須使用正常的BPDU處理方法,以便向ENCAPreturn分組中所指定的目的地端口發(fā)送BPDU。
4、MAC表同步·還向?qū)盈B端口發(fā)送能夠引起MAC表變化的所有分組。
·CPU還能夠利用“已知”和“陳舊”消息來同步所有MAC表。當(dāng)新MAC地址已知或過期發(fā)生時(shí),分組解析模塊必須中斷本地VCPU。
通過發(fā)送以下分組,對此與主CPU進(jìn)行通信-已知的
陳舊的
5、中斷處理·在發(fā)生使能中斷時(shí),VCPU向CPU發(fā)送中斷狀態(tài)登記。
·從機(jī)可以向主機(jī)發(fā)送與“中斷”消息同步的定時(shí)器,以降低主機(jī)上的中斷負(fù)荷。
中斷
6、監(jiān)控·如果監(jiān)控端口與源/目的地端口在相同的設(shè)備上,用于處理分組的算法與獨(dú)立設(shè)備上相同。
·如果監(jiān)控端口位于遠(yuǎn)程設(shè)備上,將本地CPU上的“遠(yuǎn)程端口”登記設(shè)置為VCPU。VCPU必須對分組進(jìn)行封裝,并發(fā)送給CPU。CPU使用BPDU型封裝向遠(yuǎn)程設(shè)備發(fā)送分組。如果同時(shí)監(jiān)控分組的源和目的地端口,并且其在不同的設(shè)備上,則CPU應(yīng)當(dāng)接收相同的分組兩次。
7、簡單單播/組播分組如同在一組交換機(jī)上那樣,對待單播/組播消息,因此對正常的單播/組播分組未施加特殊處理。
用于上述實(shí)施例的操作碼列表如下
權(quán)利要求
1.一種數(shù)據(jù)交換機(jī)網(wǎng)絡(luò),每個(gè)數(shù)據(jù)交換機(jī)具有多個(gè)適用于接收和傳輸分組的端口,并排列用于根據(jù)分組中的地址信息,在其端口之間內(nèi)部地傳送數(shù)據(jù)分組,由形成在交換機(jī)對的一些端口間的連接將數(shù)據(jù)交換機(jī)連接成陣列,數(shù)據(jù)交換機(jī)之一是用于向其他交換機(jī)發(fā)布命令作為控制數(shù)據(jù)分組的主交換機(jī),其他數(shù)據(jù)交換機(jī)是用于識別控制數(shù)據(jù)分組并根據(jù)包含在其中的命令進(jìn)行操作的從數(shù)據(jù)交換機(jī)。
2.一種操作多個(gè)數(shù)據(jù)交換機(jī)的方法,每個(gè)數(shù)據(jù)交換機(jī)具有多個(gè)適用于接收和傳輸分組的端口,并排列用于根據(jù)分組中的地址信息,在其端口之間內(nèi)部地傳送數(shù)據(jù)分組,所述方法包括所述交換機(jī)中的主數(shù)據(jù)交換機(jī)使用其端口中的至少一些,向所述交換機(jī)中的從數(shù)據(jù)交換機(jī)發(fā)布命令分組;從數(shù)據(jù)交換機(jī)使用其端口中的一些,接收命令分組,識別命令分組,并執(zhí)行所指定的命令。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于從數(shù)據(jù)交換機(jī)識別傳輸?shù)狡涞拿罘纸M是否傾向于使得在該交換機(jī)處執(zhí)行命令,如果所述確定是肯定的,則執(zhí)行該命令,以及如果所述確定是否定的,則向與之相連的任何其他從交換機(jī)傳遞命令分組。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于包括初始化階段,其中主芯片建立網(wǎng)絡(luò)的拓?fù)?,并將ID分配給從交換機(jī);以及操作階段,其中在網(wǎng)絡(luò)內(nèi)的交換機(jī)之間傳遞包括ID的分組。
全文摘要
利用其用于接收和傳輸分組的端口,使如以太網(wǎng)交換機(jī)1、2、3、5等多個(gè)數(shù)據(jù)交換機(jī)彼此相連。給定的一個(gè)交換機(jī)5作為主交換機(jī)進(jìn)行操作,其向其他交換機(jī)1、2、3傳遞指令,作為命令分組,并接收來自其他交換機(jī)1、2、3的響應(yīng),作為響應(yīng)分組。成對地連接從交換機(jī)1、2、3。命令分組通過網(wǎng)絡(luò),直到其到達(dá)執(zhí)行其的從交換機(jī)1、2、3,以及響應(yīng)10分組通過網(wǎng)絡(luò),到達(dá)主交換機(jī)5。
文檔編號H04L12/56GK1669269SQ02829549
公開日2005年9月14日 申請日期2002年9月6日 優(yōu)先權(quán)日2002年9月6日
發(fā)明者什里達(dá)爾·穆巴拉克·米什拉, 普拉默·庫馬爾·潘迪 申請人:因芬奈昂技術(shù)股份有限公司