Lacp堆疊組網(wǎng)中的鏈路選擇方法和堆疊設(shè)備的制作方法
【專利摘要】本發(fā)明提供了一種LACP堆疊組網(wǎng)中的鏈路選擇方法和設(shè)備:堆疊設(shè)備在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員;當(dāng)LACP鏈路中有鏈路故障時,堆疊設(shè)備對轉(zhuǎn)發(fā)表項進行查找;當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。應(yīng)用本發(fā)明所述的鏈路選擇方法和設(shè)備,在LACP鏈路故障時,能夠有效地減輕堆疊鏈路的工作負(fù)荷。
【專利說明】LACP堆疊組網(wǎng)中的鏈路選擇方法和堆疊設(shè)備
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種鏈路聚合控制協(xié)議(LACP)堆疊組網(wǎng)中的鏈路選擇方法和堆疊設(shè)備。
【背景技術(shù)】
[0002]圖1為現(xiàn)有LACP堆疊組網(wǎng)的結(jié)構(gòu)示意圖,如圖1所示,在該LACP堆疊組網(wǎng)中,當(dāng)LACP鏈路中上行鏈路Cl出現(xiàn)故障時,下游設(shè)備A、B與上游設(shè)備間只能通過上行鏈路C2進行通信。但是,下行鏈路A1、B1依舊會有向上游設(shè)備C的流量,當(dāng)堆疊成員A收到這些流量后,發(fā)現(xiàn)與上游設(shè)備C間沒有直連的鏈路,必須通過堆疊鏈路將流量轉(zhuǎn)發(fā)給堆疊成員B后,再經(jīng)由上行鏈路C2才能轉(zhuǎn)發(fā)給上游設(shè)備C。這樣就增加了堆疊鏈路的工作負(fù)荷,通常來說,堆疊鏈路的總速率必然小于堆疊成員上業(yè)務(wù)鏈路(即LACP鏈路)的總速率,所以會導(dǎo)致丟包等問題的產(chǎn)生。
[0003]目前,通常通過在LACP鏈路上運行Monitor Link功能來解決鏈路故障問題,即當(dāng)上行鏈路故障時,通過Monitor Link將對應(yīng)的下行鏈路關(guān)閉,實現(xiàn)單鏈路上下行(即上行鏈路Cl故障,堆疊設(shè)備將下行鏈路Al,BI關(guān)閉)。
[0004]當(dāng)上行鏈路故障時,自動將對應(yīng)的下行鏈路關(guān)閉雖然可以有效的保護堆疊鏈路,但是對應(yīng)的堆疊成員則被完全空置了下來,并且對于下游設(shè)備間的LAN內(nèi)的數(shù)據(jù)通訊,則也必須通過另外的下行鏈路經(jīng)行通訊,而不能經(jīng)行負(fù)載均擔(dān)。另外,運行Monitor Link功能只能對上行鏈路的故障采取保護措施,而對于下行鏈路的故障,則沒有效果,從上游IP網(wǎng)內(nèi)到局域網(wǎng)的數(shù)據(jù)依舊會通過原有的上行鏈路傳遞到堆疊設(shè)備上,再通過堆疊鏈路轉(zhuǎn)發(fā)到另一個堆疊成員轉(zhuǎn)發(fā),也就不能達到減輕堆疊鏈路的工作負(fù)荷的目的。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種LACP堆疊組網(wǎng)中的鏈路選擇方法,在LACP鏈路故障時,能夠有效地減輕堆疊鏈路的工作負(fù)荷。
[0006]本發(fā)明還提供了一種堆疊設(shè)備,在LACP鏈路故障時,能夠有效地減輕堆疊鏈路的工作負(fù)荷。
[0007]為了達到上述目的,本發(fā)明提出的技術(shù)方案為:
[0008]一種鏈路聚合控制協(xié)議LACP堆疊組網(wǎng)中的鏈路選擇方法,應(yīng)用于包括堆疊設(shè)備和上、下游設(shè)備的LACP堆疊組網(wǎng)中,所述堆疊設(shè)備包括通過堆疊鏈路相連的堆疊成員,所述堆疊成員通過LACP鏈路與上、下游設(shè)備相連,該方法包括:
[0009]堆疊設(shè)備在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員;
[0010]當(dāng)LACP鏈路中有鏈路故障時,堆疊設(shè)備對轉(zhuǎn)發(fā)表項進行查找;
[0011]當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
[0012]所述堆疊設(shè)備通過LACP報文中的TLV字段將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息發(fā)送給其它上、下游設(shè)備,所述故障鏈路轉(zhuǎn)發(fā)流量的流量信息包括故障鏈路的出接口對應(yīng)的所有MAC地址及VLAN和IP地址。
[0013]當(dāng)鏈路故障為LACP鏈路down時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:所述堆疊設(shè)備將所有通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)每一個流量信息將每一個相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
[0014]當(dāng)鏈路故障為堆疊鏈路擁塞時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:所述堆疊設(shè)備將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口;
[0015]進一步地,堆疊設(shè)備判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞,如果是,再次發(fā)送多于上次發(fā)送的部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息給與該堆疊成員直連的其它上、下游設(shè)備,直至判斷為在所述預(yù)設(shè)周期內(nèi)鏈路不擁塞。
[0016]當(dāng)鏈路故障為LACP鏈路擁塞時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:A、所述堆疊設(shè)備將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口;
[0017]進一步地,堆疊設(shè)備判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞,如果是,返回執(zhí)A ;否貝U,判斷在三個預(yù)設(shè)周期內(nèi)鏈路是否擁塞,如果是,判斷為LACP鏈路震蕩擁塞,通過直連鏈路向與其直連的其它上、下游設(shè)備發(fā)送流量信息將部分從故障鏈路遷移到其它鏈路的流量遷回至所述故障鏈路,直至單次遷回的流量小于預(yù)設(shè)值,否則,結(jié)束遷移。
[0018]一種鏈路聚合控制協(xié)議LACP堆疊組網(wǎng)中的鏈路選擇設(shè)備,應(yīng)用于包括堆疊設(shè)備和上、下游設(shè)備的LACP堆疊組網(wǎng)中,所述堆疊設(shè)備包括通過堆疊鏈路相連的堆疊成員,所述堆疊成員通過LACP鏈路與上、下游設(shè)備相連,該設(shè)備為LACP堆疊組網(wǎng)中的堆疊設(shè)備,該設(shè)備包括標(biāo)記單元、查找單元和發(fā)送單元,其中,
[0019]所述標(biāo)記單元,用于在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員;
[0020]所述查找單元,用于當(dāng)LACP鏈路中有鏈路故障時,對轉(zhuǎn)發(fā)表項進行查找;
[0021]所述發(fā)送單元,用于當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
[0022]所述發(fā)送單元,用于通過LACP報文中的TLV字段將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息發(fā)送給其它上、下游設(shè)備,所述故障鏈路轉(zhuǎn)發(fā)流量的流量信息包括故障鏈路的出接口對應(yīng)的所有MAC地址及VLAN和IP地址。
[0023]當(dāng)鏈路故障為LACP鏈路down時,所述發(fā)送單元,用于將所有通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)每一個流量信息將每一個相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
[0024]當(dāng)鏈路故障為堆疊鏈路擁塞時,所述發(fā)送單元,用于將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口 ;
[0025]則,該設(shè)備還包括第一判斷單元,用于判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞;
[0026]所述發(fā)送單元,還用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路擁塞時,再次發(fā)送多于上次發(fā)送的部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息給與該堆疊成員直連的其它上、下游設(shè)備。
[0027]當(dāng)鏈路故障為LACP鏈路擁塞時,所述發(fā)送單元,用于將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口,其中,剩余部分流量信息通過故障鏈路進行轉(zhuǎn)發(fā);
[0028]則,該設(shè)備還包括第一判斷單元和第二判斷單元,其中,
[0029]所述第一判斷單元,用于判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞;
[0030]則所述發(fā)送單元,還用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路擁塞時,將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備;
[0031]所述第二判斷單元,用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路不擁塞時,判斷在三個預(yù)設(shè)周期內(nèi)鏈路是否擁塞;
[0032]則所述發(fā)送單元,還用于當(dāng)?shù)诙袛鄦卧袛酁樵谌齻€預(yù)設(shè)周期內(nèi)鏈路擁塞時,判斷為LACP鏈路震蕩擁塞,將部分從故障鏈路遷移到其它鏈路的流量信息遷回至所述故障鏈路,直至單次遷回的流量小于預(yù)設(shè)值。
[0033]綜上所述,本發(fā)明所采用的LACP堆疊組網(wǎng)中的鏈路選擇方法,是通過由堆疊設(shè)備對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,當(dāng)LACP鏈路中有鏈路故障時,堆疊設(shè)備對轉(zhuǎn)發(fā)表項進行查找,當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。由于本發(fā)明方法在鏈路故障時,將由故障鏈路轉(zhuǎn)發(fā)的流量的成員端口進行了遷移,也就使得流量能夠通過遷移后的成員端口直接發(fā)送給沒有與故障鏈路直連的堆疊設(shè)備中的堆疊成員,由該堆疊成員直接將流量轉(zhuǎn)發(fā)出去,而無需通過堆疊鏈路進行轉(zhuǎn)發(fā)。因此,當(dāng)LACP鏈路故障時,本發(fā)明方法能夠有效地減輕堆疊鏈路的工作負(fù)荷。
【專利附圖】
【附圖說明】
[0034]圖1為現(xiàn)有LACP堆疊組網(wǎng)的結(jié)構(gòu)示意圖;
[0035]圖2為本發(fā)明實施例LACP堆疊組網(wǎng)鏈路選擇方法的工作流程圖;
[0036]圖3為本發(fā)明實施一 LACP堆疊組網(wǎng)鏈路選擇設(shè)備的結(jié)構(gòu)示意圖;
[0037]圖4為本發(fā)明實施二 LACP堆疊組網(wǎng)鏈路選擇設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0038]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述。
[0039]圖2為本發(fā)明LACP堆疊組網(wǎng)鏈路選擇方法的工作流程圖,該方法應(yīng)用于如圖1所示的包括堆疊設(shè)備和上、下游設(shè)備的LACP堆疊組網(wǎng)中,所述堆疊設(shè)備包括通過堆疊鏈路相連的堆疊成員,所述堆疊成員通過LACP鏈路與上、下游設(shè)備相連。如圖2所示,該流程包括:
[0040]步驟201:堆疊設(shè)備在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員。
[0041]需要說明的是,在本步驟中,當(dāng)單播流量在堆疊設(shè)備中的堆疊成員之間轉(zhuǎn)發(fā)時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記的是該流量出堆疊接口所在的堆疊成員。
[0042]還需說明的是,在本步驟中,是通過對堆疊成員所用到的轉(zhuǎn)發(fā)表項打上tag (這里的tag可以為堆疊成員的編號)來完成標(biāo)記的,如果有多個堆疊成員都使用這個轉(zhuǎn)發(fā)表項進行轉(zhuǎn)發(fā)單播流量,則這個轉(zhuǎn)發(fā)表項會被打上多個堆疊成員的tag。進一步地,還可對轉(zhuǎn)發(fā)表項中每個tag設(shè)置老化時間,默認(rèn)的老化時間為10個LACP報文周期。
[0043]步驟202:當(dāng)LACP鏈路中有鏈路故障時,堆疊設(shè)備對轉(zhuǎn)發(fā)表項進行查找。
[0044]在本步驟中,鏈路故障有三種情況:一是LACP鏈路(即業(yè)務(wù)鏈路)down ;二是堆疊鏈路擁塞;三是LACP鏈路擁塞。
[0045]步驟203:當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備。
[0046]需要說明的是,在本步驟中,堆疊設(shè)備是通過LACP報文中額外添加的TLV字段將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息發(fā)送給其它上、下游設(shè)備,所述故障鏈路轉(zhuǎn)發(fā)流量的流量信息包括故障鏈路的出接口對應(yīng)的所有MAC地址及VLAN和IP地址。在實際中,還可通過其他方式來發(fā)送流量信息,以不影響本發(fā)明實施例的實現(xiàn)為準(zhǔn)。
[0047]當(dāng)步驟202中鏈路故障為LACP鏈路down時,堆疊設(shè)備是將所有通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備;當(dāng)步驟202中鏈路故障為LACP鏈路擁塞或堆疊鏈路擁塞時,堆疊設(shè)備是將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,這里的部分可以為A=50%。
[0048]進一步地,在本步驟中,所述部分由堆疊鏈路擁塞到堆疊鏈路不擁塞的收斂時間確定,當(dāng)收斂時間越長時,所述部分應(yīng)大(即前面的A越大);否則,所述部分應(yīng)小(即前面的A越小),具體可根據(jù)實際應(yīng)用確定,以不影響本發(fā)明實施例的實現(xiàn)為準(zhǔn)。
[0049]還需說明的是,當(dāng)流量信息被發(fā)送給與堆疊成員直連的其他上下游設(shè)備后,該流量信息對應(yīng)的轉(zhuǎn)發(fā)表項的標(biāo)記將被清除;當(dāng)發(fā)送的流量信息過多時,可采用依次發(fā)送的方式進行,以避免發(fā)送流量過多而導(dǎo)致的接收流量信息的上下游設(shè)備處理表項緩慢的問題。
[0050]步驟204:上、下游設(shè)備根據(jù)接收到的流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
[0051 ] 在執(zhí)行本步驟之前,上下游設(shè)備還需要對堆疊設(shè)備發(fā)送的LACP報文中的TLV字段進行解析,得到堆疊設(shè)備發(fā)送的流量信息。
[0052]由此,當(dāng)堆疊設(shè)備從上、下游設(shè)備接收到流量信息時,就可以根據(jù)流量信息中的MAC和IP,將流量從遷移后的出接口進行轉(zhuǎn)發(fā)。
[0053]進一步地,在本實施例中,當(dāng)鏈路故障為堆疊鏈路擁塞或LACP鏈路擁塞時,流量遷移可能導(dǎo)致LACP鏈路或堆疊鏈路循環(huán)往復(fù)地出現(xiàn)擁塞,進而導(dǎo)致流量反復(fù)遷移,因此,在堆疊成員向上下游設(shè)備發(fā)送表項以實現(xiàn)表項遷移時可設(shè)置一個定時器。本實施例可采用如下處理方式:
[0054]對于LACP鏈路擁塞來說,堆疊設(shè)備判斷在一個預(yù)設(shè)周期鏈路是否擁塞,如果是,則重復(fù)發(fā)送該流量信息,并重新設(shè)備定時器,直至判斷為在一個預(yù)設(shè)周期鏈路不擁塞。具體為:當(dāng)堆疊成員發(fā)送一部分流量信息后,定時器開始工作,在一個預(yù)設(shè)周期到達時,如果LACP鏈路還處于擁塞狀態(tài),則重復(fù)發(fā)送該流量信息,并重新設(shè)備定時器,直至LACP鏈路在一個預(yù)設(shè)周期內(nèi)不再擁塞;如果在I個預(yù)設(shè)周期到達時鏈路不擁塞,進一步判斷I到3個預(yù)設(shè)周期是否擁塞,如果在I到3個預(yù)設(shè)周期之間發(fā)生擁塞,可能是因為流量的遷移而導(dǎo)致的往復(fù)擁塞,此時,將部分遷移的流量遷回到故障鏈路,故需要對上此遷移的流量數(shù)量添加一個震蕩抑制系數(shù)B (小于I)從而部分遷回之前遷移的流量到故障鏈路,來收斂往復(fù)震蕩的流量大小,直至當(dāng)次遷回流量的數(shù)量小于設(shè)定值時,結(jié)束流程。
[0055]對于堆疊鏈路擁塞來說,堆疊設(shè)備判斷在一個預(yù)設(shè)周期鏈路是否擁塞,如果是,為了保護堆疊鏈路,進一步加大流量的遷移量,以期使堆疊鏈路盡快消除擁塞。具體為:相對第一次遷移的流量,添加快速收斂系數(shù)C,若是在I個預(yù)設(shè)周期內(nèi)堆疊鏈路依舊處于擁塞狀態(tài),則下次發(fā)送流量信息時,發(fā)送的流量信息數(shù)量遞增一部分(如1.2倍,SP(CnXA%)=1.2X50%=60%),并且重新設(shè)置定時器。同樣的。如果發(fā)送后的一個周期內(nèi)依舊擁塞,則繼續(xù)遞增一部分(1.22X50%=0.72)。
[0056]至此,即完成了本發(fā)明實施例所采用的LACP堆疊組網(wǎng)鏈路選擇方法的整個工作流程。
[0057]下面以具體實例來說明本發(fā)明LACP堆疊組網(wǎng)鏈路選擇方法的具體過程,以圖1上行鏈路Cl故障為例來說明(本實施例是以IP表項為例來說明的),其中,表1、表2、表3和表4分別為下游設(shè)備A、下游設(shè)備B、上游設(shè)備C和堆疊設(shè)備的IP表項,其中,Bri*為聚合□。
[0058]表I
[0059]
【權(quán)利要求】
1.一種鏈路聚合控制協(xié)議LACP堆疊組網(wǎng)中的鏈路選擇方法,應(yīng)用于包括堆疊設(shè)備和上、下游設(shè)備的LACP堆疊組網(wǎng)中,所述堆疊設(shè)備包括通過堆疊鏈路相連的堆疊成員,所述堆疊成員通過LACP鏈路與上、下游設(shè)備相連,其特征在于,該方法包括: 堆疊設(shè)備在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員; 當(dāng)LACP鏈路中有鏈路故障時,堆疊設(shè)備對轉(zhuǎn)發(fā)表項進行查找; 當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述堆疊設(shè)備通過LACP報文中的TLV字段將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息發(fā)送給其它上、下游設(shè)備,所述故障鏈路轉(zhuǎn)發(fā)流量的流量信息包括故障鏈路的出接口對應(yīng)的所有MAC地址及VLAN和IP地址。
3.根據(jù)權(quán)利要求1至2中任一項所述的方法,其特征在于,當(dāng)鏈路故障為LACP鏈路down時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:所述堆疊設(shè)備將所有通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)每一個流量信息將每一個相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
4.根據(jù)權(quán)利要求1至2中任一項所述的方法,其特征在于,當(dāng)鏈路故障為堆疊鏈路擁塞時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:所述堆疊設(shè)備將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口 ; 進一步地,堆疊設(shè)備判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞,如果是,再次發(fā)送多于上次發(fā)送的部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息給與該堆疊成員直連的其它上、下游設(shè)備,直至判斷為在所述預(yù)設(shè)周期內(nèi)鏈路不擁塞。
5.根據(jù)權(quán)利要求1至2中任一項所述的方法,其特征在于,當(dāng)鏈路故障為LACP鏈路擁塞時,所述堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口具體包括:A、所述堆疊設(shè)備將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口 ; 進一步地,堆疊設(shè)備判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞,如果是,返回執(zhí)A ;否則,判斷在三個預(yù)設(shè)周期內(nèi)鏈路是否擁塞如果是,判斷為LACP鏈路震蕩擁塞,通過直連鏈路向與其直連的其它上、下游設(shè)備發(fā)送流量信息將部分從故障鏈路遷移到其它鏈路的流量遷回至所述故障鏈路,所述流量遷回逐漸減少直至單次遷回的流量小于預(yù)設(shè)值,否則,結(jié)束遷移。
6.一種堆疊設(shè)備,應(yīng)用于包括所述堆疊設(shè)備和上、下游設(shè)備的鏈路聚合控制協(xié)議LACP堆疊組網(wǎng)中,所述堆疊設(shè)備包括通過堆疊鏈路相連的堆疊成員,所述堆疊成員通過LACP鏈路與上、下游設(shè)備相連,其特征在于,該設(shè)備為LACP堆疊組網(wǎng)中的堆疊設(shè)備,該設(shè)備包括標(biāo)記單元、查找單元和發(fā)送單元,其中, 所述標(biāo)記單元,用于在轉(zhuǎn)發(fā)LACP鏈路之間的單播流量時,對堆疊成員所用到的轉(zhuǎn)發(fā)表項進行標(biāo)記,以標(biāo)記出該流量出接口所在的堆疊成員; 所述查找單元,用于當(dāng)LACP鏈路中有鏈路故障時,對轉(zhuǎn)發(fā)表項進行查找; 所述發(fā)送單元,用于當(dāng)故障鏈路所在的堆疊成員只有一個該故障鏈路所在LACP鏈路的聚合口成員端口時,堆疊設(shè)備將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
7.根據(jù)權(quán)利要求6所述的堆疊設(shè)備,其特征在于,所述發(fā)送單元,用于通過LACP報文中的TLV字段將通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息發(fā)送給其它上、下游設(shè)備,所述故障鏈路轉(zhuǎn)發(fā)流量的流量信息包括故障鏈路的出接口對應(yīng)的所有MAC地址及VLAN和IP地址。
8.根據(jù)權(quán)利要求6至7任一項所述的堆疊設(shè)備,其特征在于, 當(dāng)鏈路故障為LACP鏈路down時,所述發(fā)送單元,用于將所有通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)每一個流量信息將每一個相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口。
9.根據(jù)權(quán)利要求6至7任一項所述的堆疊設(shè)備,其特征在于,當(dāng)鏈路故障為堆疊鏈路擁塞時,所述發(fā)送單元,用于將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口 ; 貝U,該設(shè)備還包括第一判斷單元,用于判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞; 所述發(fā)送單元,還用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路擁塞時,再次發(fā)送多于上次發(fā)送的部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息給與該堆疊成員直連的其它上、下游設(shè)備。
10.根據(jù)權(quán)利要求6至7任一項所述的堆疊設(shè)備,其特征在于,當(dāng)鏈路故障為LACP鏈路擁塞時,所述發(fā)送單元,用于將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備,以使其它上、下游設(shè)備根據(jù)流量信息將相應(yīng)流量從對應(yīng)LACP聚合口成員端口遷移到其它的成員端口; 則,該設(shè)備還包括第一判斷單元和第二判斷單元,其中, 所述第一判斷單元,用于判斷在一個預(yù)設(shè)周期內(nèi)鏈路是否擁塞; 則所述發(fā)送單元,還用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路擁塞時,將部分通過故障鏈路轉(zhuǎn)發(fā)流量的流量信息通過直連鏈路發(fā)送給與該堆疊成員直連的其它上、下游設(shè)備; 所述第二判斷單元,用于當(dāng)?shù)谝慌袛鄦卧袛酁樵谝粋€預(yù)設(shè)周期內(nèi)鏈路不擁塞時,判斷在三個預(yù)設(shè)周期內(nèi)鏈路是否擁塞;所述發(fā)送單元,還用于當(dāng)?shù)诙袛鄦卧袛酁樵谌齻€預(yù)設(shè)周期內(nèi)鏈路擁塞時,判斷為LACP鏈路震蕩擁塞,通過直連鏈路向與其直連的其它上、下游設(shè)備發(fā)送流量信息將部分從故障鏈路遷移到其它鏈路的流量遷回至所述故障鏈路,所述流量遷回逐漸減少直至單次遷回的流量小于預(yù)設(shè)值。
【文檔編號】H04L12/741GK103916319SQ201310005089
【公開日】2014年7月9日 申請日期:2013年1月6日 優(yōu)先權(quán)日:2013年1月6日
【發(fā)明者】戴一凡 申請人:杭州華三通信技術(shù)有限公司