專利名稱:一種聚合鏈路流量分擔(dān)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種聚合鏈路流量分擔(dān)方法和裝置。
背景技術(shù):
隨著hternet業(yè)務(wù)的迅速發(fā)展,高帶寬和高可靠性成為越來越熱門的話題。其中,在帶寬方面,單端口的帶寬已經(jīng)從最初的IOMbps發(fā)展到目前主流的10(ibpS,而實(shí)際網(wǎng)絡(luò)中的上行口,帶寬要求是100G甚至更多。另外,在可靠性方面,則主要通過多條鏈路來提高可靠性,其中一條轉(zhuǎn)發(fā)失敗的情況下,還可以使用冗余鏈路能夠繼續(xù)轉(zhuǎn)發(fā)業(yè)務(wù)?,F(xiàn)有技術(shù)中,冗余鏈路技術(shù)既可以提高鏈路的帶寬,又可以提高鏈路的可靠性,主要包括鏈路聚合和等價(jià)路由,下面分別進(jìn)行說明。鏈路聚合一般應(yīng)用于二、三層網(wǎng)絡(luò)中,通過將多條以太網(wǎng)物理鏈路捆綁在一起成為一條邏輯鏈路,提供的帶寬是單鏈路的η倍,如果其中一條鏈路故障(Down),業(yè)務(wù)流量將自動(dòng)切換到其他鏈路上。參見圖1,圖1是現(xiàn)有技術(shù)鏈路聚合示意圖。其中,路由器和核心交換機(jī)通過聚合鏈路相連,核心交換機(jī)與多臺(tái)接入交換機(jī)分別通過聚合鏈路相連,從而提高路由器和核心交換機(jī)之間、核心交換機(jī)和各接入交換機(jī)之間鏈路的帶寬和可靠性。等價(jià)路由一般應(yīng)用于三層網(wǎng)絡(luò)中,將路由表中能夠到達(dá)同一目的地址,且優(yōu)先級、 跳數(shù)、開銷均相等的多條路由,看作等價(jià)路由,輪流使用這些路由進(jìn)行業(yè)務(wù)傳輸,從而實(shí)現(xiàn)負(fù)載分擔(dān),提高網(wǎng)絡(luò)利用率,并且能夠增加兩個(gè)端點(diǎn)之間鏈路的帶寬和可靠性。目前,主流的鏈路聚合技術(shù)和等價(jià)路由技術(shù)都是通過計(jì)算報(bào)文的哈希(Hash)值來進(jìn)行業(yè)務(wù)流量分擔(dān)的,即對不同的報(bào)文流進(jìn)行Hash運(yùn)算,可以得到不同的Hash值,再根據(jù)Hash值確定對應(yīng)的傳輸鏈路。然而,參與hash運(yùn)算的各Hash元素是否均勻散列開、配置的冗余鏈路條數(shù)等因素均會(huì)影響hash運(yùn)算的結(jié)果,因此,在實(shí)際使用過程中,業(yè)務(wù)流量在冗余鏈路上分擔(dān)并不均衡,冗余鏈路使用率不夠高,還存在一定的帶寬浪費(fèi)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種聚合鏈路流量分擔(dān)方法,該方法能夠進(jìn)一步提高冗余鏈路的利用率,減少帶寬浪費(fèi)。為了達(dá)到上述目的,本發(fā)明提供了一種聚合鏈路流量分擔(dān)方法,該方法包括計(jì)算收到的報(bào)文對應(yīng)的第一 hash值;根據(jù)計(jì)算的第一 hash值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口 ;若確定匹配于第一 hash值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二 hash值;根據(jù)計(jì)算的第二 hash值,在報(bào)文的目的地址對應(yīng)的聚合組中匹配成員端口,將報(bào)文從匹配于第二 hash值的成員端口發(fā)送出去。本發(fā)明還提供了一種轉(zhuǎn)發(fā)芯片,應(yīng)用于使用聚合鏈路的設(shè)備中,該轉(zhuǎn)發(fā)芯片包括存儲(chǔ)單元,至少記錄各聚合組的成員端口信息;所述轉(zhuǎn)發(fā)芯片進(jìn)一步包括
控制單元,用于計(jì)算收到的報(bào)文對應(yīng)的第一 hash值,根據(jù)計(jì)算的第一 hash值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口,確定匹配于第一 hash值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二 hash值,根據(jù)計(jì)算的第二 hash值,在報(bào)文的目的地址關(guān)聯(lián)的聚合組中匹配成員端口,將報(bào)文從匹配于第二 hash值的成員端口發(fā)送出去。由上面的技術(shù)方案可知,本發(fā)明通過對發(fā)生擁塞的物理端口對應(yīng)的成員端口設(shè)置擁塞因子,在接收到報(bào)文時(shí),根據(jù)按現(xiàn)有技術(shù)的方法確定的第一目的成員端口的擁塞因子, 確定報(bào)文對應(yīng)的第二目的成員端口,并將報(bào)文從第二目的成員端口發(fā)送出去,而不是按照現(xiàn)有技術(shù)的方式,直接將報(bào)文從第一目的成員端口發(fā)送出去,因此,可以減輕已經(jīng)發(fā)生擁塞的成員端口的負(fù)擔(dān),進(jìn)而也進(jìn)一步提高了冗余鏈路的利用率,減少了帶寬浪費(fèi)。
圖1是現(xiàn)有技術(shù)鏈路聚合示意圖;圖2是本發(fā)明實(shí)施例聚合鏈路流量分擔(dān)方法流程圖;圖3是本發(fā)明實(shí)施例擁塞消息格式示意圖;圖4是本發(fā)明實(shí)施例轉(zhuǎn)發(fā)芯片結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖并舉實(shí)施例, 對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。本發(fā)明的主要思想是計(jì)算收到的報(bào)文對應(yīng)的第一hash值;根據(jù)計(jì)算的第一hash 值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口 ;若確定匹配于第一 hash值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二 hash值;根據(jù)計(jì)算的第二 hash值,在報(bào)文的目的地址對應(yīng)的聚合組中匹配成員端口,將報(bào)文從匹配于第二 hash值的成員端口發(fā)送出去。參見圖2,圖2是本發(fā)明實(shí)施例聚合鏈路流量分擔(dān)方法流程圖,包括以下步驟步驟201、預(yù)先在轉(zhuǎn)發(fā)芯片上存儲(chǔ)各聚合組的成員端口信息。鏈路聚合,實(shí)際上是將多個(gè)物理端口捆綁成一個(gè)端口聚合組,在該端口聚合組的各個(gè)物理端口上實(shí)現(xiàn)業(yè)務(wù)流量分擔(dān)。這里,端口聚合組,也稱為聚合組,對應(yīng)于一條聚合鏈路,該聚合組中的每一個(gè)物理端口稱為該聚合組的一個(gè)成員端口。在實(shí)際應(yīng)用中,一個(gè)轉(zhuǎn)發(fā)芯片多個(gè)物理端口,不同的物理端口可以屬于同一個(gè)聚合組的成員端口,也可以屬于不同聚合組的成員端口,不同轉(zhuǎn)發(fā)芯片上的物理端口也可以屬于同一個(gè)聚合組的成員端口。由于同一個(gè)設(shè)備中每個(gè)轉(zhuǎn)發(fā)芯片的編號都是唯一的,轉(zhuǎn)發(fā)芯片編號和物理端口可以唯一表示一個(gè)成員端口。本實(shí)施例中,所述的成員端口信息包括該成員端口所在的轉(zhuǎn)發(fā)芯片編號和該成員端口所對應(yīng)的物理端口。本實(shí)施例中,需要預(yù)先在轉(zhuǎn)發(fā)芯片中存儲(chǔ)各聚合組的成員端口信息,也即存儲(chǔ)各聚合組與該聚合組中的成員端口信息的對應(yīng)關(guān)系??梢圆捎枚喾N方式存儲(chǔ),例如,可以將各聚合組的相關(guān)信息,包括各聚合組中成員端口個(gè)數(shù),統(tǒng)一存儲(chǔ)在同一個(gè)聚合轉(zhuǎn)發(fā)表中,聚合轉(zhuǎn)發(fā)表可以采用如表一所示的存儲(chǔ)格式;也可以只存儲(chǔ)各聚合組與該聚合組中的成員端口信息的對應(yīng)關(guān)系。表一舉例示出了轉(zhuǎn)發(fā)芯片中各聚合組的成員端口信息的記錄方式。表一
權(quán)利要求
1.一種聚合鏈路流量分擔(dān)方法,應(yīng)用于鏈接聚合鏈路的設(shè)備的各轉(zhuǎn)發(fā)芯片,其特征在于,該方法包括計(jì)算收到的報(bào)文對應(yīng)的第一 hash值;根據(jù)計(jì)算的第一 hash值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口 ; 若確定匹配于第一 hash值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二 hash值; 根據(jù)計(jì)算的第二 hash值,在報(bào)文的目的地址對應(yīng)的聚合組中匹配成員端口,將報(bào)文從匹配于第二 hash值的成員端口發(fā)送出去。
2.如權(quán)利要求1所述的聚合鏈路流量分擔(dān)方法,其特征在于, 檢測物理端口狀態(tài);若檢測到擁塞的物理端口,則將擁塞的物理端口關(guān)聯(lián)的成員端口信息通知至設(shè)備中各轉(zhuǎn)發(fā)芯片。
3.如權(quán)利要求2所述的聚合鏈路流量分擔(dān)方法,其特征在于, 接收擁塞的物理端口關(guān)聯(lián)的成員端口信息;根據(jù)接收的所述擁塞的物理端口關(guān)聯(lián)的成員端口信息,在記錄的各聚合組的成員端口中查找到對應(yīng)的成員端口,則生成隨機(jī)數(shù)并將查找到的成員端口的擁塞因子的初始值設(shè)置為該隨機(jī)數(shù)。
4.如權(quán)利要求2或3所述的聚合鏈路流量分擔(dān)方法,其特征在于,該方法進(jìn)一步包括 若檢測到擁塞恢復(fù)的物理端口,則將所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息通知至設(shè)備中各轉(zhuǎn)發(fā)芯片。
5.如權(quán)利要求4所述的聚合鏈路流量分擔(dān)方法,其特征在于, 接收所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息;根據(jù)接收的所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息,在記錄的各聚合組的成員端口中查找到對應(yīng)的成員端口,則將查找到的成員端口的擁塞因子的隨機(jī)數(shù)重置為初始值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,匹配于第一hash值的成員端口的擁塞因子為隨機(jī)數(shù),則確定匹配于第一 hash值的成員端口擁塞;根據(jù)所述第一 hash值,所述隨機(jī)數(shù)以及所述對應(yīng)于報(bào)文目的地址的聚合組的成員端口數(shù)目計(jì)算所述第二 hash值。
7.一種轉(zhuǎn)發(fā)芯片,應(yīng)用于鏈接了聚合鏈路的設(shè)備中,該轉(zhuǎn)發(fā)芯片包括存儲(chǔ)單元,至少記錄各聚合組的成員端口信息,其特征在于,所述轉(zhuǎn)發(fā)芯片進(jìn)一步包括控制單元,用于計(jì)算收到的報(bào)文對應(yīng)的第一 hash值,根據(jù)計(jì)算的第一 hash值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口,確定匹配于第一 hash值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二 hash值,根據(jù)計(jì)算的第二 hash值,在報(bào)文的目的地址關(guān)聯(lián)的聚合組中匹配成員端口,將報(bào)文從匹配于第二 hash值的成員端口發(fā)送出去。
8.根據(jù)權(quán)利要求7所述的轉(zhuǎn)發(fā)芯片,其特征在于,所述轉(zhuǎn)發(fā)芯片包括擁塞檢測單元,用于檢測所述轉(zhuǎn)發(fā)芯片的各物理端口狀態(tài),若檢測到擁塞的物理端口, 則將擁塞的物理端口關(guān)聯(lián)的成員端口信息通知至設(shè)備中各轉(zhuǎn)發(fā)芯片。
9.根據(jù)權(quán)利要求8所述的轉(zhuǎn)發(fā)芯片,其特征在于,所述轉(zhuǎn)發(fā)芯片包括擁塞設(shè)置單元,用于接收擁塞的物理端口關(guān)聯(lián)的成員端口信息,根據(jù)接收的所述擁塞的物理端口關(guān)聯(lián)的成員端口信息,在記錄的各聚合組的成員端口信息中查找到對應(yīng)的成員端口,則生成隨機(jī)數(shù)并將查找到的成員端口的擁塞因子的初始值設(shè)置為該隨機(jī)數(shù)。
10.根據(jù)權(quán)利要求8或9所述的轉(zhuǎn)發(fā)芯片,其特征在于,所述擁塞檢測單元,進(jìn)一步用于若檢測到擁塞恢復(fù)的物理端口,則將所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息通知至設(shè)備中各轉(zhuǎn)發(fā)芯片。
11.根據(jù)權(quán)利要求10所述的轉(zhuǎn)發(fā)芯片,其特征在于,所述擁塞設(shè)置單元,用于接收所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息,根據(jù)接收的所述擁塞恢復(fù)的物理端口關(guān)聯(lián)的成員端口信息,在記錄的各聚合組的成員端口信息中查找到對應(yīng)的成員端口,將查找到的成員端口的擁塞因子的隨機(jī)數(shù)重置為初始值。
12.根據(jù)權(quán)利要求11所述的轉(zhuǎn)發(fā)芯片,其特征在于,所述控制單元確定匹配于第一 hash值的成員端口的擁塞因子為隨機(jī)數(shù),則確定匹配于第一 hash值的成員端口擁塞;所述控制單元根據(jù)所述第一 hash值,所述隨機(jī)數(shù)以及所述對應(yīng)于報(bào)文目的地址的聚合組的成員端口數(shù)目計(jì)算所述第二 hash值。
全文摘要
本發(fā)明提供了一種聚合鏈路流量分擔(dān)方法和裝置,該方法包括計(jì)算收到的報(bào)文對應(yīng)的第一散列值;根據(jù)計(jì)算的第一散列值,在報(bào)文目的地址對應(yīng)的聚合組中匹配成員端口;若確定匹配于第一散列值的成員端口擁塞,則計(jì)算報(bào)文對應(yīng)的第二散列值;根據(jù)計(jì)算的第二散列值,在報(bào)文的目的地址對應(yīng)的聚合組中匹配成員端口,將報(bào)文從匹配于第二散列值的成員端口發(fā)送出去。本發(fā)明能夠提高冗余鏈路的利用率,減少帶寬浪費(fèi)。
文檔編號H04L12/56GK102263697SQ20111022183
公開日2011年11月30日 申請日期2011年8月3日 優(yōu)先權(quán)日2011年8月3日
發(fā)明者楊燕軍 申請人:杭州華三通信技術(shù)有限公司