国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法和堆疊系統(tǒng)中的成員設(shè)備的制作方法

      文檔序號:7701414閱讀:690來源:國知局
      專利名稱:防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法和堆疊系統(tǒng)中的成員設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)通信網(wǎng)絡(luò)領(lǐng)域中的堆疊技術(shù),具體涉及一種防止堆疊系 統(tǒng)產(chǎn)生環(huán)路的方法和 一 種堆疊系統(tǒng)中的成員設(shè)備。
      背景技術(shù)
      隨著網(wǎng)絡(luò)規(guī)模的急劇增加,堆疊技術(shù)應(yīng)運而生。堆疊技術(shù)是指將兩臺或 多臺網(wǎng)絡(luò)設(shè)備通過堆疊口連接起來,組成堆疊系統(tǒng)。從邏輯上來說,堆疊在 一起的網(wǎng)絡(luò)設(shè)備相當(dāng)于同 一設(shè)備,用戶管理堆疊系統(tǒng)就像管理一 臺設(shè)備。
      圖l為現(xiàn)有技術(shù)中一種4臺設(shè)備堆疊的堆疊系統(tǒng)結(jié)構(gòu)示意圖。如圖l所 示,堆疊系統(tǒng)包括多個通過堆疊電纜連接在一起的多臺網(wǎng)絡(luò)設(shè)備,這些網(wǎng)絡(luò) 設(shè)備稱為成員設(shè)備。每個成員設(shè)備最多設(shè)置兩個堆疊口,分別稱為堆疊口 1 和堆疊口2。每一個堆疊口由多個成員端口聚合而成。對于相鄰的兩臺設(shè)備 A和B, A的堆疊口 1和B的堆疊口 2相連。
      在堆疊系統(tǒng)中,當(dāng)堆疊系統(tǒng)的拓樸發(fā)生變化時,每個成員設(shè)備根據(jù)當(dāng)前 拓樸的連接情況,計算本設(shè)備到其它成員設(shè)備之間的最短路徑,從而獲得從 本設(shè)備到其它成員設(shè)備的報文從本設(shè)備的哪個堆疊口轉(zhuǎn)發(fā)出去。然后,根據(jù) 計算得到的最短路徑生成轉(zhuǎn)發(fā)路徑表。
      以圖1中的拓樸連接情況為例,假設(shè)設(shè)備1計算本設(shè)備到其它成員設(shè)備 之間的最短路徑具體為設(shè)備1到設(shè)備2之間的最短路徑為路徑12,那么 報文從設(shè)備1到設(shè)備2走堆疊口 1;設(shè)備1到設(shè)備3之間的最短路徑為路徑 12加路徑23,那么報文從設(shè)備1到設(shè)備3走堆疊口 1;設(shè)備1到設(shè)備4之 間的最短路徑為路徑41,那么報文從設(shè)備1到設(shè)備4走堆疊口 2。設(shè)備1到 自身不必走堆疊口。根據(jù)該最短路徑的計算結(jié)果生成如表1所示的設(shè)備1的
      8轉(zhuǎn)發(fā)路徑表。然后再根據(jù)轉(zhuǎn)發(fā)路徑表設(shè)置硬件轉(zhuǎn)發(fā)表項,保證報文可以經(jīng)由 正確的堆疊口轉(zhuǎn)發(fā)出去。
      目的設(shè)備設(shè)備1設(shè)備2設(shè)備3設(shè)備4
      選擇的堆疊口--堆疊口 1堆疊口 1堆疊口 2
      表1
      當(dāng)才艮文從堆疊系統(tǒng)外部進入堆疊系統(tǒng)后,由才艮文入接口所在設(shè)備查找硬— 件轉(zhuǎn)發(fā)表,確定報文在堆疊系統(tǒng)中的目的設(shè)備和出接口,進而確定轉(zhuǎn)發(fā)該報 文的堆疊口,然后將報文通過確定的堆疊口向目的設(shè)備發(fā)送。在發(fā)送之前, 還需要在報文上添加堆疊報文頭,該堆疊報文頭包括源設(shè)備信息、入接口信 息、目的設(shè)備信息和出接口信息。
      當(dāng)成員設(shè)備通過堆疊口接收到來自堆疊系統(tǒng)中其它成員設(shè)備的報文時,
      根據(jù)報文攜帶的目的設(shè)備信息,判斷自身是否為報文的目的設(shè)備;如果是, 則將報文從出接口發(fā)送到堆疊系統(tǒng)外部;如果不是,則根據(jù)報文攜帶的目的 設(shè)備信息查找自身硬件轉(zhuǎn)發(fā)表并繼續(xù)向報文目的設(shè)備轉(zhuǎn)發(fā)。
      在堆疊系統(tǒng)中,報文需要沿著源和目的之間的最短路徑轉(zhuǎn)發(fā),如果某成 員設(shè)備通過堆疊口 l發(fā)出的報文,又從自己的堆疊口 2接收到,并再次從堆 疊口 l發(fā)出,則形成環(huán)路;或者某成員設(shè)備通過堆疊口 l發(fā)出的報文,在堆 疊系統(tǒng)中繞了一圈之后,又從自己的堆疊口 l收到,則也形成環(huán)路。這種報 文成環(huán)的現(xiàn)象會造成廣播風(fēng)暴,從而將系統(tǒng)中可用帶寬耗盡,使得整個系統(tǒng) 不可用。
      為了防止報文成環(huán),可以在堆疊系統(tǒng)中設(shè)置環(huán)路檢查,以防止堆疊系統(tǒng) 產(chǎn)生環(huán)路。例如, 一種環(huán)路檢查方式是各成員設(shè)備接收到來自其它成員設(shè)備 的報文時,根據(jù)報文攜帶的源設(shè)備信息,判斷所接收報文的源設(shè)備是否為自 身,如果是,則丟棄報文,否則進行正常轉(zhuǎn)發(fā)。
      但是這種環(huán)路檢查方式并不適用于掛接有應(yīng)用子卡的堆疊系統(tǒng)。圖2為 應(yīng)用子卡掛接在圖1所示堆疊系統(tǒng)設(shè)備3上的示意圖。該應(yīng)用子卡可以為應(yīng) 用控制網(wǎng)關(guān)(ACG, Application Control Gateway )子卡,諸如入侵防御系統(tǒng)
      9(IPS, Intrusion Prevention System)子卡的安全子卡,等等。應(yīng)用子卡為整 個堆疊系統(tǒng)中的各個成員設(shè)備服務(wù)。當(dāng)某個成員設(shè)備需要應(yīng)用子卡處理報 文,當(dāng)應(yīng)用子卡不在本成員設(shè)備上,則該成員設(shè)備通過重定向的方式將報文 重定向到應(yīng)用子卡所在成員設(shè)備。應(yīng)用子卡處理報文后,應(yīng)用子卡所在成員 設(shè)備為報文確定目的設(shè)備和出接口并進行轉(zhuǎn)發(fā)。
      參見圖2,假設(shè)應(yīng)用子卡掛接在設(shè)備3上,流量從設(shè)備2進入,且需要 應(yīng)用子卡的處理,經(jīng)處理后再轉(zhuǎn)發(fā)到設(shè)備l。在這種情況下,設(shè)備2接收到 報文后,在為報文添加的堆疊報頭中填入自身設(shè)備信息作為源設(shè)備信息,將 報文被重定向到設(shè)備3上接收應(yīng)用子卡的處理,經(jīng)應(yīng)用子卡處理后,設(shè)備3 為報文查找目的設(shè)備和出接口并進行轉(zhuǎn)發(fā)。假設(shè)從設(shè)備3到設(shè)備1走設(shè)備3 的堆疊口2,那么報文通過堆疊口 2轉(zhuǎn)發(fā)回設(shè)備2上。由于轉(zhuǎn)發(fā)過程中報文 的源設(shè)備信息通常不變,此時設(shè)備2從堆疊口 1上收到了源設(shè)備為自身的報 文,設(shè)備2將會丟棄該報文,從而導(dǎo)致錯誤發(fā)生。
      可見,上述防止堆疊系統(tǒng)產(chǎn)生環(huán)路方案,可能造成經(jīng)重定向到業(yè)務(wù)子卡 處理的報文在接受環(huán)路檢查時被錯誤丟棄,因此不適用于具有業(yè)務(wù)子卡的堆 疊系統(tǒng)。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明提供了一種防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法,能夠避免 經(jīng)重定向到業(yè)務(wù)子卡處理的報文在接受環(huán)路檢查時被錯誤丟棄。
      堆疊系統(tǒng)中的成員設(shè)備通過堆疊口接收報文,判斷所接收報文是否為已 知單播報文;如果是,則對所接收報文進行轉(zhuǎn)發(fā)處理;否則,對所接收報文 進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未檢測到產(chǎn) 生環(huán)路,則對所接收報文進行轉(zhuǎn)發(fā)處理。
      該方法進一步包括為報文查找目的設(shè)備和出接口的成員設(shè)備,在未查 找到單播報文的目的設(shè)備和出接口時,確定該單播報文為未知單播報文,為 未知單播纟艮文打上未知單播標(biāo)識;在這種情況下,所述判斷所接收報文是否為已知單播報文為如果所接 收報文未攜帶未知單播標(biāo)識,且不是廣播報文,也不是組播報文,則判定所 接收報文為已知單播報文。
      該方法進一步包括報文Q的入接口所在成員設(shè)備為報文Q添加堆疊 報文頭,在所述堆疊報文頭中記錄源設(shè)備信息;
      在這種情況下,所述對所接收報文進行環(huán)路檢查包括
      成員設(shè)備根據(jù)所接收報文攜帶的源設(shè)備信息,判斷所接收報文的源設(shè)備 是否為自身,如果是,則確定產(chǎn)生環(huán)路;
      判斷實際接收該所接收報文的堆疊口是否為該所接收報文的源設(shè)備到 自身之間的最短路徑對應(yīng)的堆疊口,如果不是,則確定產(chǎn)生環(huán)路。
      該方法進一步包括成員設(shè)備在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸 連接情況計算自身到堆疊系統(tǒng)中其它各成員設(shè)備的最短路徑;根據(jù)最短路徑 計算結(jié)果,分別向自身各堆疊口下發(fā)相應(yīng)ACL規(guī)則;
      向堆疊口 x下發(fā)的ACLMJ'j包括以下4類ACLMJ'J:
      第一類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高 位為1,且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備;
      第二類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高 位為1,且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè) 備;
      第三類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所 接收報文的源設(shè)備為堆疊口 x所在設(shè)備;
      第四類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所 接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;
      所述判斷所接收報文是否為已知單播報文的操作和所述對所接收報文
      進行環(huán)路檢查的操作包括根據(jù)為實際接收報文的堆疊口下發(fā)的ACL規(guī)則,
      判斷所接收報文是否與其中任意一個ACL規(guī)則相匹配,如果是,則丟棄所
      接收報文;否則,對所接收報文進行轉(zhuǎn)發(fā)處理。
      ii該方法進一步包括成員設(shè)備在初始化時,分別向自身各堆疊口下發(fā)所
      有相關(guān)ACL規(guī)則;向堆疊口 x下發(fā)的ACL規(guī)則包括以下2類ACL規(guī)則
      a類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備;
      b類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接 收報文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備。
      每個成員設(shè)備在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接情況計算自 身到堆疊系統(tǒng)中其它各成員設(shè)備的最短路徑;根據(jù)最短路徑計算結(jié)果,使能 第a類ACL規(guī)則中和第b類ACL規(guī)則中的有效ACL規(guī)則;
      為堆疊口 x使能的有效ACL規(guī)則包括
      a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;
      a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的 ACL規(guī)則;
      b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;
      b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則;
      所述判斷所接收報文是否為已知單播報文的操作和所述對所接收報文 進行環(huán)路檢查的操作包括根據(jù)為實際接收報文的堆疊口使能的有效ACL 規(guī)則,判斷所接收報文是否與其中任意一個有效ACL規(guī)則相匹配,如果是, 則丟棄所接收報文;否則,對所接收報文進行轉(zhuǎn)發(fā)處理。
      本發(fā)明還提供了 一種防止堆疊系統(tǒng)產(chǎn)生環(huán)路的堆疊成員設(shè)備,能夠避免 經(jīng)重定向到業(yè)務(wù)子卡處理的報文在接受環(huán)路檢查時被錯誤丟棄。
      該成員設(shè)備包括環(huán)路檢查單元和轉(zhuǎn)發(fā)單元;
      所述環(huán)路檢查單元,用于通過堆疊口接收報文,判斷所接收報文是否為已知單播報文;如果是,則將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元;否則,對所 接收報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未
      檢測到產(chǎn)生環(huán)路,則將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元;
      所述轉(zhuǎn)發(fā)單元,用于對所接收的報文進行轉(zhuǎn)發(fā)處理。 該成員設(shè)備進一步包括報文處理單元,用于為報文查找目的設(shè)備和出接 口 ,如果未查找到單播報文的目的設(shè)備和出接口 ,則確定該單播報文為未知
      單播報文,為未知單播報文打上未知單播標(biāo)識;
      所述環(huán)路檢查單元在判斷通過堆疊口接收的報文是否為已知單播報文 時,如果所接收報文未攜帶未知單播標(biāo)識,且不是廣播報文,也不是組播報 文時,則判定所接收報文為已知單播報文。
      所述報文處理單元進一步用于,為接收自堆疊系統(tǒng)外部的報文添加堆疊 報文頭,在所述堆疊報文頭中記錄源設(shè)備信息;
      所述環(huán)路檢查單元在進行環(huán)路檢查時,根據(jù)所接收報文攜帶的源設(shè)備信 息,判斷所接收報文的源設(shè)備是否為所在成員設(shè)備,如果是,則確定產(chǎn)生環(huán) 路;判斷實際接收該所接收報文的堆疊口是否為所接收報文的源設(shè)備到所在 成員設(shè)備之間的最短路徑對應(yīng)的堆疊口,如果不是,則確定產(chǎn)生環(huán)路。
      所述環(huán)路檢查單元包括堆疊拓樸模塊、ACL下發(fā)模塊、ACL設(shè)置模塊 和檢查模塊;
      所述堆疊拓樸模塊,用于在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接 情況計算所在成員設(shè)備到堆疊系統(tǒng)中其它各成員設(shè)備之間的最短路徑,將最 短路徑計算結(jié)果發(fā)送給所述ACL下發(fā)模塊;
      所述ACL下發(fā)模塊,用于根據(jù)最短路徑計算結(jié)果,確定所在成員設(shè)備 的各堆疊口對應(yīng)的ACL規(guī)則,并下發(fā)給所述ACL設(shè)置模塊;
      堆疊口 x對應(yīng)的ACL規(guī)則包括如下4類ACL規(guī)則
      第一類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高 位為1,且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備;
      第二類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高
      13位為1,且所接收報文的源設(shè)備為堆疊口 X通過非最短路徑連接的各成員設(shè)
      備;
      第三類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所 接收報文的源設(shè)備為堆疊口 x所在設(shè)備;
      第四類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所 接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;
      所述ACL設(shè)置模塊,用于接收所述ACL下發(fā)模塊下發(fā)的各堆疊口對應(yīng) 的ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口;
      所述檢查模塊,用于通過堆疊口接收報文,根據(jù)為實際接收該報文的堆 疊口設(shè)置的ACL規(guī)則,判斷所接收報文是否與其中任意一個ACL規(guī)則相匹 配,如果是,丟棄所接收報文;否則,將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元。
      或者,所述環(huán)路檢查單元包括ACL下發(fā)模塊和ACL設(shè)置模塊;
      所述ACL下發(fā)模塊,用于在初始化時,將所在成員設(shè)備中各堆疊口對 應(yīng)的所有相關(guān)ACL規(guī)則下發(fā)給所述ACL設(shè)置模塊;堆疊口 x對應(yīng)的所有相 關(guān)ACL規(guī)則包括以下2類ACL規(guī)則
      a類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1 ,且所接收報文的源設(shè)備是為堆疊系統(tǒng)配置的各設(shè)備;
      b類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接 收報文的源設(shè)備是為堆疊系統(tǒng)配置的各設(shè)備;
      所述ACL設(shè)置模塊用于接收所述ACL下發(fā)模塊下發(fā)的各堆疊口對應(yīng)的 所有相關(guān)ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口。
      所述環(huán)路檢查單元還包括堆疊拓樸模塊和檢查模塊;
      所述堆疊拓樸模塊,用于在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接 情況計算所在成員設(shè)備到堆疊系統(tǒng)中其它各成員設(shè)備之間的最短路徑,將最 短路徑計算結(jié)果發(fā)送給所述ACL下發(fā)模塊;
      所述ACL下發(fā)模塊進一步用于,在接收到所述最短路徑計算結(jié)果時, 根據(jù)最短路徑計算結(jié)果,確定第a類ACL規(guī)則中和第b類ACL規(guī)則中的有
      14效ACL規(guī)則,并通知所述ACL設(shè)置模塊; 為堆疊口 x確定的有效ACL規(guī)則包括
      a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x所在成員設(shè)備的ACL規(guī)則;
      a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的 ACL規(guī)則;
      b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x所在成員設(shè)備的ACL規(guī)則;
      b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則;
      所述ACL設(shè)置模塊進一步用于,當(dāng)接收到來自所述ACL下發(fā)模塊的通 知時,使能為各堆疊口設(shè)置的有效ACL規(guī)則;
      所述檢查模塊,用于通過堆疊口接收報文,根據(jù)為實際接收該報文的堆 疊口設(shè)置的有效ACL規(guī)則,判斷所接收報文是否與其中任意一個有效ACL 規(guī)則相匹配,如果是,丟棄所接收報文;否則,將所接收報文發(fā)送給所述轉(zhuǎn) 發(fā)單元。
      根據(jù)以上技術(shù)方案可見,應(yīng)用本發(fā)明通過對包含業(yè)務(wù)子卡,需要重定向 處理的堆疊環(huán)境進行分析發(fā)現(xiàn),重定向到業(yè)務(wù)子卡接受處理的報文均為已知 單播報文,且已知單播報文在堆疊系統(tǒng)中的轉(zhuǎn)發(fā)路徑已經(jīng)確定,不會造成環(huán) 路,因此無需對已知單播報文進行環(huán)路檢查。因此,本發(fā)明僅對廣播報文、 組播報文和未知單播報文進行環(huán)路檢查,從而避免經(jīng)重定向處理后的報文在 接受環(huán)路檢查時被丟棄,且不會影響環(huán)路檢查效果。


      圖1為一種4臺設(shè)備堆疊的堆疊系統(tǒng)結(jié)構(gòu)示意圖。
      圖2為一種應(yīng)用子卡掛接在圖1所示堆疊系統(tǒng)的設(shè)備3上的示意圖。圖3為本發(fā)明實施例中一種采用ACL規(guī)則實現(xiàn)防止堆疊系統(tǒng)產(chǎn)生環(huán)路 的方法流程圖。
      圖4為本發(fā)明實施例中另一種采用ACL規(guī)則實現(xiàn)防止堆疊系統(tǒng)產(chǎn)生環(huán) 路的方法流程圖。
      圖5為圖2中拓樸變化后形成的鏈型拓樸。
      圖6為本發(fā)明實施例中成員設(shè)備的結(jié)構(gòu)示意圖。
      圖7為圖6中環(huán)路檢查單元62的結(jié)構(gòu)示意圖。
      具體實施例方式
      下面結(jié)合附圖并舉實施例,對本發(fā)明進行詳細(xì)描述。
      對于具有業(yè)務(wù)子卡、且有重定向需求的堆疊系統(tǒng),被重定向到業(yè)務(wù)子卡 處理的流量是報文特征與預(yù)定規(guī)則相匹配的流量,這種流量具有已知報文特 征。而且,在具有業(yè)務(wù)子卡的堆疊系統(tǒng)這種特定的環(huán)境下,被重定向到業(yè)務(wù) 子卡的流量必定是單播報文。因此,在具有業(yè)務(wù)子卡的堆疊系統(tǒng)中,只有具 備已知報文特征的單播報文即已知單播報文,會出現(xiàn)重定向到業(yè)務(wù)子卡接受 處理的情況。
      通過上述對具有應(yīng)用子卡,且有重定向需求的堆疊環(huán)境進行分析發(fā)現(xiàn), 重定向到業(yè)務(wù)子卡處理的報文均為已知單播報文,因此,本發(fā)明只要不對已 知單播報文進行環(huán)路檢查,即可避免經(jīng)重定向到業(yè)務(wù)子卡處理后的報文在接
      受環(huán)路檢查時被丟棄。而且,由于在堆疊系統(tǒng)中,已知單播報文會沿著最短 路徑轉(zhuǎn)發(fā),該最短路徑是堆疊系統(tǒng)拓樸建立時所確定的最優(yōu)路徑,因此已知 單播報文在堆疊系統(tǒng)中的轉(zhuǎn)發(fā)路徑不會造成環(huán)路,那么不對已知單播報文進 行環(huán)路檢查也不會影響環(huán)路檢查效果,同樣能夠達到防止堆疊系統(tǒng)產(chǎn)生環(huán)路 的目的。
      基于上述思想,本發(fā)明實施例提供的防止環(huán)路產(chǎn)生方案為堆疊系統(tǒng)中 的成員設(shè)備接收來自堆疊系統(tǒng)中其它成員設(shè)備的報文,判斷所接收報文是否 為已知單播報文;如果是,則對所接收報文進行轉(zhuǎn)發(fā)處理;否則,對所接收報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未檢測 到產(chǎn)生環(huán)路,則對所接收報文進行轉(zhuǎn)發(fā)處理。
      該方案不僅適用于具有業(yè)務(wù)子卡的堆疊系統(tǒng),而且適用于不具有業(yè)務(wù)子 卡的堆疊系統(tǒng)。不僅適用于環(huán)形拓樸的堆疊系統(tǒng),還適用于非環(huán)形拓樸的堆 疊系統(tǒng)。
      其中,上述成員設(shè)備判斷所接收報文是否為已知單播報文的操作可以通
      過判斷報文是否為廣播報文、組播報文或未知單播報文實現(xiàn)。具體來說
      廣播報文和組播報文比較容易識別,可以根據(jù)報文的目的介質(zhì)訪問控制 (MAC)地址,判斷報文是否為廣播報文和組播報文。如果報文的目的MAC
      地址的最高位為1,則該報文為廣播報文或組播報文。
      未知單播報文也屬于單播報文,與已知單播報文的區(qū)別在于,堆疊系統(tǒng)
      中的成員設(shè)備不能從轉(zhuǎn)發(fā)表中查找到未知單播報文的目的設(shè)備和出接口 。為 了便于各成員設(shè)備識別未知單播報文,在本實施例中,為報文查找目的設(shè)備 和出接口的成員設(shè)備,在未查找到某單播報文的目的設(shè)備和出接口時,則確
      定該單播報文為未知單播報文,為未知單播報文打上未知單播標(biāo)識。該未知 單播標(biāo)識可以設(shè)置在堆疊系統(tǒng)為報文添加的堆疊報文頭中。所述為報文查找 目的設(shè)備和出接口的成員設(shè)備可能是報文入接口所在成員設(shè)備,也可能是業(yè) 務(wù)子卡所在成員設(shè)備。
      那么,當(dāng)成員設(shè)備從堆疊口接收的報文未攜帶未知單播標(biāo)識、且根據(jù)目 的MAC地址判定所接收報文也不是廣播I艮文或組播I艮文,則可以確定該才艮 文為已知單播報文,不需要對其進行環(huán)路檢查。而當(dāng)所接收報文為廣播報文、 組播報文或未知單播報文中的任意一種時,都需要進行環(huán)路檢查。
      本實施例中,環(huán)路檢查的操作可以通過檢查報文的源設(shè)備信息實現(xiàn),具 體來說
      報文入接口所在成員設(shè)備會為報文添加堆疊報文頭,并在堆疊報文頭中 記錄源設(shè)備信息和入接口信息;如果報文入接口所在成員設(shè)備還為報文確定 了目的設(shè)備和出接口 ,還會在堆疊報文頭中記錄目的設(shè)備信息和出接口信息。其中,源設(shè)備信息和目的設(shè)備信息均為設(shè)備在堆疊系統(tǒng)中的標(biāo)識,稱為設(shè)備Mod,源設(shè)備信息可以記為SrcMod,目的設(shè)備信息記為Destmod 。那么在環(huán)路檢查時,成員設(shè)備根據(jù)所接收報文攜帶的SrcMod,判斷所 接收廣播/組播/未知單播報文('7"表示或)的源設(shè)備是否為自身,如果是, 則確定產(chǎn)生環(huán)路。這一檢查操作可以避免成員設(shè)備收到自己發(fā)出的報文。在實際中,如果成員設(shè)備從堆疊口 1和堆疊口 2收到相同的廣播/組播/ 未知單播報文,也產(chǎn)生了環(huán)路。為了防止這種情況的發(fā)生,本發(fā)明的環(huán)路檢 查操作進一步包括成員設(shè)備判斷實際接收廣播/組播/未知單播報文的堆疊 口是否為所接收報文的源設(shè)備到自身之間的最短路徑對應(yīng)的堆疊口 ,如果不 是,則確定產(chǎn)生環(huán)路。在實際實施時,可以通過在每個成員設(shè)備中設(shè)置源丟棄表項,來實現(xiàn)對 廣播/組播/未知單播報文的環(huán)路檢查以及環(huán)路;險查結(jié)果對應(yīng)的操作。表2為 圖2中設(shè)備1的源丟棄表項設(shè)置示意。表2中的"Y"表示丟棄,"N"表 示不丟棄。源設(shè)備設(shè)備1設(shè)備2設(shè)備3設(shè)備4堆疊口 1YNNY堆疊口 2YYYN表2源丟棄表項中記錄了成員設(shè)備的各堆疊口對源設(shè)備為自身的廣播/組播/ 未知單播報文如何處理,對源設(shè)備為其它成員設(shè)備的廣播/組播/未知單播報文如何處理。以表2為例,當(dāng)設(shè)備1從堆疊口 1接收到源設(shè)備為設(shè)備1的廣 播/組播/未知單播報文時,查找源丟棄表項,查找到對應(yīng)的操作為"Y", 則丟棄所接收報文。再例如,當(dāng)設(shè)備l從堆疊口 l接收到源設(shè)備為設(shè)備4的 廣播/組播/未知單播報文,則丟棄所接收報文。采用表2示出的源丟棄表項實現(xiàn)本發(fā)明需要先進行報文類別的識別,再 采用源丟棄表項對廣播/組播/未知單播報文進行環(huán)路檢查。在實際中,已知 單播報文的判斷操作以及環(huán)路檢查操作可以采用匹配ACL規(guī)則實現(xiàn)。圖3為本發(fā)明實施例中一種采用ACL規(guī)則實現(xiàn)防止堆疊系統(tǒng)產(chǎn)生環(huán)路 的方法流程圖。如圖3所示,該流程包括以下步驟步驟301:各成員設(shè)備在堆疊系統(tǒng)拓樸確定時,例如堆疊系統(tǒng)上電啟動, 或堆疊系統(tǒng)拓樸發(fā)生變化時,根據(jù)當(dāng)前拓樸連接情況計算自身到堆疊系統(tǒng)中 其它各成員設(shè)備的最短路徑。步驟302:成員設(shè)備根據(jù)最短路徑計算結(jié)果生成轉(zhuǎn)發(fā)路徑表,根據(jù)轉(zhuǎn)發(fā) 路徑表設(shè)置硬件轉(zhuǎn)發(fā)表項。該硬件轉(zhuǎn)發(fā)表項為報文在堆疊系統(tǒng)內(nèi)部轉(zhuǎn)發(fā)所遵循的轉(zhuǎn)發(fā)規(guī)則。根據(jù)最 短路徑生成轉(zhuǎn)發(fā)路徑表的方式為已知技術(shù)手段,這里不詳述。步驟303:成員設(shè)備根據(jù)最短路徑計算結(jié)果,分別向自身的堆疊口 l和 堆疊口 2下發(fā)相應(yīng)ACL規(guī)則。步驟302和303的執(zhí)行順序不分先后。向堆疊口 x ( x為1或2 )下發(fā)的ACL規(guī)則包括如下4類ACL規(guī)則, 各類ACL規(guī)則的匹配處理操作為丟棄。所述4類ACL規(guī)則包括第一類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備;第二類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的成員設(shè)備;該第二 類ACL規(guī)則的數(shù)量可以為多個,具體數(shù)量與堆疊口 x通過最短路徑連接的成員 設(shè)備以及堆疊系統(tǒng)中成員設(shè)備總數(shù)有關(guān);第三類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收 報文的源設(shè)備為堆疊口 x所在設(shè)備;第四類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所 接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的成員設(shè)備;該第四類 ACL規(guī)則的數(shù)量可以為多個,具體數(shù)量與堆疊口 x通過最短路徑連接的成 員設(shè)備以及堆疊系統(tǒng)中成員設(shè)備總數(shù)有關(guān)。仍以圖2中設(shè)備1為例,設(shè)備1向堆疊口 1下發(fā)4條ACL,分別為19ACL1,為第一類ACL規(guī)則,其匹配條件為所接收報文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備1;ACL2,為第二類ACL規(guī)則,其匹配條件為所接收報文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備4;因為設(shè)備1到設(shè)備4的最 短路徑走設(shè)備1的堆疊口 2,不走堆疊口 1;ACL3,為第三類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播 標(biāo)識,且所接收報文的源設(shè)備為設(shè)備1;ACL4,為第四類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播 標(biāo)識,且所接收報文的源設(shè)備為設(shè)備4。其中,每條ACL規(guī)則中的源設(shè)備匹配條件可能為一個Mod值。對于多 芯片設(shè)備來說,其設(shè)備Mod值為多個,因此每條ACL規(guī)則中的源設(shè)備匹配 條件可以是Mod值范圍。各設(shè)備的Mod值范圍是預(yù)先設(shè)定的。例如,預(yù)設(shè) 設(shè)備1的Mod值范圍為A D,則ACL1的匹配條件為目的MAC的最高 位=1,且SrcMod=A D。步驟304:成員設(shè)備接收來自堆疊系統(tǒng)中其它成員設(shè)備的報文,根據(jù)為 實際接收報文的堆疊口下發(fā)的ACL規(guī)則,判斷所接收報文是否與其中任意 一個ACL規(guī)則相匹配,如果是,則執(zhí)行步驟305;否則,執(zhí)行步驟306。步驟305:丟棄所接收報文,本流程結(jié)束。步驟306:成員設(shè)備根據(jù)自身硬件轉(zhuǎn)發(fā)表項對所接收報文進行轉(zhuǎn)發(fā)處理, 本流程結(jié)束。至此,本流程結(jié)束。從圖3示出的流程可見,該方案是在拓樸形成后,根據(jù)拓樸連接情況下 發(fā)ACL規(guī)則,這些ACL規(guī)則都是有效的ACL規(guī)則。在這種情況下,每當(dāng) 拓樸變化時,都需要再次生成并下發(fā)適用于當(dāng)前拓樸連接情況的有效ACL 規(guī)則。為了進一步優(yōu)化下發(fā)時間,充分利用較為充足的ACL資源,各成員 設(shè)備可以在初始化時,向自身堆疊口 x下發(fā)可能的所有ACL規(guī)則,當(dāng)拓樸 確定后根據(jù)當(dāng)前拓樸連接情況,使能有效的ACL規(guī)則。具體流程參見圖4。圖4為本發(fā)明實施例中另一種釆用ACL規(guī)則實現(xiàn)防止堆疊系統(tǒng)產(chǎn)生環(huán) 路的方法流程圖。該流程示出了初始化時下發(fā)所有可能ACL的實施方式。 如圖4所示,該流程包括如下步驟步驟401:每個成員設(shè)備在初始化時,分別向自身各堆疊口下發(fā)所有相 關(guān)ACL規(guī)則;向堆疊口 x下發(fā)的ACL規(guī)則包括以下2類ACL規(guī)則,各ACL 規(guī)則的匹配處理操作為丟棄。所述2類ACL規(guī)則包括a類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備;其中,預(yù)先為 堆疊系統(tǒng)配置的各設(shè)備是可能加入堆疊的設(shè)備,但在堆疊拓樸形成之前,這 些設(shè)備還不能稱為成員設(shè)備。該a類ACL規(guī)則的個數(shù)等于為堆疊系統(tǒng)配置 的設(shè)備總數(shù)。b類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接 收報文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備;該b類ACL規(guī)則的個數(shù) 等于為堆疊系統(tǒng)配置的設(shè)備總數(shù)。仍以圖2中設(shè)備1為例,設(shè)備1向堆疊口 1下發(fā)8條ACL,分別為ACL_al,為a類ACL規(guī)則,其匹配條件為所接收報文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備1;ACL—a2,為a類ACL規(guī)則,其匹配條件為所接收報文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備2;ACL—a3,為a類ACL規(guī)則,其匹配條件為所接收才艮文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備3;ACL—a4,為a類ACL規(guī)則,其匹配條件為所接收報文的目的MAC 的最高位為1,且所接收報文的源設(shè)備為設(shè)備4;ACL—bl,為b類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播 標(biāo)識,且所接收報文的源設(shè)備為設(shè)備1;ACL—b2,為b類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收報文的源設(shè)備為設(shè)備2;ACL—b3,為b類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播 標(biāo)識,且所接收報文的源設(shè)備為設(shè)備3;ACL一b4,為b類ACL規(guī)則,其匹配條件為所接收報文攜帶未知單播 標(biāo)識,且所接收報文的源設(shè)備為設(shè)備4。步驟402:每個成員設(shè)備在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接 情況計算自身到堆疊系統(tǒng)中其它各成員設(shè)備的最短路徑。步驟403:成員設(shè)備根據(jù)最短路徑計算結(jié)果生成轉(zhuǎn)發(fā)路徑表,根據(jù)轉(zhuǎn)發(fā) 路徑表設(shè)置硬件轉(zhuǎn)發(fā)表項。步驟404:根據(jù)最短路徑計算結(jié)果,使能第a類ACL規(guī)則中的有效ACL 規(guī)則和第b類ACL規(guī)則中的有效ACL規(guī)則。步驟403和404的執(zhí)行順序不 分先后。為堆疊口 x使能的有效ACL規(guī)則包括a類ACL規(guī)則中,匹配條件為所接收才艮文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為 1、且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的 ACL規(guī)則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接 收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則。假設(shè)圖2中的最短路徑計算結(jié)果為,設(shè)備1到設(shè)備2和設(shè)備3都走堆疊 口 1,到設(shè)備4走堆疊口2。那么設(shè)備l為堆疊口 l使能的有效ACL規(guī)則包 括上述ACL—al、 ACL—a4、 ACL—bl和ACL—b4,其它ACL規(guī)則不使能。設(shè) 備1為堆疊口 2使能的有效ACL規(guī)則包括上述ACL—al、 ACL—a2、 ACL_a3、 ACL—bl、 ACL—b2和ACL—b3。當(dāng)拓樸連接情況變化時,根據(jù)變化后的拓樸連接情況使能有效的ACL 規(guī)則,這樣能夠避免每次拓樸變化都重新下發(fā)ACL規(guī)則。例如,當(dāng)圖2中的設(shè)備2與設(shè)備3之間的鏈路故障時,形成如圖5所示 的鏈型拓樸,則根據(jù)新的拓樸連接情況計算最短路徑的計算結(jié)果為設(shè)備l 到設(shè)備2走堆疊口 1,到設(shè)備4和設(shè)備3走堆疊口 2。在這種情況下,設(shè)備 1為堆疊口 1使能ACL—al、ACL—a3、ACL—a4、ACL—bl、ACL—a3和ACL—b4。步驟405:成員設(shè)備接收來自堆疊系統(tǒng)中其它成員設(shè)備的報文,根據(jù)為 實際接收報文的堆疊口使能的有效ACL規(guī)則,判斷所接收報文是否與其中 任意一個有效ACL規(guī)則相匹配,如果是,則執(zhí)行步驟406;否則,執(zhí)行步 驟407。步驟406:丟棄所接收報文,本流程結(jié)束。步驟407:成員設(shè)備根據(jù)自身硬件轉(zhuǎn)發(fā)表項對所接收報文進行轉(zhuǎn)發(fā)處理, 本流程結(jié)束。至此,本流程結(jié)束。為了實現(xiàn)上述防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法,本發(fā)明實施例還提供了 一 種堆疊系統(tǒng)中的成員設(shè)備。圖6為本發(fā)明實施例中成員設(shè)備的結(jié)構(gòu)示意圖。 如圖6所示,該成員設(shè)備包括環(huán)路;險查單元62和轉(zhuǎn)發(fā)單元63。其中,環(huán)路檢查單元62,用于通過堆疊口接收報文,判斷所接收報文 是否為已知單播報文;如果是,則將所接收報文發(fā)送給轉(zhuǎn)發(fā)單元63;否則, 對所接收報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如 果未檢測到產(chǎn)生環(huán)路,則將所接收報文發(fā)送給轉(zhuǎn)發(fā)單元63。轉(zhuǎn)發(fā)單元63,對環(huán)路檢查單元62發(fā)來的報文進行轉(zhuǎn)發(fā)處理。該轉(zhuǎn)發(fā)單 元63根據(jù)硬件轉(zhuǎn)發(fā)表項實現(xiàn)轉(zhuǎn)發(fā)。該成員設(shè)備還包括報文處理單元64,用于為接收自堆疊系統(tǒng)外部的報 文添加堆疊報文頭,在所述堆疊報文頭中記錄源設(shè)備信息和入接口信息。如 果該報文不需要重定向,則報文處理單元64為該報文查找目的設(shè)備和出接23口,如果所接收報文為單播報文,且未查找到所接收報文的目的設(shè)備和出接 口,則確定所接收的單播報文為未知單播報文,為未知單播報文打上未知單播標(biāo)識,然后將報文發(fā)送給轉(zhuǎn)發(fā)單元63進行轉(zhuǎn)發(fā)處理。報文處理單元64在 查找到報文的目的設(shè)備和出接口時,在報文的堆疊報文頭中記錄目的設(shè)備信 息和出接口信息,然后將報文發(fā)送給轉(zhuǎn)發(fā)單元63進行轉(zhuǎn)發(fā)處理。如果報文 處理單元64所在成員設(shè)備掛接有應(yīng)用子卡,則該報文處理單元64還為經(jīng)過 應(yīng)用子卡處理的報文查找目的設(shè)備和出接口 ,根據(jù)查找結(jié)果執(zhí)行的操作與前 述相同,這里不重復(fù)描述。由于未知單播報文中攜帶未知單播標(biāo)識,因此,環(huán)路檢查單元62在判 斷通過堆疊口接收的報文是否為已知單播報文時,如果判定所接收報文未攜 帶未知單播標(biāo)識,且不是廣播報文,也不是組播報文時,則可以判定所接收 報文為已知單播報文。環(huán)路檢查單元62在進行環(huán)路4企查時,可以根據(jù)所接收報文攜帶的源設(shè) 備信息,判斷所接收報文的源設(shè)備是否為所在成員設(shè)備,如果是,則確定產(chǎn) 生環(huán)路;判斷實際接收該所接收報文的堆疊口是否為所接收報文的源設(shè)備到 所在成員設(shè)備之間的最短路徑對應(yīng)的堆疊口,如果不是,則確定產(chǎn)生環(huán)路。環(huán)路檢查單元62中判斷所接收報文是否為已知單播報文的操作和對所 接收報文進行環(huán)路檢查的操作可以采用匹配ACL規(guī)則的方式實現(xiàn)。采用這 種實現(xiàn)方式時,環(huán)路檢查單元62具體包括如圖7所示的幾個模塊堆疊拓 樸模塊621 、 ACL下發(fā)模塊622、 ACL設(shè)置模塊623和檢查模塊624。其中,堆疊拓樸模塊621,用于在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓 樸連接情況計算所在成員設(shè)備到堆疊系統(tǒng)中其它各成員設(shè)備的最短路徑,將 最短路徑計算結(jié)果發(fā)送給ACL下發(fā)模塊622。ACL下發(fā)模塊622,用于根據(jù)最短路徑計算結(jié)果,確定所在成員設(shè)備的 各堆疊口對應(yīng)的ACL規(guī)則,并下發(fā)給ACL設(shè)置模塊623。堆疊口x對應(yīng)的 4類ACL規(guī)則已經(jīng)在前述對圖3的描述中具體闡述,這里略。ACL設(shè)置模塊623,用于接收ACL下發(fā)模塊622下發(fā)的各堆疊口對應(yīng)的ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口。在實際設(shè)備中,ACL下發(fā)模塊622 為軟件層面的模塊,ACL設(shè)置模塊623為硬件層面的模塊。檢查模塊624,通過堆疊口接收報文,根據(jù)為實際接收報文的堆疊口設(shè) 置的ACL規(guī)則,判斷所接收報文是否與其中任意一個ACL規(guī)則相匹配,如 果是,丟棄所接收報文;否則,將所接收報文發(fā)送給轉(zhuǎn)發(fā)單元63進行轉(zhuǎn)發(fā) 處理。為了進一步優(yōu)化下發(fā)時間,充分利用較為充足的ACL資源,可以在堆 疊系統(tǒng)初始化時,各成員設(shè)備向自身堆疊口 x下發(fā)與堆疊口 x相關(guān)的所有 ACL規(guī)則,根據(jù)當(dāng)前拓樸連接情況,使能有效的ACL規(guī)則。采用這種實現(xiàn) 方式時,環(huán)路檢查單元62仍包括如圖7所示的幾個模塊。堆疊拓樸模塊621 的功能與上文所述相同。在本實施方式下,ACL下發(fā)才莫塊622用于在初始化時,將所在成員設(shè) 備各堆疊口對應(yīng)的所有相關(guān)ACL規(guī)則下發(fā)給ACL設(shè)置模塊623;堆疊口 x 對應(yīng)的所有相關(guān)ACL規(guī)則包括2類ACL規(guī)則a類ACL規(guī)則和b類ACL MJ'J。這兩類ACL MJ'j的具體內(nèi)容已經(jīng)在前述對圖4的描述中具體闡述, 這里略。該ACL下發(fā)模塊622還在接收到堆疊拓樸模塊621發(fā)來的最短路徑計 算結(jié)果時,根據(jù)最短路徑計算結(jié)果,確定第a類ACL規(guī)則中的有效ACL規(guī) 則和第b類ACL規(guī)則中的有效ACL規(guī)則,并通知ACL設(shè)置模塊623。其中 有效ACL規(guī)則的具體內(nèi)容已經(jīng)在前述對圖4的描述中具體闡述,這里略。ACL設(shè)置模塊623用于接收ACL下發(fā)模塊622下發(fā)的各堆疊口對應(yīng)的 所有相關(guān)ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口 ;當(dāng)接收到來自ACL下發(fā)模 塊622的通知時,使能為各堆疊口設(shè)置的有效ACL規(guī)則。檢查模塊624,用于通過堆疊口接收報文,根據(jù)為實際接收該報文的堆 疊口設(shè)置的有效ACL規(guī)則,判斷所接收報文是否與其中任意一個有效ACL 規(guī)則相匹配,如果是,丟棄所接收報文;否則,將所接收報文發(fā)送給所述轉(zhuǎn) 發(fā)單元。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的 保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改 進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      1、一種防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法,其特征在于,該方法包括堆疊系統(tǒng)中的成員設(shè)備通過堆疊口接收報文,判斷所接收報文是否為已知單播報文;如果是,則對所接收報文進行轉(zhuǎn)發(fā)處理;否則,對所接收報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未檢測到產(chǎn)生環(huán)路,則對所接收報文進行轉(zhuǎn)發(fā)處理。
      2、 如權(quán)利要求l所述的方法,其特征在于,該方法進一步包括為報文查 找目的設(shè)備和出接口的成員設(shè)備,在未查找到單播報文的目的設(shè)備和出接口時, 確定該單播報文為未知單播報文,為未知單播"^艮文打上未知單播標(biāo)識;所述判斷所接收報文是否為已知單播報文為如果所接收報文未攜帶未知 單播標(biāo)識,且不是廣播報文,也不是組播報文,則判定所接收報文為已知單播 報文。
      3、 如權(quán)利要求2所述的方法,其特征在于,該方法進一步包括報文q 的入接口所在成員設(shè)備為報文q添加堆疊報文頭,在所述堆疊報文頭中記錄源設(shè)備信息;所述對所接收報文進行環(huán)路檢查包括成員設(shè)備根據(jù)所接收報文攜帶的源設(shè)備信息,判斷所接收報文的源設(shè)備是 否為自身,如果是,則確定產(chǎn)生環(huán)路;判斷實際接收該所接收報文的堆疊口是否為該所接收報文的源設(shè)備到自身 之間的最短路徑對應(yīng)的堆疊口,如果不是,則確定產(chǎn)生環(huán)路。
      4、 如權(quán)利要求3所述的方法,其特征在于,該方法進一步包括成員設(shè)備 在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接情況計算自身到堆疊系統(tǒng)中其它 各成員設(shè)備的最短路徑;根據(jù)最短路徑計算結(jié)果,分別向自身各堆疊口下發(fā)相 應(yīng)acl mj'j;向堆疊口 x下發(fā)的acl規(guī)則包括以下4類acl規(guī)則第一類acl規(guī)則的匹配條件為所接收報文的目的mac地址的最高位為`1,且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備;第二類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;第三類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收 報文的源設(shè)備為堆疊口 x所在設(shè)備;第四類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收 報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;所述判斷所接收報文是否為已知單播報文的操作和所述對所接收報文進行 環(huán)路;險查的操作包括根據(jù)為實際接收報文的堆疊口下發(fā)的ACL規(guī)則,判斷所 接收報文是否與其中任意一個ACL規(guī)則相匹配,如果是,則丟棄所接收報文; 否則,對所接收報文進行轉(zhuǎn)發(fā)處理。
      5、 如權(quán)利要求3所述的方法,其特征在于,該方法進一步包括成員設(shè)備 在初始化時,分別向自身各堆疊口下發(fā)所有相關(guān)ACL規(guī)則;向堆疊口x下發(fā)的 ACL規(guī)則包括以下2類ACL規(guī)則a類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為1, 且所接收報文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備;b類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收報 文的源設(shè)備是預(yù)先為堆疊系統(tǒng)配置的各設(shè)備。
      6、 如權(quán)利要求5所述的方法,其特征在于,該方法進一步包括每個成員 設(shè)備在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接情況計算自身到堆疊系統(tǒng)中 其它各成員設(shè)備的最短路徑;根據(jù)最短路徑計算結(jié)果,使能第a類ACL規(guī)則中 和第b類ACL規(guī)則中的有效ACL規(guī)則;為堆疊口 x使能的有效ACL規(guī)則包括a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為1、 且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為1、 且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接收報 文的源設(shè)備為堆疊口 x所在設(shè)備的ACL規(guī)則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接收報 文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則;所述判斷所接收報文是否為已知單播報文的操作和所述對所接收報文進行 環(huán)路檢查的操作包括根據(jù)為實際接收報文的堆疊口使能的有效ACL規(guī)則,判 斷所接收報文是否與其中任意一個有效ACL規(guī)則相匹配,如果是,則丟棄所接 收報文;否則,對所接收報文進行轉(zhuǎn)發(fā)處理。
      7、 一種堆疊系統(tǒng)中的成員設(shè)備,其特征在于,該成員設(shè)備包括環(huán)路檢查 單元和轉(zhuǎn)發(fā)單元;所述環(huán)路檢查單元,用于通過堆疊口接收報文,判斷所接收報文是否為已 知單播報文;如果是,則將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元;否則,對所接收 報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未檢測到 產(chǎn)生環(huán)路,則將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元;所述轉(zhuǎn)發(fā)單元,用于對所接收的報文進行轉(zhuǎn)發(fā)處理。
      8、 如權(quán)利要求7所述的成員設(shè)備,其特征在于,該成員設(shè)備進一步包括報 文處理單元,用于為報文查找目的設(shè)備和出接口,如果未查找到單播報文的目 的設(shè)備和出接口,則確定該單播報文為未知單播報文,為未知單播報文打上未 知單播標(biāo)識;所述環(huán)路檢查單元在判斷通過堆疊口接收的報文是否為已知單播報文時, 如果所接收報文未攜帶未知單播標(biāo)識,且不是廣播報文,也不是組播報文時, 則判定所接收報文為已知單播報文。
      9、 如權(quán)利要求8所述的成員設(shè)備,其特征在于,所述報文處理單元進一步 用于,為接收自堆疊系統(tǒng)外部的報文添加堆疊報文頭,在所述堆疊報文頭中記 錄源設(shè)4^f言息;所述環(huán)路檢查單元在進行環(huán)路檢查時,根據(jù)所接收報文攜帶的源設(shè)備信息,判斷所接收報文的源設(shè)備是否為所在成員設(shè)備,如果是,則確定產(chǎn)生環(huán)路;判 斷實際接收該所接收報文的堆疊口是否為所接收報文的源設(shè)備到所在成員設(shè)備 之間的最短路徑對應(yīng)的堆疊口,如果不是,則確定產(chǎn)生環(huán)路。
      10、 如權(quán)利要求9所述的成員設(shè)備,其特征在于,所述環(huán)路檢查單元包括 堆疊拓樸模塊、ACL下發(fā)模塊、ACL設(shè)置模塊和檢查模塊;所述堆疊拓樸模塊,用于在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接情 況計算所在成員設(shè)備到堆疊系統(tǒng)中其它各成員設(shè)備之間的最短路徑,將最短路 徑計算結(jié)果發(fā)送給所述ACL下發(fā)模塊;所述ACL下發(fā)模塊,用于根據(jù)最短路徑計算結(jié)果,確定所在成員設(shè)備的各 堆疊口對應(yīng)的ACL規(guī)則,并下發(fā)給所述ACL設(shè)置模塊;堆疊口 x對應(yīng)的ACL規(guī)則包括如下4類ACL規(guī)則第一類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備為堆疊口 x所在設(shè)備;第二類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為 1,且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;第三類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收 報文的源設(shè)備為堆疊口 x所在設(shè)備;第四類ACL規(guī)則的匹配條件為所接收"^艮文攜帶未知單播標(biāo)識,且所接收 報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備;所述ACL設(shè)置模塊,用于接收所述ACL下發(fā)模塊下發(fā)的各堆疊口對應(yīng)的 ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口;所述檢查模塊,用于通過堆疊口接收報文,根據(jù)為實際接收該報文的堆疊 口設(shè)置的ACL規(guī)則,判斷所接收報文是否與其中任意一個ACL規(guī)則相匹配, 如果是,丟棄所接收報文;否則,將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元。
      11、 如權(quán)利要求9所述的成員設(shè)備,其特征在于,所述環(huán)路檢查單元包括 ACL下發(fā)模塊和ACL設(shè)置模塊;所述ACL下發(fā)模塊,用于在初始化時,將所在成員設(shè)備中各堆疊口對應(yīng)的所有相關(guān)ACL規(guī)則下發(fā)給所述ACL設(shè)置模塊;堆疊口 x對應(yīng)的所有相關(guān)ACL 規(guī)則包括以下2類ACL規(guī)則a類ACL規(guī)則的匹配條件為所接收報文的目的MAC地址的最高位為1 , 且所接收報文的源設(shè)備是為堆疊系統(tǒng)配置的各設(shè)備;b類ACL規(guī)則的匹配條件為所接收報文攜帶未知單播標(biāo)識,且所接收報 文的源設(shè)備是為堆疊系統(tǒng)配置的各設(shè)備;所述^CL設(shè)置模塊,用于接收所述ACL下發(fā)模塊下發(fā)的各堆疊口對應(yīng)的 所有相關(guān)ACL規(guī)則,并分別設(shè)置到相應(yīng)堆疊口 。
      12、如權(quán)利要求11所述的成員設(shè)備,其特征在于,所述環(huán)路檢查單元進一 步包括堆疊拓樸模塊和檢查模塊;所述堆疊拓樸模塊,用于在堆疊系統(tǒng)的拓樸確定后,根據(jù)當(dāng)前拓樸連接情 況計算所在成員設(shè)備到堆疊系統(tǒng)中其它各成員設(shè)備之間的最短路徑,將最短路 徑計算結(jié)果發(fā)送給所述ACL下發(fā)模塊;所述ACL下發(fā)模塊進一步用于,在接收到所述最短路徑計算結(jié)果時,根據(jù) 最短路徑計算結(jié)果,確定第a類ACL規(guī)則中和第b類ACL規(guī)則中的有效ACL 規(guī)則,并通知所述ACL設(shè)置模塊;為堆疊口 x確定的有效ACL規(guī)則包括a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為1、 且所接收報文的源設(shè)備為堆疊口 x所在成員設(shè)備的ACL規(guī)則;a類ACL規(guī)則中,匹配條件為所接收報文的目的MAC地址的最高位為1、 且所接收報文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī) 則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接收報 文的源設(shè)備為堆疊口 x所在成員設(shè)備的ACL規(guī)則;b類ACL規(guī)則中,匹配條件為所接收報文攜帶未知單播標(biāo)識、且所接收報 文的源設(shè)備為堆疊口 x通過非最短路徑連接的各成員設(shè)備的ACL規(guī)則;所述ACL設(shè)置模塊進一步用于,當(dāng)接收到來自所述ACL下發(fā)模塊的通知時,使能為各堆疊口設(shè)置的有效ACL規(guī)則;所述檢查模塊,用于通過堆疊口接收報文,根據(jù)為實際接收該報文的堆疊 口設(shè)置的有效ACL規(guī)則,判斷所接收報文是否與其中任意一個有效ACL規(guī)則 相匹配,如果是,丟棄所接收報文;否則,將所接收報文發(fā)送給所述轉(zhuǎn)發(fā)單元。
      全文摘要
      本發(fā)明公開了一種防止堆疊系統(tǒng)產(chǎn)生環(huán)路的方法和一種堆疊系統(tǒng)中的成員設(shè)備,所述方法包括堆疊系統(tǒng)中的成員設(shè)備通過堆疊口接收報文;判斷所接收報文是否為已知單播報文;如果是,則對所接收報文進行轉(zhuǎn)發(fā)處理;否則,對所接收報文進行環(huán)路檢查,如果檢測到產(chǎn)生環(huán)路,則丟棄所接收報文,如果未檢測到產(chǎn)生環(huán)路,則對所接收報文進行轉(zhuǎn)發(fā)處理。使用本發(fā)明能夠避免經(jīng)重定向處理的報文在接受環(huán)路檢查時被錯誤丟棄,且不影響環(huán)路檢查效果。
      文檔編號H04L12/26GK101594304SQ20091008848
      公開日2009年12月2日 申請日期2009年7月2日 優(yōu)先權(quán)日2009年7月2日
      發(fā)明者張世林, 王明輝, 榮 程 申請人:杭州華三通信技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1