Hong's Blog

View on GitHub

上一頁

IEEE 802.3ad 鏈路聚合與LACP的簡單知識&EtherChannel 總結

IEEE 802.3ad 鏈路聚合與LACP的簡單知識
內容提要:本文主要介紹了鏈路聚合的概念以及鏈路聚合與EtherChannel(以太通道)的區別。

說明:

IEEE 802.3ad 是執行鏈路聚合的標準方法。

從概念上講,將多個以太網適配器聚集到單獨的虛擬適配器方面與“以太通道(EtherChannel)”的功能相同,能提供更高的帶寬防止發生故障。例如, ent0 和 ent1 可以聚集到稱作 ent3 的 IEEE 802.3ad 鏈路聚合;然後用 IP 地址配置接口 en3。系統將這些聚集的適配器作為一個適配器來考慮。因此,可以像在任何以太網適配器上一樣配置它們的 IP。

如“以太通道”一樣,IEEE 802.3ad 也需要交換機的支持。然而與“以太通道” 不同的是,該交換機不需要手工配置來了解哪些端口屬於同一個聚合。
使用 IEEE 802.3ad“鏈路聚合”而不是“以太通道”的優勢在於它在交換機中自動創建鏈路聚合,而且它允許您使用支持 IEEE 802.3ad 標準但不支持“以太通道”的交換機。

在 IEEE 802.3ad 中,“鏈路聚合控制協議”(LACP)自動通知交換機應該聚集哪些端口。IEEE 802.3ad 聚合配置之後,鏈路聚合控制協議數據單元(LACPDU)就會在服務器和交換機之間進行交換。LACP 會通知交換機在聚合中配置的適配器應作為交換機上的一個適配器來考慮,而不再有用戶幹涉。

雖然 IEEE 802.3ad 的規範不允許用戶選擇要聚集的適配器,但 AIX 的實現允許用戶選擇適配器。根據協議的規則,LACP 完全自身決定哪些適配器應該聚集到一起(通過使用類似的鏈路速度和雙重設置來制作所有適配器的鏈路聚合)。這樣就阻止您決定哪些適配器應該單機使用,哪些適配器應該聚集在一起。不過AIX 實現對如何使用適配器的控制,並且它永遠不會任意地創建鏈路。這一點對於管理適配器十分重要。

要能夠聚集適配器(也就是交換機將允許它們屬於同一個聚合),它們的線路速度必須相同(例如,全都為 100 Mbps 或 1 Gbps),而且必須都是全雙工的。如果試圖將線路速度不同或不同全雙工方式的適配器聚集在一起,您能在 AIX 上成功地創建聚合,但是交換機可能不會將這些適配器聚集在一起。如果交換機不將適配器成功地聚集在一起,您可能會發現網絡性能有所下降。

