專利名稱:網(wǎng)絡設備實現(xiàn)鏈路聚合的方法
技術領域:
本發(fā)明涉及具有網(wǎng)絡層和/或鏈路層轉發(fā)功能的網(wǎng)絡設備,尤其涉及上述網(wǎng)絡設備中鏈路聚合的實現(xiàn)方法。
背景技術:
隨著互聯(lián)網(wǎng)技術的發(fā)展和網(wǎng)絡應用的普及,在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)越來越多,對傳輸時間和可靠性的要求也越來越高。減小傳輸時間的一個方法是增加傳輸鏈路的帶寬,近年來帶寬已由10M(兆)增加到100M、1000M、10G(千兆)等等,但是帶寬的增加并不能提高鏈路的可靠性。
如果能夠把多條鏈路當作一條鏈路使用,不但能夠增加網(wǎng)絡帶寬,而且能夠起到鏈路備份的作用。為此,IEEE(Institute of Electrical and ElectronicsEngineers,電氣和電子工程師協(xié)會)專門制定了802.3ad標準,用以規(guī)范鏈路聚合(Aggregated Link)的實現(xiàn)。
所謂鏈路聚合,是將多條物理鏈路捆綁在一起形成一條邏輯上的鏈路,實現(xiàn)負載在各成員物理鏈路上的分擔,同時也提供了更高的可靠性。圖1所示為鏈路聚合的示意圖。網(wǎng)絡設備100的物理端口110、物理端口120和物理端口130分別與網(wǎng)絡設備200的物理端口210、物理端口220和物理端口230相連接,形成3條物理鏈路。在網(wǎng)絡設備100上將物理端口110、120和130設置為鏈路聚合端口組,同時在網(wǎng)絡設備200上將物理端口210、220和230也設置為鏈路聚合端口組,則上述3條物理鏈路組合成一條邏輯鏈路。
鏈路聚合的出現(xiàn),使得網(wǎng)絡組網(wǎng)更加靈活方便,在增加網(wǎng)絡帶寬的同時提高了網(wǎng)絡的安全性。當鏈路聚合端口組中的某條物理鏈路出現(xiàn)問題,數(shù)據(jù)流量能夠自動切換到其他物理鏈路,實現(xiàn)邏輯鏈路的保護功能。
在現(xiàn)有技術中,鏈路聚合通常通過硬件芯片實現(xiàn),這種實現(xiàn)方式需要將實現(xiàn)聚合算法的代碼寫入芯片的內存,占用大量的芯片內存空間,這些內存空間被這些代碼固定占有,在運行的時候不會釋放出來,因此增加了網(wǎng)絡設備的成本。從性價比角度考慮,網(wǎng)絡設備供應商傾向于提供數(shù)量有限的鏈路聚合端口組數(shù)目,用戶無法根據(jù)實際組網(wǎng)需求任意設置鏈路聚合端口組。
發(fā)明內容
本發(fā)明要解決的技術問題是現(xiàn)有技術中鏈路聚合的實現(xiàn)方式成本過高的問題。
本發(fā)明所述網(wǎng)絡設備在網(wǎng)絡層實現(xiàn)鏈路聚合的方法包括以下步驟a)確定鏈路聚合端口組包括的n個物理端口,n大于等于2,將上述n個物理端口在網(wǎng)絡層進行相同配置;b)為以所述鏈路聚合端口組為出口的某個路由生成n條等價路由,所述n條等價路由的出接口信息分別設置為所述鏈路聚合端口組的n個物理端口;c)網(wǎng)絡設備將需要網(wǎng)絡層轉發(fā)的報文均勻分配到所述n個等價路由上,相應地以上述n個物理端口為報文出接口;d)當鏈路聚合端口組的部分物理端口與對端的連接中斷后,將連接中斷的物理端口所對應的等價路由的出接口信息修改為鏈路聚合端口組中正常工作的物理端口。
優(yōu)選地,所述方法還包括將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文。
優(yōu)選地,所述步驟d)之后還包括e)當鏈路聚合端口組連接中斷的某個物理端口恢復正常工作后,查找所述n條等價路由中具有相同出接口信息的等價路由,將其中一條等價路由的出接口信息修改為所述恢復正常工作的物理端口。
優(yōu)選地,所述步驟d)中對連接中斷的物理端口所對應的等價路由的出接口信息的修改滿足以下條件任意兩個正常工作的物理端口所對應的等價路由數(shù)目的差值小于等于1。
優(yōu)選地,所述步驟a)與步驟b)之間包括下述至少一項通過動態(tài)路由協(xié)議學習以所述網(wǎng)絡層地址為出口的間接路由;配置以所述網(wǎng)絡層地址為出口靜態(tài)路由;通過鏈路聚合端口組收到的地址解析協(xié)議ARP報文,學習直接路由。
優(yōu)選地,所述步驟a)之后還包括a1)鏈路聚合端口組從收到的報文中學習以其為出口的媒介接入控制MAC地址;a2)將學習到的MAC地址的出接口信息設置為鏈路聚合端口組正常工作的物理端口;a3)當鏈路聚合端口組的部分物理端口與對端的連接中斷后,刪除以連接中斷的物理端口為出接口的MAC地址,轉步驟a1);a4)當鏈路聚合端口組連接中斷的物理端口恢復正常工作后,刪除以鏈路聚合端口組為出口的所有MAC地址,轉步驟a1)。
優(yōu)選地,所述方法還包括設置鏈路聚合端口組的每個物理端口不轉發(fā)其他物理端口接收的組播和廣播報文。
優(yōu)選地,所述步驟a2)具體為設定哈希算法,使其哈希值與正常工作的物理端口具有一一對應關系;用所述哈希算法計算所述MAC地址的哈希值;將所述MAC地址的出接口設置為計算所得的哈希值對應的物理端口。
本發(fā)明還提供了一種在鏈路層實現(xiàn)鏈路聚合的方法,包括以下步驟
A.確定鏈路聚合端口組包括的物理端口;B.將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文;C.鏈路聚合端口組從收到的報文中學習以其為出口的媒介接入控制MAC地址;D.將學習到的MAC地址的出接口信息設置為鏈路聚合端口組正常工作的物理端口;E.當鏈路聚合端口組的部分物理端口與對端的連接中斷后,刪除以連接中斷的物理端口為出接口的MAC地址,轉步驟C。
優(yōu)選地,所述步驟E之后還包括當鏈路聚合端口組連接中斷的物理端口恢復正常工作后,刪除以鏈路聚合端口組為出口的所有MAC地址,轉步驟C;所述步驟D具體為設定哈希算法,使其哈希值與正常工作的物理端口具有一一對應關系;用所述哈希算法計算所述MAC地址的哈希值;將所述MAC地址的出接口設置為計算所得的哈希值對應的物理端口。
本發(fā)明還提供了一種在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法,包括以下步驟(1)在第一交換機上選取預定數(shù)量的物理端口,并對這些物理端口進行相目同的網(wǎng)絡層配置;(2)在第二交換機上相應選取所述預定數(shù)量的物理端口,并對這些物理端口進行相同的網(wǎng)絡層配置;將選取的第一和第二交換機的物理端口一一相連;(3)在路由表中將第一交換機需要轉發(fā)到第二交換機的網(wǎng)絡層報文的出接口按選取的物理端口進行均勻分配;(4)若發(fā)現(xiàn)第一交換機選取的物理端口中的某一物理端口無法正常發(fā)出報文,則將路由表中的該物理端口修改為選取的物理端口中其他正常工作的物理端口。
優(yōu)選地,第一交換機或第二交換機從選取的物理端口接收的報文中學習MAC地址,并將其出接口均勻分配在選取的物理端口上。
優(yōu)選地,在步驟(4)中,第一交換機還將出接口為該物理端口的MAC地址刪除優(yōu)選地,在步驟(3)中,第一和第二交換機從選取的物理端口接收的ARP報文中學習直接路由,并將其出接口在選取的物理端口上均勻分配;第一或第二交換機進行報文轉發(fā)之前先判斷報文是否具有網(wǎng)絡層報頭,如果是,進行網(wǎng)絡層轉發(fā);如果否,進行鏈路層轉發(fā)。
本發(fā)明通過將組成鏈路聚合端口組的物理端口設置為等價路由的出接口,以軟件實現(xiàn)了網(wǎng)絡層的鏈路聚合;通過在組成鏈路聚合端口組的物理端口上動態(tài)分配以鏈路聚合端口組為出口的MAC地址,以軟件實現(xiàn)了鏈路層的鏈路聚合;降低了鏈路聚合的實現(xiàn)成本,同時使得用戶可以根據(jù)組網(wǎng)需求隨意設置鏈路聚合。
圖1所示為鏈路聚合的示意圖;圖2所示為本發(fā)明所述網(wǎng)絡層鏈路聚合實現(xiàn)方法的流程圖;圖3所示為本發(fā)明所述鏈路層鏈路聚合實現(xiàn)方法的流程圖;圖4所示為應用本發(fā)明網(wǎng)絡層和鏈路層鏈路聚合方法的網(wǎng)絡設備的報文處理流程圖。
具體實施例方式
在802.3ad標準中,鏈路聚合應具有如下功能負載分擔通過鏈路聚合的數(shù)據(jù)報文應當均勻地分擔在組成鏈路聚合的多條鏈路上。
冗余備份當鏈路聚合中某條鏈路發(fā)生故障后,數(shù)據(jù)報文能夠快速從其他鏈路轉發(fā)。
在一些網(wǎng)絡設備上,組成鏈路聚合端口組的物理端口能夠對數(shù)據(jù)報文進行網(wǎng)絡層路由,則其鏈路聚合可以工作在網(wǎng)絡層,也可以工作在網(wǎng)絡層和鏈路層;而在另一些網(wǎng)絡設備上組成鏈路聚合端口組的物理端口可能只具有鏈路層轉發(fā)功能,其鏈路聚合則只能工作在鏈路層。在本發(fā)明中,提供了以軟件實現(xiàn)網(wǎng)絡層和鏈路層的鏈路聚合的方法,兩者可以分別使用,也可以結合使用。
圖2所示為本發(fā)明在網(wǎng)絡層實現(xiàn)鏈路聚合的方法的流程圖。
在步驟S210,確定鏈路聚合端口組包括的n個物理端口,n大于等于2,將上述n個物理端口在網(wǎng)絡層進行相同配置。組成鏈路聚合端口組的所有物理端口應當具有路由功能。
從鏈路聚合端口組外部看來,這n個物理端口組成一個邏輯端口,具有相同的網(wǎng)絡層地址和其他網(wǎng)絡層配置。
在步驟S220,將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文。如果從鏈路聚合端口組的某個物理端口進入的組播和廣播報文從其他物理端口轉發(fā)出去,則會形成報文的回環(huán),影響網(wǎng)絡的性能。
本步驟可以采用現(xiàn)有的網(wǎng)絡設備上提供的設置實現(xiàn),設置方法與具體采用的硬件和該硬件的設置命令相關,此處不再贅述。
在步驟S230,通過動態(tài)路由協(xié)議學習以鏈路聚合端口組的網(wǎng)絡層地址為出口的間接路由。配置了動態(tài)路由協(xié)議的網(wǎng)絡設備會與其他網(wǎng)絡層設備交換路由信息,其中包括以鏈路聚合端口組的網(wǎng)絡層地址為出口的間接路由信息。
在步驟S240,通過鏈路聚合端口組收到的ARP(Address ResolutionProtocol,地址解析協(xié)議)報文,學習直接路由。ARP報文在子網(wǎng)或VLAN(Virtual Local Area Network,虛擬局域網(wǎng))內傳輸,用來將網(wǎng)絡節(jié)點的網(wǎng)絡層地址解析為MAC(Media Access Control,媒介接入控制)地址,網(wǎng)絡設備可以通過鏈路聚合端口組收到的ARP報文學習到哪些網(wǎng)絡層地址為直接路由的目的地址。
在步驟S250,配置以鏈路聚合端口組的網(wǎng)絡層地址為出口靜態(tài)路由。
步驟S230至S250是現(xiàn)有技術中獲得路由信息的方法,根據(jù)實際組網(wǎng)和網(wǎng)絡設備的功能可以采用其中一種,也可以同時采用其中幾種。在本發(fā)明中不需對這些獲得路由信息的方法作改動,可以直接應用。
在步驟S260,為以鏈路聚合端口組的網(wǎng)絡層地址為出口的路由生成n條等價路由,這n條等價路由的出接口信息分別設置為鏈路聚合端口組的n個物理端口。
如果網(wǎng)絡設備中到某個目的地址的路徑有多條,而且這些路徑具有相同的優(yōu)先級,則這些路徑形成了等價路由。
在網(wǎng)絡設備的路由表中,每一條表項都包括出接口信息,即能夠轉發(fā)至目的地址的本設備上的物理端口。本發(fā)明中,將等價路由的出接口分別配置為組成鏈路聚合端口組的各個物理端口,這樣可以利用等價路由具有的負載分擔功能,實現(xiàn)鏈路聚合的負載均衡。
在步驟S270,網(wǎng)絡設備將需要網(wǎng)絡層轉發(fā)的報文均勻分配到所述n個等價路由上,相應地以上述n個物理端口為報文出接口。
等價路由對通過其轉發(fā)數(shù)據(jù)報文具有負載分擔的作用,可以使數(shù)據(jù)報文大致均勻地根據(jù)等價路由的多條路徑進行轉發(fā)。
常用的網(wǎng)絡層網(wǎng)絡設備都具有等價路由功能,對其實現(xiàn)不再贅述。
在步驟S280,當鏈路聚合端口組的部分物理端口與對端的連接中斷后,將連接中斷的物理端口所對應的等價路由的出接口信息修改為鏈路聚合端口組中正常工作的物理端口。
當物理端口與對端的連接中斷時,網(wǎng)絡設備能夠檢測到該物理端口的狀態(tài)變化。因此,可以根據(jù)此狀態(tài)變化信息得知連接中斷的物理端口,在路由表中查找到連接中斷的物理端口對應的等價路由,將其出接口信息修改為鏈路聚合端口組中其他正常工作的物理端口。
當有多個物理端口的連接中斷時,最好能夠將這些物理端口的流量分散在不同的正常工作的端口上。在修改連接中斷的物理端口所對應的等價路由的出接口信息時,如果能夠滿足任意兩個正常工作的物理端口所對應的等價路由數(shù)目的差值小于等于1,則可以持續(xù)負載基本均衡的狀態(tài)。
在步驟S290,當鏈路聚合端口組連接中斷的某個物理端口恢復正常工作后,查找所述n條等價路由中具有相同出接口信息的等價路由,將其中一條等價路由的出接口信息修改為所述恢復正常工作的物理端口。
同樣,當某個物理端口的連接恢復時,可以由網(wǎng)絡設備檢測到的狀態(tài)變化信息得知恢復連接的物理端口。對具有相同出接口信息的等價路由的其中之一進行修改,可以更好地實現(xiàn)負載均衡。
可見,本發(fā)明把等價路由融合在鏈路聚合的實現(xiàn)中,使網(wǎng)絡層報文通過路由來進行負載分擔。一條鏈路承載一條路由,多條鏈路承載多條路由,這些路由都指向同一網(wǎng)絡層目的地址,且優(yōu)先級都相同,因而能夠達到鏈路聚合的效果,在網(wǎng)絡層實現(xiàn)了負載分擔和冗余備份功能。同時,本發(fā)明還可以防止報文回環(huán)。
圖3所示為本發(fā)明在鏈路層實現(xiàn)鏈路聚合的方法的流程圖。
在步驟S310,確定鏈路聚合端口組包括的物理端口,鏈路聚合端口組包括的物理端口的數(shù)目大于等于2。
在步驟S320,將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文。
如前所述,本步驟能夠防止形成鏈路層的廣播報文回環(huán),避免影響網(wǎng)絡的性能。同樣,本步驟也可以采用現(xiàn)有的網(wǎng)絡設備上提供的設置實現(xiàn)。
在步驟S330,鏈路聚合端口組從收到的報文中學習以其為出口的媒介接入控制MAC地址。
網(wǎng)絡設備的端口(包括邏輯端口和物理端口)收到的報文中的源MAC地址,即為與該端口直接連接的網(wǎng)絡節(jié)點的MAC地址。從收到的報文中學習MAC地址是幾乎所有具有鏈路層轉發(fā)功能的網(wǎng)絡設備必備的功能,此處不再贅述。
在步驟S340,設定哈希算法,使其哈希值與正常工作的物理端口具有一一對應關系。
哈希算法用來將任意長度的輸入報文或數(shù)據(jù)映射為固定長度的輸出,此輸出稱為哈希值。哈希值以數(shù)值為表示形式,數(shù)據(jù)唯一且非常緊湊。即使輸入報文或數(shù)據(jù)的內容只更改一個字母或數(shù)字,都將產(chǎn)生不同的哈希值。
哈希算法在現(xiàn)有技術中有多種實現(xiàn)形式。只要某種哈希算法產(chǎn)生的哈希值范圍能夠根據(jù)設定變化,該算法就可以在本發(fā)明中應用。
在步驟S350,用哈希算法計算學習到的MAC地址的哈希值。
在步驟S360,將該MAC地址的出接口設置為計算所得的哈希值對應的物理端口。
舉一個簡單的例子,可以采用如下的哈希算法將MAC地址的6個字節(jié)相加,將所得的和數(shù)以正常工作的物理端口數(shù)量取余,當正常工作的物理端口數(shù)量為4時,可能的余數(shù)為0、1、2和3,令其分別對應與4個正常工作的物理端口,這樣可以根據(jù)哈希值對MAC地址的出接口進行設置。
在本發(fā)明中,也可以采用其他方法設置MAC地址的出接口,替代步驟S340至S360,只要能夠較為均勻地將學習到的MAC地址分配在正常工作的物理端口上即可,以實現(xiàn)鏈路聚合的負載分擔。
在步驟S370,當鏈路聚合端口組的部分物理端口與對端的連接中斷后,刪除以連接中斷的物理端口為出接口的MAC地址,轉步驟S330。
當鏈路聚合端口組中有物理端口的連接中斷時,該物理端口上的流量最好分散在其他正常工作的物理端口上。因此,刪除以連接中斷的物理端口為出接口的MAC地址,重新啟動這些MAC地址的學習和在物理端口上的分配過程,可以較好地實現(xiàn)負載均衡。
在步驟S380,當鏈路聚合端口組連接中斷的物理端口恢復正常工作后,刪除以鏈路聚合端口組為出口的所有MAC地址,轉步驟S330。
當鏈路聚合端口組中有中斷的物理端口恢復連接時,為了實現(xiàn)負載均衡,只能刪除以鏈路聚合端口組為出口的所有MAC地址,重新啟動這些MAC地址的學習和分配過程。
本發(fā)明在鏈路層也實現(xiàn)了負載分擔和冗余備份功能,同時也可以防止報文回環(huán)。
單獨在網(wǎng)絡層或鏈路層實施本發(fā)明后,通過鏈路聚合端口組發(fā)送和接收數(shù)據(jù)包的方法不會有變化。在結合使用本發(fā)明兩種方法時,對經(jīng)鏈路聚合轉發(fā)的TCP/IP(Transfer Control Protocol/Intemet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)報文推薦采用圖4所示的處理流程,此時在網(wǎng)絡層實現(xiàn)中必須執(zhí)行步驟S240,使鏈路聚合端口組可以通過直接路由轉發(fā)目的IP地址為位于同一子網(wǎng)或VLAN的節(jié)點的TCP/IP報文。
請參閱圖4,在步驟S410,判斷該報文是否有網(wǎng)絡層報頭,如果有,執(zhí)行步驟S420;如果沒有,執(zhí)行步驟S450。
在步驟S420,判斷在路由表中有該報文的目的IP地址,如果有,執(zhí)行步驟S440,根據(jù)等價路由對該報文進行網(wǎng)絡層轉發(fā),報文處理結束;如果沒有,執(zhí)行步驟S430,根據(jù)缺省路由對該報文進行網(wǎng)絡層轉發(fā),報文處理結束。
在步驟S450,判斷該報文的目的MAC地址是否是組播或廣播地址,如果是,執(zhí)行步驟S480;如果否,執(zhí)行步驟S460。
在步驟S460,判斷該報文的目的MAC地址是否在MAC地址表中,如果是,執(zhí)行步驟S470,根據(jù)MAC地址表對該報文進行轉發(fā),報文處理結束;如果否,執(zhí)行步驟S480。
在步驟S480,任選一個鏈路匯聚組的物理端口對該報文進行轉發(fā),報文處理結束。
請參見圖1,假設網(wǎng)絡設備100和網(wǎng)絡設備200都是具有網(wǎng)絡層轉發(fā)功能的交換機,在網(wǎng)絡層交換機100和200之間,可以通過下述方法實現(xiàn)鏈路聚合在網(wǎng)絡層交換機100上選取預定數(shù)量的物理端口,并對這些物理端口進行相同的網(wǎng)絡層配置;在網(wǎng)絡層交換機200上相應選取相同數(shù)量的物理端口,并對這些物理端口進行相同的網(wǎng)絡層配置;將網(wǎng)絡層交換機100和網(wǎng)絡層交換機200上選取的物理端口一一相連;在網(wǎng)絡層交換機100上,將路由表中將下一跳為網(wǎng)絡層交換機200的路由的出接口在選取的物理端口上進行均勻分配;同樣,在網(wǎng)絡層交換機200上,將路由表中將下一跳為網(wǎng)絡層交換機100的路由的出接口在選取的物理端口上也進行均勻分配;如果網(wǎng)絡層交換機100發(fā)現(xiàn)選取的物理端口中的某一個無法發(fā)送和/或接收報文,則將其路由表中的該物理端口修改為選取的物理端口中其他正常工作的物理端口;同時,網(wǎng)絡層交換機200也會發(fā)現(xiàn)與該物理端口連接的本機上的物理端口對網(wǎng)絡層報文轉發(fā)出現(xiàn)故障,也將以同樣的方式修改其路由表;當網(wǎng)絡層交換機100發(fā)現(xiàn)出現(xiàn)故障的物理端口恢復正常工作時,修改其路由表中下一跳為網(wǎng)絡層交換機200的路由中出接口的值重復的路由,將其出接口修改為恢復工作的物理端口;同時,網(wǎng)絡層交換機200也會發(fā)現(xiàn)與該物理端口連接的物理端口對網(wǎng)絡層報文的轉發(fā)恢復正常,則其也以同樣方式修改其路由表。
在實現(xiàn)了網(wǎng)絡層鏈路聚合后,還可以同時實現(xiàn)鏈路層的鏈路聚合網(wǎng)絡層交換機100和網(wǎng)絡交換機200分別從其選取的物理端口上接收的報文中學習MAC地址,并將學習的MAC地址的出接口均勻分配到其選取的物理端口上;如果網(wǎng)絡層交換機100或網(wǎng)絡層交換機200發(fā)現(xiàn)選取的物理端口中的某一個無法發(fā)送和/或接收報文,則刪除MAC地址轉發(fā)表中包括該物理端口的表項。
如果在網(wǎng)絡層交換機100和網(wǎng)絡層交換機200上應用圖4所示的流程,則應當令網(wǎng)絡層交換機100和網(wǎng)絡層交換機200從選取的物理端口接收的ARP報文中學習直接路由,并將其出接口在選取的物理端口上均勻分配。這樣,網(wǎng)絡層交換機100和網(wǎng)絡層交換機200可以在進行報文轉發(fā)前先判斷報文是否具有網(wǎng)絡層報頭,如果是,進行網(wǎng)絡層轉發(fā);如果否,進行鏈路層轉發(fā)。
本發(fā)明非常適用于以下情形在樹狀網(wǎng)絡中處于匯聚層或者核心層的網(wǎng)絡設備,與下級網(wǎng)絡設備進行網(wǎng)絡層和/或鏈路層互聯(lián);在環(huán)狀網(wǎng)絡中處于匯聚層或者核心層的網(wǎng)絡設備,和同級別的網(wǎng)絡設備進行網(wǎng)絡層和/或鏈路層互聯(lián)。
以上所述本發(fā)明的實施方式,并不構成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的權利要求保護范圍之內。
權利要求
1.一種網(wǎng)絡設備在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,包括以下步驟a)確定鏈路聚合端口組包括的n個物理端口,n大于等于2,將上述n個物理端口在網(wǎng)絡層進行相同配置;b)為以所述鏈路聚合端口組為出口的某個路由生成n條等價路由,所述n條等價路由的出接口信息分別設置為所述鏈路聚合端口組的n個物理端口;c)網(wǎng)絡設備將需要網(wǎng)絡層轉發(fā)的報文均勻分配到所述n個等價路由上,相應地以上述n個物理端口為報文出接口;d)當鏈路聚合端口組的部分物理端口與對端的連接中斷后,將連接中斷的物理端口所對應的等價路由的出接口信息修改為鏈路聚合端口組中正常工作的物理端口。
2.按照權利要求1所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述方法還包括將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文。
3.按照權利要求2所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟d)之后還包括e)當鏈路聚合端口組連接中斷的某個物理端口恢復正常工作后,查找所述n條等價路由中具有相同出接口信息的等價路由,將其中一條等價路由的出接口信息修改為所述恢復正常工作的物理端口。
4.按照權利要求3所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟d)中對連接中斷的物理端口所對應的等價路由的出接口信息的修改滿足以下條件任意兩個正常工作的物理端口所對應的等價路由數(shù)目的差值小于等于1。
5.按照權利要求4所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟a)與步驟b)之間包括下述至少一項通過動態(tài)路由協(xié)議學習以所述網(wǎng)絡層地址為出口的間接路由;配置以所述網(wǎng)絡層地址為出口靜態(tài)路由;通過鏈路聚合端口組收到的地址解析協(xié)議ARP報文,學習直接路由。
6.按照權利要求1至5任意一項所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟a)之后還包括a1)鏈路聚合端口組從收到的報文中學習以其為出口的媒介接入控制MAC地址;a2)將學習到的MAC地址的出接口信息設置為鏈路聚合端口組正常工作的物理端口;a3)當鏈路聚合端口組的部分物理端口與對端的連接中斷后,刪除以連接中斷的物理端口為出接口的MAC地址,轉步驟a1);a4)當鏈路聚合端口組連接中斷的物理端口恢復正常工作后,刪除以鏈路聚合端口組為出口的所有MAC地址,轉步驟a1)。
7.按照權利要求6所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述方法還包括設置鏈路聚合端口組的每個物理端口不轉發(fā)其他物理端口接收的組播和廣播報文。
8.按照權利要求7所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟a2)具體為設定哈希算法,使其哈希值與正常工作的物理端口具有一一對應關系;用所述哈希算法計算所述MAC地址的哈希值;將所述MAC地址的出接口設置為計算所得的哈希值對應的物理端口。
9.一種網(wǎng)絡設備在鏈路層實現(xiàn)鏈路聚合的方法,其特征在于,包括以下步驟A.確定鏈路聚合端口組包括的物理端口;B.將鏈路聚合端口組的每個物理端口設置為不轉發(fā)其他物理端口接收的組播和廣播報文;C.鏈路聚合端口組從收到的報文中學習以其為出口的媒介接入控制MAC地址;D.將學習到的MAC地址的出接口信息設置為鏈路聚合端口組正常工作的物理端口;E.當鏈路聚合端口組的部分物理端口與對端的連接中斷后,刪除以連接中斷的物理端口為出接口的MAC地址,轉步驟C。
10.按照權利要求9所述在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,其特征在于,所述步驟E之后還包括當鏈路聚合端口組連接中斷的物理端口恢復正常工作后,刪除以鏈路聚合端口組為出口的所有MAC地址,轉步驟C;所述步驟D具體為設定哈希算法,使其哈希值與正常工作的物理端口具有一一對應關系;用所述哈希算法計算所述MAC地址的哈希值;將所述MAC地址的出接口設置為計算所得的哈希值對應的物理端口。
11.一種在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法,其特征在于,包括以下步驟(1)在第一交換機上選取預定數(shù)量的物理端口,并對這些物理端口進行相同的網(wǎng)絡層配置;(2)在第二交換機上相應選取所述預定數(shù)量的物理端口,并對這些物理端口進行相同的網(wǎng)絡層配置;將選取的第一和第二交換機的物理端口一一相連;(3)在路由表中將第一交換機需要轉發(fā)到第二交換機的網(wǎng)絡層報文的出接口按選取的物理端口進行均勻分配;(4)若發(fā)現(xiàn)第一交換機選取的物理端口中的某一物理端口無法正常發(fā)出報文,則將路由表中的該物理端口修改為選取的物理端口中其他正常工作的物理端口。
12.按照權利要求11所述在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法,其特征在于,第一交換機或第二交換機從選取的物理端口接收的報文中學習MAC地址,并將其出接口均勻分配在選取的物理端口上。
13.按照權利要求12所述在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法,其特征在于,在步驟(4)中,第一交換機還將出接口為該物理端口的MAC地址刪除。
14.按照權利要求11所述在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法,其特征在于,在步驟(3)中,第一和第二交換機從選取的物理端口接收的ARP報文中學習直接路由,并將其出接口在選取的物理端口上均勻分配;第一或第二交換機進行報文轉發(fā)之前先判斷報文是否具有網(wǎng)絡層報頭,如果是,進行網(wǎng)絡層轉發(fā);如果否,進行鏈路層轉發(fā)。
全文摘要
本發(fā)明公開了一種網(wǎng)絡設備在網(wǎng)絡層實現(xiàn)鏈路聚合的方法,包括確定鏈路聚合端口組的n個物理端口,進行網(wǎng)絡層相同配置;為以鏈路聚合端口組為出口的某個路由生成n條等價路由,其出接口信息分別設置為n個物理端口;網(wǎng)絡設備將需要網(wǎng)絡層轉發(fā)的報文均勻分配到n個等價路由上;當鏈路聚合端口組的部分物理端口與對端的連接中斷后,將連接中斷的物理端口所對應的等價路由的出接口信息修改為鏈路聚合端口組中正常工作的物理端口。本發(fā)明還公開了一種在鏈路層實現(xiàn)鏈路聚合的方法和在網(wǎng)絡層交換機之間實現(xiàn)鏈路聚合的方法。本發(fā)明以軟件實現(xiàn)了網(wǎng)絡層和/或鏈路層的鏈路聚合,降低了鏈路聚合的實現(xiàn)成本,使得用戶可以根據(jù)組網(wǎng)需求隨意設置鏈路聚合。
文檔編號H04L12/56GK1725761SQ200510076709
公開日2006年1月25日 申請日期2005年6月10日 優(yōu)先權日2005年6月10日
發(fā)明者汪洪遠, 胡光 申請人:杭州華為三康技術有限公司