產生背景
隨著網絡規模的擴大,用戶對骨干鏈路的帶寬和可靠性提出了越來越高的要求。
在傳統技術中,常用更換高速率的接口板或者更換高速率接口板的設備的方式來增加帶寬,但這種方案需要付出高額的費用,而且不夠靈活。
采用鏈路聚合技術可以在不進行硬件升級的條件下,通過將多個物理接口捆綁為一個邏輯接口,來達到增加鏈路帶寬的目的。在實現增大帶寬的同時,鏈路聚合采用備份鏈路的機制,可以有效的提高設備之間鏈路的可靠性。
應用場景
在企業網絡中,所有設備的流量再轉發到其他網絡前都會匯聚到核心層,再由核心區設備轉發到其他網絡,或者轉發到外網。
所以,在核心層設備負責數據的高速交換時,容易發生擁塞。在核心層部署鏈路聚合,可以提升整個網絡的數據吞吐量,解決擁塞問題。
如下:兩臺交換機SWA和SWB之間通過兩條成員鏈路相互連接,通過部署鏈路聚合,可以確保SWA和SWB之間的鏈路不會產生擁塞。
鏈路聚合
解釋
1.鏈路聚合就是把兩臺設備之間的多條物理鏈路聚合在一起,當作一條邏輯鏈路來使用。
這兩臺設備可以是一對路由器、一對交換機、或者是一臺路由器和一臺交換機。一條聚合鏈路可以包含多條成員鏈路,(注:在ARG3系列路由器和X7系列交換機上默認最多為8條)
2.鏈路聚合能夠提高鏈路帶寬。理論上,通過聚合幾條鏈路,一個聚合口的帶寬可以擴展為所有成員口帶寬的總和,這樣就有效地增加了邏輯鏈路的帶寬。
3.鏈路聚合為網絡提供了該可靠性。配置了鏈路聚合后,如果一個成員接口發生故障時,該成員接口的物理鏈路會把流量切換到另一條成員鏈路上。
4.鏈路聚合還可以在一個聚合口上實現負載均衡,一個聚合口可以把流量分散的多個不同的成員口上,通過成員鏈路把流量發送到一個目的地,將網絡產生的擁塞的可能性降到最低。
鏈路聚合技術的的基本原理
鏈路聚合模式
鏈路聚合模式包含兩種模式:手工負載均衡模式和靜態LACP(Link Aggreation Control Protocol)模式
手工負載分擔模式
Eth-Trunk的建立、成員接口的加入由手工配置,沒有鏈路聚合控制協議的參與。該模式下所有活動鏈路都參與數據的轉發,平均分擔流量,因此稱為負載分擔模式。如果某條活動鏈路故障,鏈路聚合組自動在剩余的活動鏈路中平均分擔流量。
當需要在兩個直連設備之間提供一個較大的鏈路帶寬而設備不支持LACP協議時,可以采用手工負載分擔模式。
ARG3系列路由器和X7系列交換機可以基于目的MAC地址,源MAC地址,或者基于源MAC地址和目的MAC地址,源IP地址,目的IP地址,或者基于源IP地址和目的IP地址進行負載均衡。
在靜態LACP模式
鏈路兩端的設備相互發送LACP報文,協商聚合參數。協商完成后,兩臺設備確定活動接口和非活動接口。在靜態LACP模式中,需要手動創建一個Eth-Trunk口,并添加成員口。
LACP協商選舉活動接口和非活動接口。靜態模式也叫M:N模式。M代表活動成員鏈路,用于在負載均衡中轉發數據。N代表非活動鏈路,用于冗余備份。
如果一條活動鏈路發生故障,該鏈路傳輸的數據被切換到一條優先級高的備份鏈路上,這條備份鏈路轉變為活動狀態。
兩種鏈路聚合模式的主要區別是:在靜態LACP模式中,一些鏈路充當備份鏈路;在手工負載均衡模式中,所以成員都處于轉發狀態。
數據流控制
1.在一個聚合口中,聚合鏈路兩端的物理接口(即成員口)的所有參數必須一致,包括物理口的數量,傳輸速率,雙工模式和流量控制模式。所有成員可以是二層接口或三層接口。
2.數據流在聚合鏈路上傳輸,數據順序必須保持不變。一個數據六塊可以看作是一組MAC地址和IP地址相同的幀。
eg:兩臺設備的SSH或SFTP連接可以看作一個一個數據流。如果未配置鏈路聚合,只是用一條物理鏈路來傳輸數據,那么一個數據流中的幀總能按正確的順序到達目的地。
配置了鏈路聚合后,多條物理鏈路被綁成一條聚合鏈路,一個數據中的幀通過不同的物理鏈路傳輸。
如果第一個幀通過一條物理鏈路傳輸,第二個幀通過另一條五路鏈路傳輸,這樣一來,同一數據流的第二個數據幀就可能比第一個數據幀先到達對端設備,從而產生接收數據包亂序的情況。
3.為了避免這種情況發生,Etn-Trunk采用逐流負載分擔的機制,這種該機制把數據幀的地址通過HASH算法生成HASH-KEY值。
然后,根據這個數值在Etn-Trunk轉發表中尋找對的出接口,不同的MAC或IP地址,HASH得到的HASH-KEY值不同,從而出接口也就不同,這樣既保證了同一數據流的幀在一條物理鏈路轉發,又實現了流量在聚合組內各物理鏈路上的負載分擔。逐流負載分擔能保證報的順序,但不能保證帶寬利用率。
注:負載分擔的類型主要包括以下幾種,用戶可以根據具體應用選擇不同的負載分擔類型
鏈路聚合的基本配置
二層配置:
注意:
本例中,通過執行interface Eth-trunk 命令配置鏈路聚合。這條命令創建了-個Eth-Trunk口, 并且進入該Eth-Trunk口視圖。trunk_ia用來唯- 標識一個Eth-Trunk, 該參數的取值可以是0到63之間的任何-一個整數。
如果指定的Eth- Trunk口已經存在,執行interface eth-trunk命令 會直接進入該Eth-Trunk口視圖。
配置Eth-Trunk口和成員口,需要注意以下規則:
1. 只能刪除不包含任何成員口的Eth-Trunk口。
2. 把接口加入Eth-Trunk口時,二層Eth-Trunk口的成員 口必須是二層接口,三層Eth-Trunk口的成員口必須是三層接口。
3. 一個Eth-Trunk口最多可以加入8個成員口。
4.加入Eth-Trunk口的接口必須是hybrid接口 (默認的接口類型)。
5.一個Eth-Trunk口不能充當其他Eth-Trunk口的成員口。
6.一個以太接口只能加入一個Eth-Trunk口。如果把一個以太接口加入另一個Eth- Trunk口,必須先把該以太接口從當前所屬的Eth- Trunk口中刪除。
7.一個Eth-TrunkO的成員口類型必須相同。例如,一個快速以太口(FEO) 和一個千兆以太口(GEO)不能加入同一個Eth-Trunk。
8.位于不同接口板(LPU)上的以太口可以加入同一個Eh-Tunk口。如果一個對端接口直接和本端Eth-Trunk口的一個成員口相連,該對端接口也必須加入一個Eth-Trunk口。否則兩端無法通信。
9.如果成員口的速率不同,速率較低的接口可能會擁塞,報文可能會被丟棄。
10.接口加入Eth-Trunk口后, Eth-Trunk口學習MAC地址,成員口不再學習。
查看鏈路聚合信息:
執行(display interface eth-trunk)
如果Etn-trunk口處于UP狀態,表明接口處于Down狀態,表明所有成員接口物理層發生故障。如果管理員手動關閉端口,接口處于Administratively Down狀態。
可以通過接口狀態的改變發現接口故障,所有接口正常情況下都應處于UP狀態。
三層連理聚合配置:
注:
如果要在路由器上配置三層鏈路聚合,需要首先創建Eth-Trunk接口,然后在Etn-Trunk邏輯口上執行undo portswitch命令,把聚合鏈路從二層轉化為三層鏈路,執行undo portswitch命令后,可以為Eth-trunk邏輯口分配一個IP地址
查看鏈路聚合信息:
執行(display interface eth-trunk)
如果Etn-trunk口處于UP狀態,表明接口處于Down狀態,表明所有成員接口物理層發生故障。如果管理員手動關閉端口,接口處于Administratively Down狀態。可以通過接口狀態的改變發現接口故障,所有接口正常情況下都應處于UP狀態。
鏈路聚合協議
1.鏈路聚合協議用于建立和維持鏈路聚合的協商
2.協議只用于動態鏈路聚合,靜態鏈路聚合不需要協議(Pagp是思科私有的鏈路聚合協議)
3.LACP是IEEE 802.3ad標準鏈路聚合協議
LACP適用場景
LACP , 基于IEEE802.3ad標準的LACP(Link Aggregation Control Protocol,鏈路匯聚控制協議)是一種實現連理聚合動態匯聚的協議。
1,在帶寬比肩緊張的情況下,可以使用邏輯聚合可以擴展帶寬到原鏈路的n倍
2.在需要對鏈路進行動態備份的情況下,可以通過配置鏈路聚合實現同一聚合組各個成員端口之間彼此動態備份
LACP,協議通過LACPDU((Link Aggregation Control Protocol Data Unit,鏈路匯聚控制協議數據單元)與對端交互信息
LACP協商模式:
1.動態匯聚端口在啟動LACP協議后,其管理KEY缺省為零。
2.靜態匯聚端口在啟用LACP后,端口的管理key與匯聚組ID相同。
查看鏈路聚合配置:
原文標題:高可用技術——鏈路聚合
文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
網絡
+關注
關注
14文章
7554瀏覽量
88733 -
鏈路聚合
+關注
關注
0文章
10瀏覽量
6741 -
數據流
+關注
關注
0文章
119瀏覽量
14349
原文標題:高可用技術——鏈路聚合
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論