根據 IEEE 802.3ad 的規範,前往相同 IP 地址的數據包都會通過相同的適配器進行發送。因此,當在 8023ad 方式下操作時,信息包會始終按照標準(Standard)的方式進行分發,而不會按照論詢(Round-Robin)方式進行分發。
備份適配器功能對於 IEEE 802.3ad“鏈路聚合”是可用的,這就像對於“以太通道”一樣。備份適配器無需連接到啟用了 IEEE 802.3ad 的交換機上,但如果已經連接上了,備份適配器仍然會遵守 IEEE 802.3ad LACP。
如果交換機支持“以太通道”而不支持 IEEE 802.3ad,您也可以配置“IEEE 802.3ad 鏈路聚合”。那種情況下,您必須手工將端口配置為交換機上的“以太通道”(就如已經創建了常規“以太通道”一樣)。將方式設置為 8023ad 以後,該聚合就會與啟用了“以太通道”以及啟用了 IEEE 802.3ad 的交換機一起工作。
註:
啟用 IEEE 802.3ad 的步驟根據交換機的不同而有所變化。您應該查閱交換機文檔,確定為了啟用交換機中的 LACP 必須執行那些起始步驟(如果有的話)。
註意事項
在配置 IEEE 802.3ad“鏈路聚合”之前,請考慮以下內容:

  1. IEEE 802.3ad 方式下的 AIX 實現了不受官方支持的允許“鏈路聚合”包含不同線路速度的適配器,您應只聚集設置為相同線路速度並且設置為全雙工的適配器。這樣會有助於避免在交換機上配置“鏈路聚合”的潛在問題。有關您的交換機允許何種類型的聚合的更多信息,請參閱交換機文檔。
  2. 如果要在 帶有 5200-01 的 AIX 5.2 及先前版本上的鏈路聚合中使用 10/100 以太網適配器,則在將它們添加到聚合之前需要在那些適配器上啟用鏈路輪詢。請在命令行中輸入 smitty chgenet。將Enable Link Polling 值更改為yes,然後按下 Enter 鍵。請為每一個要添加到“鏈路聚合”中的 10/100 以太網適配器執行這一操作。
    鏈路聚合是指將交換機之間或者交換機與其它設備之間的多條線路合並成一條線路。既增加帶寬,也增加了可靠性。
    鏈路聚合是交換機上支持的一種技術,它把兩個交換機之間兩條以上同時相連的鏈路虛擬成為一條鏈路來傳輸信息。
    鏈路聚合技術亦稱主幹技術(Trunking)或捆綁技術(Bonding),其實質是將兩臺設備間的數條物理鏈路“組合”成邏輯上的一條數據通路,稱為一條聚合鏈路,如下圖示意。交換機之間物理鏈路Link 1、Link2和Link3組成一條聚合鏈路。該鏈路在邏輯上是一個整體,內部的組成和傳輸數據的細節對上層服務是透明的。

合內部的物理鏈路共同完成數據收發任務並相互備份。只要還存在能正常工作的成員,整個傳輸鏈路就不會失效。仍以上圖的鏈路聚合為例,如果Link1和Link2先後故障,它們的數據任務會迅速轉移到Link3上,因而兩臺交換機間的連接不會中斷。

鏈路聚合的優點
從上面可以看出,鏈路聚合具有如下一些顯著的優點:
1、提高鏈路可用性
鏈路聚合中,成員互相動態備份。當某一鏈路中斷時,其它成員能夠迅速接替其工作。與生成樹協議不同,鏈路聚合啟用備份的過程對聚合之外是不可見的,而且啟用備份過程只在聚合鏈路內,與其它鏈路無關,切換可在數毫秒內完成。
2、增加鏈路容量
聚合技術的另一個明顯的優點是為用戶提供一種經濟的提高鏈路傳輸率的方法。通過捆綁多條物理鏈路,用戶不必升級現有設備就能獲得更大帶寬的數據鏈路,其容量等於各物理鏈路容量之和。聚合模塊按照一定算法將業務流量分配給不同的成員,實現鏈路級的負載分擔功能。
某些情況下,鏈路聚合甚至是提高鏈路容量的唯一方法。例如當市場上的設備都不能提供高於10G的鏈路時,用戶可以將兩條10G鏈路聚合,獲得帶寬大於10G的傳輸線路。
3、價格便宜,性能接近千兆以太網。
4、不需重新布線,也無須考慮千兆網令人頭疼的傳輸距離極限。
5、Trunking可以捆綁任何相關的端口,也可以隨時取消設置,這樣提供了很高的靈活性。
6、Trunking可以提供負載均衡能力以及系統容錯。由於Trunking實時平衡各個交換機端口和服務器接口的流量,一旦某個端口出現故障,它會自動把故障端口從Trunking組中撤消,進而重新分配各個Trunking端口的流量,從而實現系統容錯。
此外,特定組網環境下需要限制傳輸線路的容量,既不能太低影響傳輸速度,也不能太高超過網絡的處理能力。但現有技術都只支持鏈路帶寬以10為數量級增長,如10M、100M、1000M等。而通過聚合將n條物理鏈路捆綁起來,就能得到更適宜的、n倍帶寬的鏈路。
目錄
EtherChannel 1
1.協議:LACP. 1
1.1LACP模式:… 1
2.配置EtherChannel的指導原則:… 2

  1. EtherChannel負載均衡… 2
  2. EtherChannel與STP. 2
  3. EtherChannel使用目的… 2
    6.其它… 2

