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