物理端口的均衡負載分擔方法、裝置和鏈路聚合系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體的說,是涉及一種物理端口的均衡負載分擔方 法、裝置和鏈路聚合系統(tǒng)。
【背景技術(shù)】
[0002] 鏈路聚合是指將一組物理端口捆綁在一起作為一個邏輯接口來增加帶寬的方法, 又稱為多端口負載均衡組。在兩臺設(shè)備之間建立鏈路聚合組時,按照現(xiàn)有的選路方式,設(shè)備 間的多個物理端口可加入同一個鏈路聚合組內(nèi)。假設(shè)交換機A的一個鏈路聚合組內(nèi)最多可 以支持8個物理端口同時轉(zhuǎn)發(fā),當交換機A和交換機B中之間的三個物理端口(編號為1、2、 3)加入鏈路聚合組時,其鏈路聚合組的轉(zhuǎn)發(fā)表端口分布如下,由上述鏈路聚合組的轉(zhuǎn)發(fā)表 端口分布(表1)可以看出,端口分布不均,1號和2號端口所占比例多。
[0003] 表 1 :
【主權(quán)項】
1. 一種物理端口的均衡負載分擔方法,其特征在于,包括: 從最高位至最低位逐次將加入鏈路聚合組內(nèi)的物理端口對應(yīng)的端口號添加至所述鏈 路聚合組中的轉(zhuǎn)發(fā)表; 在所述加入個數(shù)與所述轉(zhuǎn)發(fā)表支持的預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個數(shù)N為非整除關(guān)系的情況 下,當一端物理端口請求進行數(shù)據(jù)轉(zhuǎn)發(fā)時,依據(jù)所述預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個數(shù)N從所述轉(zhuǎn)發(fā) 表的最低位向高位起選擇n位進行第一次哈希計算獲取擴展哈希值key 1 ; 其中,n為所述預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個數(shù)N與加入鏈路聚合組內(nèi)的物理端口對應(yīng)的端口 號的個數(shù)進行整除后獲得的余數(shù),N和n為正整數(shù); 依據(jù)所述擴展哈希值keyl和請求進行數(shù)據(jù)轉(zhuǎn)發(fā)的物理端口上報的報文五元組進行第 二次哈希計算,獲取哈希值key2 ; 根據(jù)所述哈希值key2確定所述轉(zhuǎn)發(fā)表中用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的位置。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述哈希值key2確定所述轉(zhuǎn)發(fā)表中 用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的位置,包括: 由key2確定所述轉(zhuǎn)發(fā)表中的用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的端口號; 依據(jù)物理端口與端口號的對應(yīng)關(guān)系,確定轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的位置; 選擇確定位置的物理端口用于轉(zhuǎn)發(fā)數(shù)據(jù)。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,從最高位至最低位逐次將加入鏈路聚合 組內(nèi)的物理端口對應(yīng)的端口號添加至所述鏈路聚合組中的轉(zhuǎn)發(fā)表之前,還包括: 獲取加入所述鏈路聚合組內(nèi)中的各個所述物理端口的端口速度; 判斷各個所述端口速度是否相同,若是,則執(zhí)行從最高位至最低位逐次將加入鏈路聚 合組內(nèi)的物理端口對應(yīng)的端口號添加至所述鏈路聚合組中的轉(zhuǎn)發(fā)表該一步驟; 若否,則獲取最小的端口速度為基準速度,計算各個所述端口速度占所述基準速度的 比例,獲取按照基準速度每個所述物理端口可劃分的虛擬端口的個數(shù); 按照所述虛擬端口所屬的物理端口的端口號為所述虛擬端口命名。
4. 根據(jù)權(quán)利要求1~3中任意一項所述的方法,其特征在于,從最高位至最低位逐次將 加入鏈路聚合組內(nèi)的物理端口對應(yīng)的端口號添加至所述鏈路聚合組中的轉(zhuǎn)發(fā)表,包括: 按照從小到大的端口號順序,從所述鏈路聚合組中的轉(zhuǎn)發(fā)表的最高位開始逐次添加, 當相同的端口號存在多個時,待所有所述相同的端口號添加結(jié)束后,選取下一端口號開始 添加; 當所有端口號添加完畢后,所述轉(zhuǎn)發(fā)表中仍存在空閑端口位置時,重新從最小的端口 號開始加入所述轉(zhuǎn)發(fā)表,直至所述空閑端口位置填滿。
5. 根據(jù)權(quán)利要求1~3中任意一項所述方法,其特征在于,當一端物理端口請求進行數(shù) 據(jù)轉(zhuǎn)發(fā)時,依據(jù)所述預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個數(shù)N從所述轉(zhuǎn)發(fā)表的最低位向高位起選擇n位進 行第一次哈希計算獲取擴展哈希值keyl,包括: 依據(jù)所述預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個數(shù)N與添加至所述轉(zhuǎn)發(fā)表中的端口號的個數(shù)進行整除, 獲得余數(shù)n作為選擇第一物理端口范圍中包含物理端口的個數(shù); 從所述轉(zhuǎn)發(fā)表的最低位向最高位起選擇所述n位作為第一次哈希計算的第一物理端 口范圍; 在所述第一物理端口范圍內(nèi),依據(jù)請求進行數(shù)據(jù)轉(zhuǎn)發(fā)的物理端口上報的報文特征五元 組源IP,目的IP,源MAC,目的MAC和所述請求進行數(shù)據(jù)轉(zhuǎn)發(fā)的物理端口的數(shù)值進行異或計 算獲取擴展哈希值keyl。
6. -種物理端口的均衡負載分擔裝置,其特征在于,包括: 添加單元,用于從最高位至最低位逐次將加入鏈路聚合組內(nèi)的物理端口對應(yīng)的端口號 添加至所述鏈路聚合組中的轉(zhuǎn)發(fā)表; 第一次哈希計算單元,用于在所述加入個數(shù)與所述轉(zhuǎn)發(fā)表支持的預(yù)設(shè)物理端口轉(zhuǎn)發(fā)個 數(shù)N為非整除關(guān)系的情況下,當一端物理端口請求進行數(shù)據(jù)轉(zhuǎn)發(fā)時,依據(jù)所述預(yù)設(shè)物理端 口轉(zhuǎn)發(fā)個數(shù)N從所述轉(zhuǎn)發(fā)表的最低位向高位起選擇n位進行第一次哈希計算獲取擴展哈希 值keyl, n為所述轉(zhuǎn)發(fā)個數(shù)N與加入鏈路聚合組的物理端口的端口號的個數(shù)進行整除后獲 得的余數(shù),N和n為正整數(shù); 第二次哈希計算單元,用于依據(jù)所述擴展哈希值keyl和請求進行數(shù)據(jù)轉(zhuǎn)發(fā)的物理端 口上報的報文五元組進行第二次哈希計算,獲取哈希值key2 ; 轉(zhuǎn)發(fā)單元,用于根據(jù)所述哈希值key2確定所述轉(zhuǎn)發(fā)表中用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的 位置。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,位置確定單元包括: 端口號確定模塊,用于由key2確定所述轉(zhuǎn)發(fā)表中的用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的端口 號; 位置確定模塊,用于依據(jù)物理端口與端口號的對應(yīng)關(guān)系,確定轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的 位置; 轉(zhuǎn)發(fā)模塊,用于選擇確定位置的物理端口用于轉(zhuǎn)發(fā)數(shù)據(jù)。
8. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,還包括: 獲取單元,用于獲取加入所述鏈路聚合組內(nèi)中的各個所述物理端口的端口速度; 判斷單元,用于判斷各個所述端口速度是否相同,若是,則返回執(zhí)行所述添加單元,若 否,則執(zhí)行劃分單元; 所述劃分單元,用于獲取最小的端口速度為基準速度,計算各個所述端口速度占所述 基準速度的比例,獲取按照基準速度每個所述物理端口可劃分的虛擬端口的個數(shù); 命名單元,用于按照所述虛擬端口所屬的物理端口的端口號為所述虛擬端口命名,在 命名之后執(zhí)行所述添加單元。
9. 根據(jù)權(quán)利要求8所述的裝置,所述添加單元包括: 順序添加模塊,用于按照從小到大的端口號順序,從所述鏈路聚合組中的轉(zhuǎn)發(fā)表的最 高位開始逐次添加,其中,當相同的端口號存在多個時,待所有所述相同的端口號加入結(jié)束 后,選取下一端口號開始添加; 循環(huán)添加模塊,用于當所有端口號添加完畢后,所述轉(zhuǎn)發(fā)表中仍存在空閑端口位置時, 重新從最小的端口號開始加入所述轉(zhuǎn)發(fā)表,直至所述空閑端口位置填滿。
10. -種鏈路聚合系統(tǒng),其特征在于,包括: 至少兩個電子設(shè)備,連接于兩個所述電子設(shè)備之間的鏈路聚合組,所述鏈路聚合組內(nèi) 包括權(quán)利要求6~9中任意一項所述的物理端口的均衡負載分擔裝置。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述電子設(shè)備包括:交換機。
【專利摘要】本發(fā)明實施例公開了一種物理端口的均衡負載分擔方法、裝置和鏈路聚合系統(tǒng)。通過第一次哈希計算在鏈路聚合組中的轉(zhuǎn)發(fā)表中影響負載分擔的物理端口的位置,確定位于其他位置上的物理端口之間的負載分擔相同,然后再通過第二次哈希計算確定用于轉(zhuǎn)發(fā)數(shù)據(jù)的物理端口的具體位置和范圍,保證在進行數(shù)據(jù)轉(zhuǎn)發(fā)的過程中,在轉(zhuǎn)發(fā)表中確定的物理端口的范圍內(nèi)選擇物理端口用于轉(zhuǎn)發(fā)數(shù)據(jù),從而確保在數(shù)據(jù)轉(zhuǎn)發(fā)過程中加入鏈路聚合組中的各個物理端口流量的負載分擔均衡,實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)均衡,充分利用物理端口的帶寬的目的。
【IPC分類】H04L29-12, H04L12-803
【公開號】CN104683255
【申請?zhí)枴緾N201310632756
【發(fā)明人】周廣證
【申請人】華為技術(shù)有限公司
【公開日】2015年6月3日
【申請日】2013年11月29日