本發(fā)明涉及一種鏈路聚合技術(shù),尤其是涉及一種MLAG廣播和組播的芯片實(shí)現(xiàn)方法。
背景技術(shù):
在高可靠性的數(shù)據(jù)中心拓?fù)渲?,典型的?huì)通過兩臺(tái)聚合交換機(jī)來連接TOR(Top of Rack,架頂式)交換機(jī)和服務(wù)器以提供冗余保護(hù)。在這樣的拓?fù)浣Y(jié)構(gòu)中,生成樹協(xié)議(Spanning-Tree Protocol,STP)通過block(阻塞)聚合交換機(jī)的一半的端口來防止網(wǎng)絡(luò)環(huán)路,但這樣做會(huì)降低50%的帶寬。
通過部署MLAG(多鏈路聚合)可以解決這個(gè)問題。在兩臺(tái)聚合交換機(jī)的中間通過一條MLAG鏈路進(jìn)行連接,使其在邏輯上如同一臺(tái)設(shè)備。兩臺(tái)設(shè)備上的端口共同形成聚合口,使得所有端口可以共同參與數(shù)據(jù)流量的轉(zhuǎn)發(fā)。
現(xiàn)有,一般通過二層轉(zhuǎn)發(fā)表的表項(xiàng)刷新實(shí)現(xiàn)MLAG,當(dāng)MLAG口down(關(guān)閉)的時(shí)候,把所有出口為MLAG出口的二層轉(zhuǎn)發(fā)條目刷新成出口為peer link(同行的鏈接),當(dāng)MLAG up(打開)時(shí),再從peer link口刷回MLAG口。
但是上述技術(shù)會(huì)存在以下缺陷:1、速度比較慢,會(huì)造成較長(zhǎng)時(shí)間的丟包和斷流。2、MLAG up時(shí),再從peer link口刷回MLAG口的情況,需要保存大量軟表。
現(xiàn)有也有通過APS(Automatic Protection Switching,自動(dòng)保護(hù)倒換)機(jī)制實(shí)現(xiàn)MLAG單播。
步驟1,創(chuàng)建好MLAG的peer link;
步驟2,進(jìn)行聚合端口和MLAG組的綁定。
第一步和第二步的順序并不重要,但在第三步進(jìn)行之前,前面兩步需要都完成。
根據(jù)綁定了MLAG組的聚合端口的信息和peer link的信息,創(chuàng)建aps group(自動(dòng)保護(hù)切換組)。芯片中的DsApsBridge這張表中的workingDestMap使用被綁定的聚合端口,protectingDestMap使用peer link所對(duì)應(yīng)的端口或者聚合端口。創(chuàng)建完成這個(gè)保護(hù)組之后,能得到一個(gè)NEXTHOP ID,并且在軟件層面保存MLAG ID和對(duì)應(yīng)的NEXTHOP ID的對(duì)應(yīng)關(guān)系。
在進(jìn)行FDB學(xué)習(xí)的時(shí)候,根據(jù)源端口屬于哪個(gè)MLAG組,查找上述的對(duì)應(yīng)關(guān)系,得到保護(hù)組對(duì)應(yīng)的NEXTHOP ID,使用這個(gè)NEXTHOP ID進(jìn)行FDB的添加。
當(dāng)檢測(cè)到本地MLAG端口由up變down的時(shí)候,即當(dāng)保護(hù)切換發(fā)生時(shí),可以直接進(jìn)行APS的切換,將DsApsBridge中的protectingEn置起來即可。
當(dāng)檢測(cè)到本地MLAG端口由down變up的時(shí)候,即當(dāng)保護(hù)恢復(fù)時(shí),則直接進(jìn)行APS的恢復(fù),將DsApsBridge中的protectingEn清除掉即可。
在聚合端口和MLAG組解除綁定關(guān)系,或者刪除peer link,兩者任何一個(gè)事件發(fā)生時(shí),刪除保護(hù)組,釋放APS資源。
但是,上述第二種技術(shù)中,APS機(jī)制不能用于廣播和組播。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種MLAG廣播和組播的芯片實(shí)現(xiàn)方法,通過端口隔離的方式以實(shí)現(xiàn)MLAG的廣播和組播轉(zhuǎn)發(fā)。
為實(shí)現(xiàn)上述目的,本發(fā)明提出如下技術(shù)方案:一種MLAG廣播和組播的芯片實(shí)現(xiàn)方法,所述方法包括:
S1,配置芯片:
將Peer-Link端口和VLAN成員端口加入復(fù)制組A,將Peer-Link端口和二層組播組成員端口加入復(fù)制組B,在Peer-Link端口入方向上設(shè)置源隔離ID為S1,在MLAG口出方向上設(shè)置目的隔離ID為D1,及配置隔離條目表;
S2,報(bào)文處理:
S21,報(bào)文進(jìn)入MLAG本地芯片查轉(zhuǎn)發(fā)表,得到復(fù)制組A/復(fù)制組B,查找復(fù)制組A/B,獲得復(fù)制組A/B成員列表,復(fù)制報(bào)文到與MLAG本地芯片相連通的每一個(gè)MLAG成員;
S22,報(bào)文從Peer-Link進(jìn)入與MLAG本地芯片相連的MLAG遠(yuǎn)端芯片后,查轉(zhuǎn)發(fā)表得到復(fù)制組A/復(fù)制組B,查找復(fù)制表獲得復(fù)制組A/B成員列表,復(fù)制報(bào)文到第二芯片的每一個(gè)MLAG成員端口;
S23,所述第二芯片除Peer-Link端口外的每一個(gè)MLAG成員端口,使用源隔離ID查找隔離條目表,得到各自的目的隔離ID,根據(jù)目的隔離ID丟棄或發(fā)送報(bào)文出去。
優(yōu)選地,步驟S21或S22中,報(bào)文從MLAG本地芯片或MLAG遠(yuǎn)端芯片進(jìn)入后,解析報(bào)文二層頭,然后使用MACDA加VLAN ID查找二層轉(zhuǎn)發(fā)表,得到復(fù)制組A/復(fù)制組B。
優(yōu)選地,所述報(bào)文為廣播、未知單播、未知組播和已知組播中的一種,所述報(bào)文為廣播、未知單播或未知組播時(shí),查轉(zhuǎn)發(fā)表,得到復(fù)制組A;所述報(bào)文為已知組播時(shí),查轉(zhuǎn)發(fā)表,得到復(fù)制組B。
優(yōu)選地,所述S21或S22中,按復(fù)制組ID查找復(fù)制組A/B,獲得復(fù)制組A/B成員列表。
優(yōu)選地,報(bào)文復(fù)制過程中,源地址和目的地址相同的報(bào)文會(huì)自動(dòng)丟棄。
優(yōu)選地,對(duì)于MLAG口出方向上down的端口,將目的隔離ID配置為0。
優(yōu)選地,所述目的隔離ID配置為0時(shí),將復(fù)制的報(bào)文從MLAG口發(fā)送出去。
優(yōu)選地,隔離條目表中,目的隔離ID用bitmap標(biāo)識(shí)。
優(yōu)選地,步驟S23中,根據(jù)查詢到的第S1條條目的bitmap的從低位開始的第D1位置的值,對(duì)報(bào)文進(jìn)行丟棄或發(fā)送處理。
優(yōu)選地,配置所述bitmap的從低位開始的第D1位為1時(shí),丟棄復(fù)制出來的報(bào)文。
與現(xiàn)有技術(shù)相比,本發(fā)明通過將Peer-Link加入廣播復(fù)制列表和組播的復(fù)制列表,把報(bào)文通過復(fù)制給MLAG對(duì)端設(shè)備,并使用端口隔離機(jī)制實(shí)現(xiàn)MLAG非預(yù)期端口的報(bào)文丟棄,在使用APS實(shí)現(xiàn)MLAG單播的基礎(chǔ)上,實(shí)現(xiàn)了MLAG的廣播和組播轉(zhuǎn)發(fā)。
附圖說明
圖1是本發(fā)明MLAG廣播和組播的芯片實(shí)現(xiàn)方法的流程示意圖;
圖2是本發(fā)明報(bào)文處理的流程示意圖;
圖3是本發(fā)明實(shí)施例的原理示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明的附圖,對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述。
本發(fā)明所揭示的一種MLAG廣播和組播的芯片實(shí)現(xiàn)方法,在使用APS實(shí)現(xiàn)MLAG單播的基礎(chǔ)上,通過端口隔離的方式實(shí)現(xiàn)了MLAG的廣播和組播轉(zhuǎn)發(fā)。
結(jié)合圖1~圖3所示,本發(fā)明所揭示的一種MLAG廣播和組播的芯片實(shí)現(xiàn)方法,包括以下步驟:
步驟S1,配置芯片:
將Peer-Link端口和VLAN成員端口加入復(fù)制組A,將Peer-Link端口和二層組播組成員端口加入復(fù)制組B,在Peer-Link端口入方向上設(shè)置源隔離ID為S1,在MLAG口出方向上設(shè)置目的隔離ID為D1,及配置隔離條目表。
具體地,首先介紹下與本方案相關(guān)的通用機(jī)制:
VLAN內(nèi)廣播機(jī)制,把VLAN內(nèi)的所有成員端口加入到一個(gè)復(fù)制組A內(nèi),在二層轉(zhuǎn)發(fā)表(使用MACDA+VLAN ID進(jìn)行查找)內(nèi)配置以下條目:
MAC(FFFF.FFFF.FFFF)+VLAN ID→復(fù)制組A
VLAN默認(rèn)條目→復(fù)制組A
即將VLAN內(nèi)的所有成員端口加入到復(fù)制組A內(nèi),查找二層轉(zhuǎn)發(fā)表時(shí),使用MACDA+VLAN ID進(jìn)行查找,得到復(fù)制組A。
二層組播機(jī)制,把二層組播組所有成員端口加入到一個(gè)復(fù)制組B內(nèi),在二層轉(zhuǎn)發(fā)表內(nèi)配置以下條目:
MAC(組播)+VLAN ID→復(fù)制組B
即將組播組所有成員端口加入到一個(gè)復(fù)制組B內(nèi),查找二層轉(zhuǎn)發(fā)表時(shí),使用MAC(組播)+VLAN ID進(jìn)行查找,得到復(fù)制組B。
報(bào)文復(fù)制機(jī)制,按復(fù)制組ID查找復(fù)制組,獲得復(fù)制組成員列表,然后復(fù)制報(bào)文到每一個(gè)成員,其中源和目的地相同的報(bào)文會(huì)自動(dòng)丟棄。
與上述通用機(jī)制相比,本發(fā)明實(shí)施例的芯片配置為:
將Peer-Link端口和VLAN成員端口加入復(fù)制組A。
將Peer-Link端口和二層組播組成員端口加入復(fù)制組B。
在Peer-Link入方向上設(shè)置源隔離ID為S1。
在MLAG口出方向上設(shè)置目的隔離ID為D1,凡是MLAG口出方向上down的MLAG口,將隔離ID配置為0。
配置隔離條目表,隔離條目表使用源隔離ID進(jìn)行查找,得到一個(gè)標(biāo)識(shí)目的隔離ID目的bitmap,對(duì)于down掉的MLAG口,將隔離條目表中第S1個(gè)條目的bitmap的從低位開始的第D1位置1。
圖3中所示的芯片1和芯片2均進(jìn)行以上配置。
步驟S2,報(bào)文處理:
S21,報(bào)文進(jìn)入MLAG本地芯片查轉(zhuǎn)發(fā)表,得到復(fù)制組A/復(fù)制組B,查找復(fù)制組A/B,獲得復(fù)制組A/B成員列表,復(fù)制報(bào)文到MLAG本地芯片的每一個(gè)MLAG成員端口。
具體地,以圖3所示為例,芯片1為組成MLAG的MLAG本地芯片,芯片2為MLAG遠(yuǎn)端芯片。報(bào)文從源端口進(jìn)入芯片1中,解析報(bào)文二層頭,然后使用MACDA+VLAN ID查找二層轉(zhuǎn)發(fā)表,廣播、未知單播和未知組播報(bào)文會(huì)查找到出口為復(fù)制組A;已知組播報(bào)文會(huì)查找到出口為復(fù)制組B;已知單播報(bào)文按轉(zhuǎn)發(fā)表直接得到物理出口,不在本專利保護(hù)范圍內(nèi),這里不做描述。
然后,按照復(fù)制組ID查找復(fù)制組表,獲得復(fù)制組成員列表,如查找到為復(fù)制組A,則按照復(fù)制組A的ID查找復(fù)制組A,獲得復(fù)制組A的所有成員列表;查找到復(fù)制組B與復(fù)制組A的復(fù)制過程相同。
然后復(fù)制報(bào)文到與芯片1相連通的每一個(gè)MLAG成員。如圖3,芯片1的MLAG 1、2、4端口會(huì)直接復(fù)制報(bào)文到目標(biāo)設(shè)備(設(shè)備1、設(shè)備2和設(shè)備4),同時(shí)芯片1的Peer-Link端口上也會(huì)復(fù)制一份報(bào)文給組成MLAG的另一臺(tái)設(shè)備(即芯片2)。因芯片1的MLAG3端口down了,根據(jù)APS機(jī)制,流量會(huì)經(jīng)過Peer-Link發(fā)往右側(cè)設(shè)備(即芯片2),所以,芯片1的MLAG3端口復(fù)制不了報(bào)文到目標(biāo)設(shè)備3。
也就是說,從芯片1進(jìn)入的報(bào)文,通過查找二層轉(zhuǎn)發(fā)表,分別發(fā)送給了目標(biāo)設(shè)備1、2和4,發(fā)往目標(biāo)設(shè)備3的報(bào)文會(huì)經(jīng)過Peer-Link發(fā)往芯片2。
S22,報(bào)文從Peer-Link進(jìn)入與MLAG本地芯片相連的MLAG遠(yuǎn)端芯片后,查轉(zhuǎn)發(fā)表得到復(fù)制組A/復(fù)制組B,查找復(fù)制表獲得復(fù)制組A/B成員列表,復(fù)制報(bào)文到第二芯片的每一個(gè)MLAG成員端口。
具體地,芯片2的Peer-Link端口在入方向收到報(bào)文,會(huì)從上述步驟S1的端口配置中得到源隔離ID,芯片2收到報(bào)文后,與芯片1中報(bào)文解析、查表、復(fù)制過程相同:解析報(bào)文二層頭,然后使用MACDA+VLAN ID查找二層轉(zhuǎn)發(fā)表,同樣會(huì)得到復(fù)制組A/復(fù)制組B,按復(fù)制組ID查找復(fù)制組,獲得復(fù)制組成員列表,然后復(fù)制報(bào)文到芯片2的每一個(gè)MLAG成員端口。芯片2的MLAG成員端口包含Peer-Link端口和MLAG1、2、3、4口。其中Peer-Link口由于源和目的地相同,復(fù)制的報(bào)文直接丟棄,不會(huì)再發(fā)回去。
步驟S23,所述第二芯片除Peer-Link端口外的每一個(gè)MLAG成員端口,使用源隔離ID查找隔離條目表,得到各自的目的隔離ID,根據(jù)目的隔離ID丟棄或發(fā)送報(bào)文出去。
MLAG1、2、4口會(huì)在出方向上得到目的隔離ID為D1,使用源隔離ID S1進(jìn)行隔離條目表查找,得到第S1條條目的bitmap,發(fā)現(xiàn)其中的地D1個(gè)bit為1,丟棄復(fù)制出來的報(bào)文;MLAG 3口由于目的隔離ID為0,不會(huì)丟棄報(bào)文,報(bào)文會(huì)正常從3口出去。
本發(fā)明的技術(shù)內(nèi)容及技術(shù)特征已揭示如上,然而熟悉本領(lǐng)域的技術(shù)人員仍可能基于本發(fā)明的教示及揭示而作種種不背離本發(fā)明精神的替換及修飾,因此,本發(fā)明保護(hù)范圍應(yīng)不限于實(shí)施例所揭示的內(nèi)容,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為本專利申請(qǐng)權(quán)利要求所涵蓋。