隨着網絡規模不斷擴大,運營商對骨幹鏈路的帶寬和可靠性提出愈來愈高的要求。在傳統技術中,經常使用更換高速率的接口板或更換支持高速率接口板的設備的方式來增長帶寬,但這種方案須要付出高額的費用,並且不夠靈活。採用鏈路聚合技術能夠在不進行硬件升級的條件下,經過將多個物理接口捆綁爲一個邏輯接口實現增大鏈路帶寬的目的。在實現增大帶寬目的的同時,鏈路聚合採用備份鏈路的機制,能夠有效的提升設備之間鏈路的可靠性。網絡
1、鏈路聚合技術(Eth-Trunk、Ip-Trunk)的概念ide
鏈路聚合是將—組物理接口捆綁在一塊兒做爲一個邏輯接口來增長帶寬及可靠性的方法。例如兩臺路由器經過3個100M以太網接口直連,將這3個以太網接口捆綁,可造成一個300M帶寬的Eth-Trunk邏輯接口,這就是鏈路聚合技術。spa
一、鏈路聚合組
將若干條物理鏈路捆綁在一塊兒所造成的邏輯鏈路稱之爲鏈路聚合組(LAG)或者Trunk。若是這些被捆綁鏈路都是以太網鏈路,該聚合組被稱爲以太網鏈路聚合組,簡寫爲Eth-Trunk,該聚合組接口稱之爲Eth-Trunk接口;若是這些被捆綁鏈路都是POS鏈路,該聚合組被稱爲POS鏈路聚合組,簡寫爲IP-Trunk。該聚合組接口稱之爲IP-Trunk接口。.net
二、成員接口
組成Trunk的各個接口稱之爲成員接口。例如:Eth-Trunk接口能夠做爲普通的以太網接口來使用,它與普通以太網接口的差異只在於:轉發的時候Eth-Trunk須要從衆多成員接口中選擇一個或多個接口來進行轉發。因此,除了一些必須在物理接口下配置的特性,能夠像配置普通以太網接口那樣配置Eth-Trunk邏輯接口。不能把已有的Trunk成員接口再捆綁成爲其它Trunk的成員。接口
三、活動接口和非活動接口
鏈路聚合存在活動接口和非活動接口兩種。轉發數據的接口稱爲活動接口,而不轉發數據的接口稱爲非活動接口。活動接口對應的鏈路稱爲活動鏈路,非活動接口對應的鏈路稱爲非活動鏈路。
在鏈路聚合中爲了提升鏈路的可靠性,引入了備份鏈路的機制。而這些備份鏈路對應的接口一般狀況下擔當了非活動接口的角色,只有當前活動接口出現故障時,備份的接口才能夠由非活動接口轉變爲活動接口。ip
四、活動接口數上限閾值
在Eth-Trunk中,若是配置了活動接口數上限閾值,當活動接口數達到這個值後,再向Eth-Trunk中添加成員接口,不會增長Eth-Trunk活動接口的數目。路由
五、活動接口數下限閾值
設置活動接口數下限閾值主要目的是保證Eth-Trunk鏈路的帶寬。防止因爲活動接口數目過少而使這些鏈路負載過大,出現傳輸數據丟包的狀況。
在Eth-Trunk中,若是配置了活動接口數下限閾值,當活動接口數目低於該值時,Eth-Trunk接口狀態將變爲Down,此時全部Eth-Trunk中的成員接口再也不轉發數據。get
六、鏈路聚合的分類it
鏈路聚合根據是否啓用鏈路聚合控制協議分爲兩種類型:io
1)手工負載分擔模式鏈路聚合
手工負載分擔模式是一種最基本的鏈路聚合方式,在該模式下,Eth-Trunk的創建,成員接口的加入,以及哪些接口做爲活動接口徹底由手工來配置,沒有鏈路聚合控制協議的參與。該模式下全部活動接口都參與數據的轉發,分擔負載流量,所以稱爲負載分擔模式。
手工負載分擔模式下全部的成員接口能夠平均分擔數據流量,也能夠配置成員接口的權重,使部分接口分擔更多的流量,實現非平均的流量分擔。
若是活動鏈路中出現故障鏈路,鏈路聚合組自動在剩餘的活動鏈路中平均分擔或按權重分擔數據流量。
2)LACP協議鏈路聚合
LACP(Link Aggregation Control Protocol)協議鏈路聚合包含兩種類型:
靜態LACP模式鏈路聚合
靜態LACP模式下,Eth-Trunk的創建,成員接口的加入,都是由手工配置完成的。但與手工負載分擔模式鏈路聚合不一樣的是,該模式下LACP協議報文參與活動接口的選擇。也就是說,當把一組接口加入Eth-Trunk後,這些成員接口中哪些接口做爲活動接口,哪些接口做爲非活動接口還須要通過LACP協議報文的協商肯定。
動態LACP模式鏈路聚合
動態LACP模式下,Eth-Trunk的創建,成員接口的加入,活動接口的選擇徹底由LACP協議經過協商完成。這就意味着啓用了動態LACP協議的兩臺直連設備上,不須要建立Eth-Trunk,也不須要指定哪些接口做爲聚合組成員接口,兩臺設備會經過LACP協商自動完成鏈路的聚合操做。
八、Trunk接口的約束條件
把多條物理鏈路在邏輯上等同於一條邏輯鏈路,而又對上層數據傳輸透明,必須遵循必定的規則,主要有下列幾條。
1)物理接口的物理參數必須一致
Eth-Trunk鏈路兩端相連的物理接口數量必須一致
Eth-Trunk鏈路兩端相連的物理接口的速率必須一致
Eth-Trunk鏈路兩端相連的物理接口的雙工方式必須一致
Eth-Trunk鏈路兩端相連的物理接口的流控方式必須一致
2)必須保證數據的有序性
數據流就是具備相同源MAC地址、目的MAC地址、源網絡層地址、目的網絡層地址以及相同的四層源和目的端口號的一組數據包。例如,兩臺設備之間的Telnet或FTP鏈接就是一個數據流。
若是要求屬於同一個數據流的二層數據幀必須按照順序到達,在沒使用Eth-Trunk接口時是能夠保證的,由於兩臺設備之間只有一條物理鏈接。但若是把多條物理鏈路聚合起來而不採起必定的措施,這個要求就不能被保證了。由於兩臺設備之間有多條物理鏈路,若是第一個數據幀在第一條鏈路上傳播,第二個數據幀在第二條鏈路上傳播,這樣就可能第二個數據幀比第一個數據幀先到達對端設備。
爲了不這種數據包亂序的狀況發生,在實現Eth-Trunk的時候引入了一種數據包轉發機制,確保屬於同一個數據流的數據幀按照發送的前後順序到達目的地。這種機制根據MAC地址或IP地址來區分數據流,將屬於同一數據流的數據幀經過同一條物理鏈路發送到目的地。
2、鏈路聚合技術(Eth-Trunk、Ip-Trunk)配置方法
如下用華爲的路由器爲例子,介紹Eth-Trunk、Ip-Trunk的配置方法。
一、Eth-Trunk配置實例
1)建立Eth-Trunk接口,並配置ip地址
interface eth-trunk 1
ip address 192.168.1.1 255.255.255.0
interface eth-trunk 2
ip address 10.10.0.1 255.255.255.0
2)把以太網口劃分到對應的Eth-Trunk裏
interface gigabitethernet 1/0/0
eth-trunk 1
interface gigabitethernet 1/0/1
eth-trunk 2
interface gigabitethernet 2/0/0
eth-trunk 1
interface gigabitethernet 2/0/1
eth-trunk 2
二、Ip-Trunk配置實例
1)建立Ip-Trunk接口,並配置ip地址
interface Ip-Trunk1
ip address 192.168.0.1 255.255.255.252
interface Ip-Trunk2
ip address 10.10.10.1 255.255.255.252
2)把Pos接口劃分到對應的Ip-Trunk裏
interface Pos5/0/0
link-protocol hdlc
ip-trunk 1
interface Pos5/0/1
link-protocol hdlc
ip-trunk 2
interface Pos6/0/0
link-protocol hdlc
ip-trunk 1
interface Pos6/0/1
link-protocol hdlc
ip-trunk 1
interface Pos6/0/2
link-protocol hdlc
ip-trunk 2
interface Pos6/0/3
link-protocol hdlc
ip-trunk 2