專利名稱:一種防止e-trunk丟包的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的方法、裝 置和系統(tǒng)。
背景技術(shù):
隨著城域網(wǎng)和廣域網(wǎng)的廣泛應(yīng)用,運營商對采用以太網(wǎng)技術(shù)的骨干鏈路的帶寬 和可靠性提出越來越高的要求。采用鏈路聚合技術(shù)可以在不進(jìn)行硬件升級的條件下,通 過將多個物理接口捆綁為一個邏輯接口實現(xiàn)增大鏈路帶寬的目的。基于IEEE802. 3ad標(biāo) 準(zhǔn)的LACP(Link Aggregation Control Protocol,鏈路匯聚控制協(xié)議)技術(shù)出現(xiàn)后,提 高了聚合鏈路TrunkCTrimk是對端口或者鏈路的捆綁,是一種把多個獨立的物理端口綁 定在一起作為一個邏輯端口使用的技術(shù))的容錯性,并且能提供M:N備份功能,保證成 員鏈路的高可靠性。LACP是一種實現(xiàn)鏈路動態(tài)匯聚與解匯聚的協(xié)議,通過LACPDU(Link Aggregation Control Protocol Data Unit,鏈路匯聚控制協(xié)議數(shù)據(jù)單元)與對端交互信 息。E-TRUNK(Enhanced Trunk,增強(qiáng)TRUNK)是一種實現(xiàn)跨設(shè)備鏈路聚合的控制協(xié)議,基于 LACP進(jìn)行了擴(kuò)展,能夠?qū)崿F(xiàn)多臺設(shè)備間的鏈路聚合,從而把鏈路可靠性從單板級提高到了 設(shè)備級?,F(xiàn)有技術(shù)中典型的E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)中轉(zhuǎn)發(fā)設(shè)備之間部署E-TRUNK,并且兩 臺轉(zhuǎn)發(fā)設(shè)備一主一備來轉(zhuǎn)發(fā)從其他轉(zhuǎn)發(fā)設(shè)備接收的流量分組。假設(shè)主用的轉(zhuǎn)發(fā)設(shè)備為第二 轉(zhuǎn)發(fā)設(shè)備,備用的轉(zhuǎn)發(fā)設(shè)備為第四轉(zhuǎn)發(fā)設(shè)備,上述第二轉(zhuǎn)發(fā)設(shè)備和第四轉(zhuǎn)發(fā)設(shè)備一側(cè)分別 與第一轉(zhuǎn)發(fā)設(shè)備相連,另外一側(cè)與第三轉(zhuǎn)發(fā)設(shè)備相連。主用的第二轉(zhuǎn)發(fā)設(shè)備負(fù)責(zé)將從第一 轉(zhuǎn)發(fā)設(shè)備接收的流量分組轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備,將從第三轉(zhuǎn)發(fā)設(shè)備接收的流量分組轉(zhuǎn)發(fā)給 第一轉(zhuǎn)發(fā)設(shè)備。當(dāng)主用的第二轉(zhuǎn)發(fā)設(shè)備與所述第一轉(zhuǎn)發(fā)設(shè)備之間的鏈路發(fā)生故障時,所述 第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的接口斷開(Down),所述第一轉(zhuǎn)發(fā)設(shè)備發(fā)往第三轉(zhuǎn)發(fā)設(shè) 備的流量分組切換到備用的第四轉(zhuǎn)發(fā)設(shè)備進(jìn)行轉(zhuǎn)發(fā),而所述第三轉(zhuǎn)發(fā)設(shè)備發(fā)往所述第一轉(zhuǎn) 發(fā)設(shè)備的流量分組仍然發(fā)送給所述第二轉(zhuǎn)發(fā)設(shè)備,所述第二轉(zhuǎn)發(fā)設(shè)備將接收到的所述第三 轉(zhuǎn)發(fā)設(shè)備發(fā)送的流量分組轉(zhuǎn)發(fā)給所述第四轉(zhuǎn)發(fā)設(shè)備,再由所述第四轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)給所述第 一轉(zhuǎn)發(fā)設(shè)備。當(dāng)所述第二轉(zhuǎn)發(fā)設(shè)備與所述第一轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常時,所述第一 轉(zhuǎn)發(fā)設(shè)備發(fā)送給所述第三轉(zhuǎn)發(fā)設(shè)備的流量分組重新切換到所述第二轉(zhuǎn)發(fā)設(shè)備進(jìn)行轉(zhuǎn)發(fā),而 所述第二轉(zhuǎn)發(fā)設(shè)備仍然將從所述第三轉(zhuǎn)發(fā)設(shè)備接收的流量分組轉(zhuǎn)發(fā)到所述第四轉(zhuǎn)發(fā)設(shè)備, 但這時所述第四轉(zhuǎn)發(fā)設(shè)備和第一轉(zhuǎn)發(fā)設(shè)備間的鏈路已經(jīng)被LACP所阻斷,從而導(dǎo)致丟包和 業(yè)務(wù)的中斷。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的方法,所述方法包括當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備與第 一轉(zhuǎn)發(fā)設(shè)備相連的接口的狀態(tài)變?yōu)閁P可以狀態(tài)時,觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè)備更新媒體接入控制地址MAC表項;所述第二轉(zhuǎn)發(fā)設(shè)備接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;并根據(jù)所述更新后的MAC表 項,將所述數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備。本發(fā)明實施例還提供一種防止E-TRUNK丟包的裝置,其特征在于,所述裝置包括觸發(fā)單元,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和所述裝置之間的鏈路恢復(fù)正常,且所述裝置與 所述第一轉(zhuǎn)發(fā)設(shè)備相連的接口的狀態(tài)變?yōu)閁P可用狀態(tài)時,觸發(fā)所述裝置更新媒體接入控 制地址MAC表項;接收單元,用于接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;轉(zhuǎn)發(fā)單元,用于根據(jù)所述更新后的MAC表項,將所述接收單元接收的數(shù)據(jù)包轉(zhuǎn)發(fā) 給所述第一轉(zhuǎn)發(fā)設(shè)備。本發(fā)明實施例進(jìn)一步提供一種防止E-TRUNK丟包的系統(tǒng),其特征在于,所述系統(tǒng) 包括至少三個轉(zhuǎn)發(fā)設(shè)備,其中,第一轉(zhuǎn)發(fā)設(shè)備,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常時,接 收第二轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;第二轉(zhuǎn)發(fā)設(shè)備,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所 述第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的接口的狀態(tài)變?yōu)閁P可用狀態(tài)時,觸發(fā)所述第二轉(zhuǎn) 發(fā)設(shè)備更新MAC表項;接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;并根據(jù)所述更新后的MAC表項,將 所述數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備;第三轉(zhuǎn)發(fā)設(shè)備,用于發(fā)送數(shù)據(jù)包給所述第二轉(zhuǎn)發(fā)設(shè)備。本發(fā)明實施例提供的防止E-TRUNK丟包的方法、裝置和系統(tǒng)通過在當(dāng)前E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)中提供轉(zhuǎn)發(fā)設(shè)備的MAC刷新機(jī)制,在轉(zhuǎn)發(fā)設(shè)備的接口恢復(fù)可用(UP)狀態(tài)時觸 發(fā)轉(zhuǎn)發(fā)設(shè)備進(jìn)行MAC轉(zhuǎn)發(fā)表項的更新,避免了轉(zhuǎn)發(fā)設(shè)備將收到的流量分組轉(zhuǎn)發(fā)給錯誤的設(shè) 備而導(dǎo)致流量分組的丟包,提高了 E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)中業(yè)務(wù)的可靠性。
圖1為本發(fā)明實施例提供的一種防止E-TRUNK丟包的系統(tǒng)的結(jié)構(gòu)圖。圖2為本發(fā)明實施例提供的一種防止E-TRUNK丟包的方法的流程圖。圖3為本發(fā)明實施例提供的一種防止E-TRUNK丟包的裝置的結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖,對本發(fā) 明作進(jìn)一步地詳細(xì)說明。實施例1參見圖1,本發(fā)明實施例1提供一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的系統(tǒng),所述 系統(tǒng)包括第一轉(zhuǎn)發(fā)設(shè)備101,當(dāng)其與第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路恢復(fù)正常時,接收所述第 二轉(zhuǎn)發(fā)設(shè)備102發(fā)送的數(shù)據(jù)包;第二轉(zhuǎn)發(fā)設(shè)備102,當(dāng)其與所述第一轉(zhuǎn)發(fā)設(shè)備101之間的鏈路恢復(fù)正常,且與所述第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài)變?yōu)閁P時,更新自身的MAC表項;接收第三轉(zhuǎn)發(fā)設(shè)備 103發(fā)送的數(shù)據(jù)包;并根據(jù)所述更新后的MAC表項,將所述數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備 101 ;第三轉(zhuǎn)發(fā)設(shè)備103,用于發(fā)送數(shù)據(jù)包給所述第二轉(zhuǎn)發(fā)設(shè)備102。舉例來說,第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104與第一轉(zhuǎn)發(fā)設(shè)備101之間如果 部署E-TRUNK,則第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104的Kh-Trunk^thernet Trunk,為 對以太端口捆綁的Trunk)接口分別連接到第一轉(zhuǎn)發(fā)設(shè)備101,其中Eth-Trimk接口為捆綁 在Eth-trunk中的物理以太接口。第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104上的Eth-Trimk 都加入 E-TRUNKjf Eth-Trunk 和 E-TRUNK 綁定到一起,Eth-Trunk 的狀態(tài)受 E-Trunk 的控 制。E-TRUNK 二層轉(zhuǎn)發(fā)時,Eth-Trunk是以二層VLAN的方式加入E-TRUNK的。當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備101和第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路發(fā)生故障時,第一轉(zhuǎn)發(fā)設(shè)備 101和第二轉(zhuǎn)發(fā)設(shè)備102之間的接口被設(shè)置為Down,第二轉(zhuǎn)發(fā)設(shè)備102快速清除自身設(shè)備 上的轉(zhuǎn)發(fā)MAC表項,同時通過E-TRUNK傳遞故障信息給第四轉(zhuǎn)發(fā)設(shè)備104,從而讓第一轉(zhuǎn) 發(fā)設(shè)備101與第四轉(zhuǎn)發(fā)設(shè)備104之間的備用鏈路快速啟用,此時第一轉(zhuǎn)發(fā)設(shè)備101發(fā)往所 述第三轉(zhuǎn)發(fā)設(shè)備103的流量則會在Kh-Trimk中選擇可用的到第四轉(zhuǎn)發(fā)設(shè)備104的鏈路, 流量轉(zhuǎn)發(fā)路徑是第一轉(zhuǎn)發(fā)設(shè)備101-第四轉(zhuǎn)發(fā)設(shè)備104-第二轉(zhuǎn)發(fā)設(shè)備102-第三轉(zhuǎn)發(fā)設(shè)備 103 ;第三轉(zhuǎn)發(fā)設(shè)備103發(fā)出的流量經(jīng)過第二轉(zhuǎn)發(fā)設(shè)備102轉(zhuǎn)發(fā)到第四轉(zhuǎn)發(fā)設(shè)備104,再由 第四轉(zhuǎn)發(fā)設(shè)備104轉(zhuǎn)發(fā)到第一轉(zhuǎn)發(fā)設(shè)備101,流量轉(zhuǎn)發(fā)路徑是第三轉(zhuǎn)發(fā)設(shè)備103-第二轉(zhuǎn)發(fā) 設(shè)備102-第四轉(zhuǎn)發(fā)設(shè)備104-第一轉(zhuǎn)發(fā)設(shè)備101。當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101之間的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā) 設(shè)備102與第一轉(zhuǎn)發(fā)設(shè)備101的接口狀態(tài)變?yōu)閁P時,觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè)備102更新MAC 表項,所述第二轉(zhuǎn)發(fā)設(shè)備102清除自身的MAC表項,并重新進(jìn)行MAC學(xué)習(xí)。所述第二轉(zhuǎn)發(fā)設(shè) 備102接收第三轉(zhuǎn)發(fā)設(shè)備103發(fā)送的數(shù)據(jù)包,并根據(jù)所述更新后的MAC表項將所述數(shù)據(jù)包 發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備101。MAC學(xué)習(xí)的過程如下轉(zhuǎn)發(fā)設(shè)備收到報文后會根據(jù)報文的目的MAC進(jìn)行轉(zhuǎn)發(fā),因 此轉(zhuǎn)發(fā)設(shè)備上維護(hù)了一張目的MAC與轉(zhuǎn)發(fā)出接口對應(yīng)表,根據(jù)查詢這張表能夠準(zhǔn)確快速的 轉(zhuǎn)發(fā)報文。該表是通過學(xué)習(xí)建立的,當(dāng)轉(zhuǎn)發(fā)設(shè)備收到一個報文的時候,會記錄該報文的源 MAC(假設(shè)是MAC-A)和收到該報文的端口(假設(shè)是端口 A)形成一個表項記錄到表中,這樣 設(shè)備后續(xù)再收到目的MAC是MAC-A的報文需要轉(zhuǎn)發(fā)的時候,則從表中即可以查到出接口是 端口 A。這樣在完成自身的MAC表項更新后,第二轉(zhuǎn)發(fā)設(shè)備102將從第一轉(zhuǎn)發(fā)設(shè)備101接收 的流量分組直接轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備103,將從第三轉(zhuǎn)發(fā)設(shè)備103接收的流量分組直接轉(zhuǎn) 發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101。進(jìn)一步地,當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104上的Eth-Trimk接口以二層 VLAN方式加入E-TRUNK時,第二轉(zhuǎn)發(fā)設(shè)備102記錄該Eth-Trunk加入了哪個E-Trunk,并在 所述肚h-Trunk接口設(shè)置智能虛擬局域網(wǎng)SmartVlan標(biāo)記。當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102與第一轉(zhuǎn) 發(fā)設(shè)備101之間的鏈路恢復(fù)正常且第二轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài) 由Down變?yōu)閁p時,判斷所述第二轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口是否有智 能虛擬局域網(wǎng)SmartVlan標(biāo)記。如果有,則清除所述轉(zhuǎn)發(fā)設(shè)備102上的MAC轉(zhuǎn)發(fā)表項,所述 轉(zhuǎn)發(fā)設(shè)備102重新進(jìn)行MAC地址學(xué)習(xí)。第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,將從第三轉(zhuǎn)發(fā)設(shè)備103接收的流量分組直接轉(zhuǎn)發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101,將從第一轉(zhuǎn)發(fā)設(shè)備101接收的流量 分組直接轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備103 ;如果所述接口沒有SmartVlan標(biāo)記,則不清除所述轉(zhuǎn)發(fā) 設(shè)備102上的MAC轉(zhuǎn)發(fā)表項,所述轉(zhuǎn)發(fā)設(shè)備102不重新進(jìn)行MAC地址學(xué)習(xí)。本發(fā)明實施例1提供的防止E-TRUNK丟包的系統(tǒng)通過在轉(zhuǎn)發(fā)設(shè)備的接口恢復(fù)可用 (UP)狀態(tài)時觸發(fā)所述轉(zhuǎn)發(fā)設(shè)備進(jìn)行MAC轉(zhuǎn)發(fā)表項的更新,避免了轉(zhuǎn)發(fā)設(shè)備將收到的流量分 組轉(zhuǎn)發(fā)給錯誤的設(shè)備而導(dǎo)致丟包的問題,提高了 E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)的可靠性。實施例2參加圖2,本發(fā)明實施例2提供一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的方法,所述 方法包括201 當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備101和第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路恢復(fù)正常,且所述第二 轉(zhuǎn)發(fā)設(shè)備102與所述第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài)變?yōu)閁P時,觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè)備 102更新媒體接入控制地址MAC表項。例如,圖1中第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104與第一轉(zhuǎn)發(fā)設(shè)備101之間如果 部署E-TRUNK,則第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104的Eth-Trunk (Ethernet Trunk,為 對以太端口捆綁的Trunk)接口分別連接到第一轉(zhuǎn)發(fā)設(shè)備101,其中Eth-Trimk接口為捆綁 在Eth-trunk中的物理以太接口。第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104上的Eth-Trimk 都加入E-TRUNK,也就是將Eth-Trunk和E-TRUNK綁定到一起,Eth-Trunk的狀態(tài)受E-Trunk 控制。E-TRUNK 二層轉(zhuǎn)發(fā)時,Eth-Trunk是以二層VLAN的方式加入E-TRUNK的。當(dāng)?shù)诙D(zhuǎn) 發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101之間的鏈路發(fā)生故障時,第二轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè) 備101相連的接口被設(shè)置為Down,第二轉(zhuǎn)發(fā)設(shè)備102快速清除自身設(shè)備上的轉(zhuǎn)發(fā)MAC表項, 同時通過E-TRUNK傳遞故障信息給第四轉(zhuǎn)發(fā)設(shè)備104,從而讓第一轉(zhuǎn)發(fā)設(shè)備101與第四轉(zhuǎn) 發(fā)設(shè)備104之間的備用鏈路快速啟用,此時第一轉(zhuǎn)發(fā)設(shè)備101發(fā)出的流量會在Eth-Trimk 中選擇可用的到第四轉(zhuǎn)發(fā)設(shè)備104的鏈路,流量路徑是第一轉(zhuǎn)發(fā)設(shè)備101-第四轉(zhuǎn)發(fā)設(shè)備 104-第二轉(zhuǎn)發(fā)設(shè)備102-第三轉(zhuǎn)發(fā)設(shè)備103。而第三轉(zhuǎn)發(fā)設(shè)備103發(fā)往第一轉(zhuǎn)發(fā)設(shè)備101 的流量則經(jīng)過第二轉(zhuǎn)發(fā)設(shè)備102轉(zhuǎn)發(fā)到第四轉(zhuǎn)發(fā)設(shè)備104,再由第四轉(zhuǎn)發(fā)設(shè)備104轉(zhuǎn)發(fā)到第 一轉(zhuǎn)發(fā)設(shè)備101設(shè)備。而當(dāng)?shù)谝晦D(zhuǎn)發(fā)轉(zhuǎn)發(fā)設(shè)備101和第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路恢復(fù)正 常時,所述第二轉(zhuǎn)發(fā)設(shè)備102與所述第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài)變?yōu)閁P,觸發(fā)第二轉(zhuǎn) 發(fā)設(shè)備102進(jìn)行MAC清除,并進(jìn)行MAC學(xué)習(xí)。MAC學(xué)習(xí)的過程與實施例1中的MAC學(xué)習(xí)過程 相同,在此不再贅述。202 所述第二轉(zhuǎn)發(fā)設(shè)備102接收第三轉(zhuǎn)發(fā)設(shè)備103發(fā)送的數(shù)據(jù)包;并根據(jù)所述更 新后的MAC表項,將所述數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備101。第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,根據(jù)所述更新后的MAC表項,將從第三轉(zhuǎn)發(fā)設(shè) 備103接收的流量分組直接轉(zhuǎn)發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101,而不再通過第四轉(zhuǎn)發(fā)設(shè)備104轉(zhuǎn)發(fā)給 第一轉(zhuǎn)發(fā)設(shè)備101。對于從第一轉(zhuǎn)發(fā)設(shè)備101接收的流量分組,第二轉(zhuǎn)發(fā)設(shè)備102則將所述 流量分組直接轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備103。進(jìn)一步地,當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104上的Eth-Trimk接口以二層 VLAN方式加入E-TRUNK時,第二轉(zhuǎn)發(fā)設(shè)備102記錄該Eth-Trunk加入了哪個E-Trunk,并給 所述Eth-Trimk接口設(shè)置智能虛擬局域網(wǎng)SmartVlan標(biāo)記。當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102與第一轉(zhuǎn) 發(fā)設(shè)備101之間的鏈路恢復(fù)正常且第二轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài)由Down變?yōu)閁p時,判斷所述第二轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口是否有智 能虛擬局域網(wǎng)SmartVlan標(biāo)記。如果有,則清除所述轉(zhuǎn)發(fā)設(shè)備102上的MAC轉(zhuǎn)發(fā)表項,所述 第二轉(zhuǎn)發(fā)設(shè)備102重新進(jìn)行MAC地址學(xué)習(xí)。第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,將從第三 轉(zhuǎn)發(fā)設(shè)備103接收的流量分組直接轉(zhuǎn)發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101,將從第一轉(zhuǎn)發(fā)設(shè)備101接收的 流量分組直接轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備103 ;如果沒有SmartVlan標(biāo)記,則不清除所述轉(zhuǎn)發(fā)設(shè)備 102上的MAC轉(zhuǎn)發(fā)表項,所述轉(zhuǎn)發(fā)設(shè)備102不重新進(jìn)行MAC地址學(xué)習(xí)。本發(fā)明實施例2提供的防止E-TRUNK丟包的方法通過在轉(zhuǎn)發(fā)設(shè)備的接口恢復(fù)可用 (UP)狀態(tài)時觸發(fā)轉(zhuǎn)發(fā)設(shè)備進(jìn)行MAC轉(zhuǎn)發(fā)表項的更新,避免了轉(zhuǎn)發(fā)設(shè)備將收到的流量分組轉(zhuǎn) 發(fā)給錯誤的設(shè)備而導(dǎo)致丟包的問題,提高了 E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)的可靠性。實施例3參見圖3,本發(fā)明實施例3進(jìn)一步提供一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的裝 置,所述裝置例如可以是圖1中的第二轉(zhuǎn)發(fā)設(shè)備102,所述第二轉(zhuǎn)發(fā)設(shè)備102包括觸發(fā)單元301,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備101和所述第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路接恢 復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備102與所述第一轉(zhuǎn)發(fā)設(shè)備的接口狀態(tài)變?yōu)閁P時,觸發(fā)所述第 二轉(zhuǎn)發(fā)設(shè)備102更新媒體接入控制地址MAC表項;接收單元302,用于接收第三轉(zhuǎn)發(fā)設(shè)備103發(fā)送的數(shù)據(jù)包;轉(zhuǎn)發(fā)單元303,用于根據(jù)所述更新后的MAC表項,將所述接收單元302接收的所述 數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第一轉(zhuǎn)發(fā)設(shè)備101。例如,第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104與第一轉(zhuǎn)發(fā)設(shè)備101之間如果部署 E-TRUNK,則第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104的Kh-Trimk接口分別連接到第一轉(zhuǎn) 發(fā)設(shè)備101。第二轉(zhuǎn)發(fā)設(shè)備102和第四轉(zhuǎn)發(fā)設(shè)備104上的Eth-Trimk都加入E-TRUNKjf Eth-Trunk 和 E-TRUNK 綁定到一起,Eth-Trunk 的狀態(tài)受 E-Trunk 的控制。E-TRUNK 二層轉(zhuǎn) 發(fā)時,Eth-Trunk是以二層VLAN的方式加入E-TRUNK的。當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備101和第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈路發(fā)生故障時,第一轉(zhuǎn)發(fā)設(shè)備 101和第二轉(zhuǎn)發(fā)設(shè)備102之間的接口被設(shè)置為Down,第二轉(zhuǎn)發(fā)設(shè)備102中的觸發(fā)單元301觸 發(fā)第二轉(zhuǎn)發(fā)設(shè)備102快速清除自身設(shè)備上的轉(zhuǎn)發(fā)MAC,同時第二轉(zhuǎn)發(fā)設(shè)備102通過E-TRUNK 傳遞故障信息給第四轉(zhuǎn)發(fā)設(shè)備104,從而讓第一轉(zhuǎn)發(fā)設(shè)備101與第四轉(zhuǎn)發(fā)設(shè)備104之間的 備用鏈路快速啟用,此時第三轉(zhuǎn)發(fā)設(shè)備103發(fā)出的流量經(jīng)過第二轉(zhuǎn)發(fā)設(shè)備102的接收單 元302接收,并由第二轉(zhuǎn)發(fā)設(shè)備102的轉(zhuǎn)發(fā)單元303轉(zhuǎn)發(fā)給第四轉(zhuǎn)發(fā)設(shè)備104,第四轉(zhuǎn)發(fā)設(shè) 備104再將所述流量轉(zhuǎn)發(fā)到第一轉(zhuǎn)發(fā)設(shè)備101,流量轉(zhuǎn)發(fā)路徑是第三轉(zhuǎn)發(fā)設(shè)備103-第二轉(zhuǎn) 發(fā)設(shè)備102-第四轉(zhuǎn)發(fā)設(shè)備104-第一轉(zhuǎn)發(fā)設(shè)備101。而第一轉(zhuǎn)發(fā)設(shè)備101發(fā)出的流量則 會在Kh-Trimk中選擇可用的到第四轉(zhuǎn)發(fā)設(shè)備104的鏈路,流量轉(zhuǎn)發(fā)路徑是第一轉(zhuǎn)發(fā)設(shè)備 101-第四轉(zhuǎn)發(fā)設(shè)備104-第二轉(zhuǎn)發(fā)設(shè)備102-第三轉(zhuǎn)發(fā)設(shè)備103。當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備101和第二轉(zhuǎn)發(fā)設(shè)備102之間的鏈接恢復(fù)正常,且所述第二轉(zhuǎn)發(fā) 設(shè)備102與第一轉(zhuǎn)發(fā)設(shè)備101的接口狀態(tài)變?yōu)閁P時,所述第二轉(zhuǎn)發(fā)設(shè)備102的觸發(fā)單元 301觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè)備102更新MAC表項,所述第二轉(zhuǎn)發(fā)設(shè)備102清除MAC表項并重 新進(jìn)行MAC學(xué)習(xí)。在所述第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,第二轉(zhuǎn)發(fā)設(shè)備102的轉(zhuǎn)發(fā)單 元303根據(jù)所述更新后的MAC表項,將接收單元302從第三轉(zhuǎn)發(fā)設(shè)備103接收的數(shù)據(jù)包發(fā) 送給所述第一轉(zhuǎn)發(fā)設(shè)備101。其中MAC學(xué)習(xí)的過程與實施例1中相同,在此不再贅述。第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,根據(jù)所述更新后的MAC表項,將從第三轉(zhuǎn)發(fā)設(shè)備103接收的 流量分組直接轉(zhuǎn)發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101,將從第一轉(zhuǎn)發(fā)設(shè)備101接收的流量分組直接轉(zhuǎn)發(fā) 給第三轉(zhuǎn)發(fā)設(shè)備103。參見圖3,所述第二轉(zhuǎn)發(fā)設(shè)備102可以進(jìn)一步地包括標(biāo)記單元304,所述標(biāo)記單元 304用于當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102上的Kh-1Trunk接口以二層VLAN方式加入E-TRUNK時,記錄該 Eth-Trunk加入了哪個E-Trunk,并給所述Kh-Trunk接口設(shè)置智能虛擬局域網(wǎng)SmartVlan 標(biāo)記。當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備102與第一轉(zhuǎn)發(fā)設(shè)備101之間的鏈路恢復(fù)正常且第二轉(zhuǎn)發(fā)設(shè)備102 和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口狀態(tài)由Down變?yōu)閁p時,所述觸發(fā)單元301判斷所述第二 轉(zhuǎn)發(fā)設(shè)備102和第一轉(zhuǎn)發(fā)設(shè)備101相連的接口是否有智能虛擬局域網(wǎng)SmartVlan標(biāo)記。如 果有,則清除所述轉(zhuǎn)發(fā)設(shè)備102上的MAC表項,所述轉(zhuǎn)發(fā)設(shè)備102重新進(jìn)行MAC地址學(xué)習(xí)。 第二轉(zhuǎn)發(fā)設(shè)備102完成MAC學(xué)習(xí)后,根據(jù)所述更新后的MAC表項,將從第三轉(zhuǎn)發(fā)設(shè)備103接 收的流量分組直接轉(zhuǎn)發(fā)給第一轉(zhuǎn)發(fā)設(shè)備101,將從第一轉(zhuǎn)發(fā)設(shè)備101接收的流量分組直接 轉(zhuǎn)發(fā)給第三轉(zhuǎn)發(fā)設(shè)備103。如果所述接口沒有SmartVlan標(biāo)記,則不清除所述轉(zhuǎn)發(fā)設(shè)備102 上的MAC轉(zhuǎn)發(fā)表項,所述轉(zhuǎn)發(fā)設(shè)備102不重新進(jìn)行MAC地址學(xué)習(xí)。本發(fā)明實施例3提供的防止E-TRUNK丟包的裝置通過在轉(zhuǎn)發(fā)設(shè)備的接口恢復(fù)可用 (UP)狀態(tài)時觸發(fā)轉(zhuǎn)發(fā)設(shè)備進(jìn)行MAC轉(zhuǎn)發(fā)表項的更新,避免了轉(zhuǎn)發(fā)設(shè)備將收到的流量分組轉(zhuǎn) 發(fā)給錯誤的設(shè)備而導(dǎo)致丟包的問題,提高了 E-TRUNK 二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)的可靠性。通過以上的實施方式的描述,本領(lǐng)域的普通技術(shù)人員可以清楚地了解到本發(fā)明實 施例可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件來實現(xiàn)?;?這樣的理解,本發(fā)明實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn) 品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè) 備、或者服務(wù)器、或者其他網(wǎng)絡(luò)設(shè)備執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的 方法。以上僅為本發(fā)明的較佳實施例,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的方法,其特征在于,所述方法包括當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn) 發(fā)設(shè)備相連的接口的狀態(tài)變?yōu)榭捎肬P狀態(tài)時,觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè)備更新媒體接入控制 地址MAC表項;所述第二轉(zhuǎn)發(fā)設(shè)備接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;并根據(jù)所述更新后的MAC表項, 將所述數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一轉(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的 鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備相連的接口狀態(tài)的變?yōu)閁P之前還包 括判斷所述接口是否在E-TRUNK內(nèi);若所述接口在E-TRUNK內(nèi),則給所述接口設(shè)置智能虛擬局域網(wǎng)標(biāo)記。
3.如權(quán)利要求2所述的方法,其特征在于,所述當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間 的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備相連的接口的狀態(tài)變?yōu)閁P時,觸發(fā) 所述第二轉(zhuǎn)發(fā)設(shè)備更新MAC表項包括當(dāng)所述第一轉(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備的接 口狀態(tài)變?yōu)閁P時,所述第二轉(zhuǎn)發(fā)設(shè)備根據(jù)所述第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備相連的接口 的智能虛擬局域網(wǎng)標(biāo)記,對所述第二轉(zhuǎn)發(fā)設(shè)備的MAC表項進(jìn)行更新。
4.一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的裝置,其特征在于,所述裝置包括觸發(fā)單元,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和所述裝置之間的鏈路恢復(fù)正常,且所述裝置與所述 第一轉(zhuǎn)發(fā)設(shè)備相連的接口的狀態(tài)變?yōu)榭捎肬P狀態(tài)時,觸發(fā)所述裝置更新媒體接入控制地 址MAC表項;接收單元,用于接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;轉(zhuǎn)發(fā)單元,用于根據(jù)所述更新后的MAC表項,將所述接收單元接收的數(shù)據(jù)包轉(zhuǎn)發(fā)給所 述第一轉(zhuǎn)發(fā)設(shè)備。
5.如權(quán)利要求4所述的裝置,其特征在于,所述裝置還包括標(biāo)記單元,用于所述裝置與所述第一轉(zhuǎn)發(fā)設(shè)備相連的接口在E-TRUNK內(nèi)時給所述接口 設(shè)置智能虛擬局域網(wǎng)標(biāo)記。
6.如權(quán)利要求5所述的裝置,其特征在于,所述觸發(fā)單元具體用于當(dāng)所述第一轉(zhuǎn)發(fā)設(shè) 備和所述裝置之間的鏈路恢復(fù)正常,且所述裝置與所述第一轉(zhuǎn)發(fā)設(shè)備相連的接口的狀態(tài)變 為UP時,觸發(fā)所述裝置根據(jù)所述接口所在的智能虛擬局域網(wǎng)標(biāo)記,對本裝置的MAC表項進(jìn) 行更新。
7.一種防止增強(qiáng)聚合鏈路E-TRUNK丟包的系統(tǒng),其特征在于,所述系統(tǒng)包括至少三個轉(zhuǎn)發(fā)設(shè)備,其中,第一轉(zhuǎn)發(fā)設(shè)備,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常時,接收第 二轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;第二轉(zhuǎn)發(fā)設(shè)備,用于當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所述第 二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的接口的狀態(tài)變?yōu)榭捎肬P狀態(tài)時,觸發(fā)所述第二轉(zhuǎn)發(fā)設(shè) 備更新MAC表項;接收第三轉(zhuǎn)發(fā)設(shè)備發(fā)送的數(shù)據(jù)包;并根據(jù)所述更新后的MAC表項,將所述 數(shù)據(jù)包發(fā)送給所述第一轉(zhuǎn)發(fā)設(shè)備;第三轉(zhuǎn)發(fā)設(shè)備,用于發(fā)送數(shù)據(jù)包給所述第二轉(zhuǎn)發(fā)設(shè)備。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于所述第二轉(zhuǎn)發(fā)設(shè)備還用于判斷所述第二轉(zhuǎn) 發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備相連的接口是否在E-TRUNK內(nèi);若所述接口在E-TRUNK內(nèi),則給所述接口設(shè)置智能虛擬局域網(wǎng)標(biāo)記。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述第二轉(zhuǎn)發(fā)設(shè)備具體用于當(dāng)所述第一轉(zhuǎn) 發(fā)設(shè)備和第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路恢復(fù)正常,且所述第二轉(zhuǎn)發(fā)設(shè)備與所述第一轉(zhuǎn)發(fā)設(shè)備相 連的接口的狀態(tài)變?yōu)閁P時,所述第二轉(zhuǎn)發(fā)設(shè)備根據(jù)所述智能虛擬局域網(wǎng)標(biāo)記,對所述第二 轉(zhuǎn)發(fā)設(shè)備的MAC表項進(jìn)行更新。
全文摘要
本發(fā)明實施例提供一種防止增強(qiáng)聚合鏈路E-TRUNK二層轉(zhuǎn)發(fā)回切流量丟包的方法、裝置和系統(tǒng)。所述方法包括轉(zhuǎn)發(fā)設(shè)備的接口加入虛擬局域網(wǎng)VLAN時判斷所述接口是否在E-Trunk內(nèi),如果所述接口在E-Trunk內(nèi)則給所述接口設(shè)置智能虛擬局域網(wǎng)SmartVlan標(biāo)記;當(dāng)轉(zhuǎn)發(fā)設(shè)備的接口的狀態(tài)由Down變?yōu)閁p時,判斷所述接口是否具有SmartVlan標(biāo)記,如果所述接口具有所述SmartVlan標(biāo)記,則清除所述轉(zhuǎn)發(fā)設(shè)備上的MAC轉(zhuǎn)發(fā)表項,所述轉(zhuǎn)發(fā)設(shè)備重新進(jìn)行MAC地址學(xué)習(xí)。本發(fā)明實施例提供的防止E-TRUNK二層轉(zhuǎn)發(fā)回切流量丟包的方法通過在當(dāng)前E-TRUNK二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)中提供轉(zhuǎn)發(fā)設(shè)備的MAC刷新機(jī)制,在轉(zhuǎn)發(fā)設(shè)備的接口由恢復(fù)可用(UP)狀態(tài)時觸發(fā)轉(zhuǎn)發(fā)設(shè)備進(jìn)行MAC轉(zhuǎn)發(fā)表項的更新,避免了轉(zhuǎn)發(fā)設(shè)備將收到的流量分組轉(zhuǎn)發(fā)給錯誤的設(shè)備而導(dǎo)致流量分組的丟包,提高了E-TRUNK二層轉(zhuǎn)發(fā)網(wǎng)絡(luò)中業(yè)務(wù)的可靠性。
文檔編號H04L12/56GK102142931SQ20111002482
公開日2011年8月3日 申請日期2011年1月22日 優(yōu)先權(quán)日2011年1月22日
發(fā)明者蘭雪梅, 王洪健, 程永鋒 申請人:華為數(shù)字技術(shù)有限公司