EtherChannel

因PAgP協議是思科私有協議,所以這裏我們選擇更具廣泛性的LACP協議來討論EtherChannel.

1.協議:LACP
LACP 即Link Aggregation Control Protocol,鏈路匯聚控制協議,是一種實現鏈路動態匯聚的協議,使用LACPDU與對端交換信息。
1.1LACP模式:
ON(開啟):強制端口形成EtherChannel,如果希望EtherChannel能正確工作,那麽鏈路的另一側也必須處於ON模式。
OFF(關閉):使端口不能形成EtherChannel。這種模式下端口不會形成EtherChannel。
Passive(被動):使端口進入被動協商狀態,如果能從對端接收到LACP數據包,那麽就形成EtherChannel。這種模式不會主動發起EtherChannel協商。這種模式是默認的模式。
Active(主動):使端口進入主動協商狀態,被配置的端口主動發送LACP數據名以發起能形成EtherChannel的協商。一般推薦使用這種模式。
2.配置EtherChannel的指導原則:
思科交換機最多支持8個端口來形成EtherChannel,這些端口不必是連續分布的,也不必位於相同的模塊中。
一個EtherChannel內所有端口必須使用相同的協議(一般使用LACP協議)。
一個EtherChannel內的所有端口必須具有相同的速度和雙工模式,否則不能形成EtherChannel。
LACP要求端口只能工作在全雙工模式下。
一個EtherChannel中所有端口必須配置到相同的VLAN中,必須具有相同的幹道模式。

3.EtherChannel負載均衡
EtherChannel支持基於2層MAC,3層IP,4層端口號的源/目的的負載均衡,高效地使用現有鏈路,當EtherChannel內有鏈路DOWN掉後,立即采用其它鏈路承擔該鏈路的流量,這在事實上使EtherChannel具有了鏈路熱備份的特性,提高了鏈路的冗余性。

4.EtherChannel與STP
STP將EtherChannel當作單個邏輯端口,這樣EtherChannel中的端口不會因為STP而被阻塞,提高了鏈路的使用效率。

5.EtherChannel使用目的
一般我們使用EtherChannel是為了增加現有鏈路帶寬,這種增加帶寬的方法不需要增加更多的成本,只需要有多余的端口即可。EtherChannel我們一般也說鏈路捆綁。

6.其它
EtherChannel端口可當作2層、3層端口來使用(這取決於物理端口),並且EtherChannel形成的邏輯端口具有幾乎一切物理端口的特性,在配置時可把它們當作物理端口來配置。
LACP的靜態和動態會聚,靜態就是把幾個接口筐起來,不讓它像動態的那樣可以變化組合。
動態的只要波動就會組成新的組,超過了的才是UNSELETE。
一般標誌一個組用4元組組成,但存在單接口的情況,那就要配合端口ID一起標誌一個組。標誌表示它是唯一的
主設備直接決定 那些LINK的接口應該屬於SELETE準發,而從設備的接口優先級別是不起作用的。
LACP協議分為活躍和被動方式 ,被動方式的接口可以減少LACP協議對CPU的消耗。
動態的LACP協議會同步接口的配置,只要1個接口的VLAN配置就會同步給其他接口。
因此影響他們的其實只有雙工方式和速率。
靜態配置的接口會按一定優先順序來選取是否該聚合的接口 不需要手工定義速率
靜態聚合的時候會自動開啟LACP協議

來自 IEEE 802.3ad 鏈路聚合與LACP的簡單知識&EtherChannel 總結