天天看點

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

Eth-Trunk技術原理與配置

 随着網絡當中,部署的業務量不斷地增長,我們會發現裝置原先的鍊路帶寬可能會滿足我們的需求,但是随着時間的推移,業務量的增加,原本的鍊路帶寬已經不能滿足我們的需求了,如果将目前接口闆替換為具備更高帶寬的接口闆,則會浪費現有的裝置資源,而且更新代價較大。如果增加裝置間的鍊路數量,則在作為三層口使用時需要在每個接口上配置IP位址,進而導緻浪費IP位址資源。如果是二層接口的話,會通過生成樹協定,導緻增加的接口處于空閑的狀态

Eth-Trunk( 鍊路聚合技術 )作為一種捆綁技術,可以把多個獨立的實體接口綁定在一起作為一個大帶寬的邏輯接口使用,這樣既不用替換接口闆也不會浪費IP位址資源。本次部落格會來介紹Eth-Trunk技術。

 組網中經常會遇到的問題

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 對于彙聚層和核心層來說,他們會接收來自接入層的大量的終端的使用者流量資料,然後通過鍊路把資料轉到目的位址去,是以對于這些層次的鍊路來說,它轉發的流量是非常大的,那我們怎麼來增加接口的帶寬,包括避免接口的單點故障的問題,如果将目前接口闆替換為具備更高帶寬的接口闆,則會浪費現有的裝置資源,而且更新代價較大。如果增加裝置間的鍊路數量,則在作為三層口使用時需要在每個接口上配置IP位址,進而導緻浪費IP位址資源;如果是二層鍊路的話,增加鍊路有可能會形成環路;單條鍊路的組網中沒有備援的設計,如果接入層裝置上聯的鍊路故障時,影響接入裝置下聯的整個區域的裝置正常通信。

此時,可以把多個獨立的實體接口綁定在一起作為一個大帶寬的邏輯接口使用,即鍊路聚合技術,既不用替換接口闆也不會浪費IP位址資源。Eth-Trunk是一種捆綁技術,将多個實體接口捆綁成一個邏輯接口,這個邏輯接口就稱為Eth-Trunk接口。對于Eth-Trunk接口,隻有以太網接口才可以加入。

Eth-Trunk概念

Eth-Trunk是一種将多個以太網接口捆綁成一個邏輯接口的捆綁技術。

如下圖所示,RTA和RTB之間的3條實體接口,通過鍊路聚合捆綁成了一條邏輯上的鍊路eth-trunk,形成一個大帶寬的鍊路來進行使用,對于使用者層面來說,這個邏輯接口是隻有一個接口來展現的。在沒有做鍊路聚合之前,對于三層接口來說,RTA上的三條鍊路對應的三個接口都需要配置ip位址,兩台裝置,所需要的ip位址就是6個,做了鍊路聚合之後,隻需要給聚合後的一個接口配置ip位址即可,大大減少了ip位址的使用;如果這兩台裝置是二層裝置的話,在沒有做鍊路聚合之前,通過生成樹,裝置上的三個接口至少要阻塞兩個端口,才能不會産生環路,那麼做了鍊路聚合之後,就是一個邏輯上的接口,生成樹協定不會去阻塞端口,這樣就可以實作大帶寬的使用,還不會造成環路。

 資料在轉發的時候,還是在實體鍊路上去進行傳輸的,在三條實體鍊路上進行負載分擔,如果其中的一條鍊路壞了,也不影響資料的傳輸,提高了鍊路的可靠性。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

Eth-Trunk鍊路聚合模式:手工負載分擔模式;LACP模式。 

手工負載分擔模式

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

當兩台裝置中至少有一台不支援LACP協定時,可使用手工負載分擔模式的Eth-Trunk來增加裝置間的帶寬及可靠性。

在手工負載分擔模式下,加入Eth-Trunk的鍊路都進行資料的轉發。

 需要注意的是,在進行鍊路聚合的時候,這個鍊路的接口隻能是以太網口,不能是串行鍊路的序列槽。

以上是第一種模式:手工負載分擔

 接着來看一下LACP模式

LACP模式

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 在LACP模式,裝置和裝置之間會互動LACP封包,來協商一些東西。

LACP模式也稱為M:N模式,其中M條鍊路處于活動狀态轉發資料,N條鍊路處于非活動狀态作為備份鍊路。

圖中設定的活躍鍊路數為2,即2條鍊路處于轉發狀态,1條鍊路處于備份狀态,不轉發資料,隻有當活躍的鍊路出現故障時,備份鍊路才進行轉發。

假如現在鍊路上有三條實體鍊路,現在想讓兩條鍊路處于轉發狀态,一條鍊路處于備份狀态,那麼對于兩條處于轉發狀态的鍊路是怎麼被選出來的呢? 這裡面就涉及到了選舉的過程。

LACP模式活動鍊路的選取

如圖所示,裝置之間相連的鍊路數為3條,設定的最大活躍鍊路數為2,即2條鍊路處于轉發狀态,1條鍊路處于備份狀态。在LACP模式的Eth-Trunk中加入成員接口後,這些接口将向對端通告自己的系統優先級、MAC位址、接口優先級、接口号等資訊。對端接收到這些資訊後,将這些資訊與自身接口所儲存的資訊比較以選擇能夠聚合的接口,雙方對哪些接口能夠成為活動接口達成一緻,确定活動鍊路。

在兩端裝置中選擇系統LACP優先級較高的一端作為主動端,如果系統LACP優先級相同則選擇MAC位址較小的一端作為主動端。系統LACP優先級的值越小,則優先級越高,預設情況下,系統LACP優先級的值為32768。

接口LACP優先級的值越小,則優先級越高。如果接口LACP優先級相同,接口ID(接口号)小的接口被優先選為活動接口。接口LACP優先級是為了差別同一個Eth-Trunk中的不同接口被選為活動接口的優先程度,優先級高的接口将優先被選為活動接口。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

LACP模式的搶占機制 

 當活動鍊路出現故障的時候,備份鍊路會頂替活動鍊路進行工作,當故障的活動鍊路恢複了正常之後,如果開啟了搶占機制,原來的活動鍊路會搶占備份鍊路的身份成為活動鍊路,而原來的備份鍊路繼續充當備份的角色,這個就是搶占機制。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 LACP搶占延時設定:

LACP搶占發生時,處于備用狀态的鍊路将會等待一段時間後再切換到轉發狀态,這就是搶占延時。配置搶占延時是為了避免由于某些鍊路狀态頻繁變化而導緻Eth-Trunk資料傳輸不穩定的情況。如圖所示,Port1由于鍊路故障切換為非活動接口,此後該鍊路又恢複了正常。若系統使能了LACP搶占并配置了搶占延時,Port1重新切換回活動狀态就需要經過搶占延時的時間。

如果延時的時間是0的話,說是立馬搶占,也就是說故障的高優先級的活動鍊路在被修複之後,不會等待一段時間,會立刻馬上進行搶占,把目前的活動鍊路的身份搶過來,讓自己成為活動鍊路。

開啟搶占功能的場景:

Port1接口出現故障而後又恢複正常。當接口Port1出現故障時被Port3所取代,如果在Eth-Trunk接口下未使能搶占,則故障恢複時Port1将處于備份狀态;如果使能了LACP搶占,當Port1故障恢複時,由于接口優先級比Port3高,将重新成為活動接口,Port3再次成為備份接口。 如果希望Port3接口替換Port1、Port2中的一個接口成為活動接口,可以将Port3的接口LACP優先級調高,但前提條件是已經使能了LACP搶占功能。如果沒有使能LACP搶占功能,即使将備份接口的優先級調整為高于目前活動接口的優先級,系統也不會進行重新選擇活動接口的過程,也不切換活動接口。

 Eth-Trunk接口負載分擔

 Eth-Trunk接口進行負載分擔時,可以選擇IP位址或者包作為負載分擔的散列依據;同時還可以設定成員接口的負載分擔權重。Eth-Trunk接口中,某成員接口的權重值占所有成員接口負載分擔權重之和的比例越大,該成員接口承擔的負載就越大。

Eth-Trunk接口的負載分擔分為兩種,如下圖所示:

接口負載分擔 特點
逐流負載分擔 當封包的源IP位址、目的IP位址都相同或者封包的源MAC位址、目的MAC位址都相同時,這些封包從同一條成員鍊路上通過。
逐包負載分擔 以封包為機關分别從不同的成員鍊路上發送。

 假如現在要給張三發送一個檔案,可能這個檔案會被分成100個包發送過去,如果是逐流負載分擔的話,如果這100個包書是屬于同一個資料流的話,那麼這一百個包全部走一個鍊路,怎麼判斷是不是屬于同一個資料流,當封包的源IP位址、目的IP位址都相同或者封包的源MAC位址、目的MAC位址都相同時,這些封包從同一條成員鍊路上通過,即使這個資料流裡有100個包,如果屬于同一個資料流的;逐流負載分擔的優點:保證封包是順序發送出去,然後按順序到達的;缺點:帶寬的使用率是不能保證的。因為現在這一百個包全都走了同一個鍊路,那麼剩下的一個鍊路就被閑置了。

逐包負載分擔是以包為機關的,一個資料流可能有100個包,這一百個包各走各的,在所有的鍊路上都會走,優點就是實作負載分擔,保證帶寬的使用率,缺點是保證不了封包的順序。有可能1、3、5的資料包走第一根鍊路,早就到了,2、4、6的資料包走第二根鍊路,但是第二根鍊路有一定的延遲,是以對于逐包負載分擔有可能會亂序。可以通過指令行去選擇是用逐流負載分擔還是逐包負載分擔。

Eth-Trunk接口配置流程

如下圖所示是配置eth-trunk接口的流程,不管是哪種模式都需要配置的,首先建立eth-trunk,然後選擇鍊路聚合模式是手工負載分擔還是LACP模式,如果是手工負載分擔就不用配置,預設就是手工負載分擔模式,然後将實體接口加入到eth-trunk這個邏輯接口裡面。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

将成員接口加入Eth-Trunk時,需要注意以下問題:

成員接口不能有IP位址等三層配置項,也不可以配置任何業務;

成員接口不能配置靜态MAC位址;

Eth-Trunk接口不能嵌套,即成員接口不能是Eth-Trunk;

一個以太網接口隻能加入到一個Eth-Trunk接口,如果需要加入其他Eth-Trunk接口,必須先退出原來的Eth-Trunk接口;

如果本地裝置使用了Eth-Trunk,與成員接口直連的對端接口也必須捆綁為Eth-Trunk接口,兩端才能正常通信;

Eth-Trunk有兩種工作模式:二層工作模式和三層工作模式。Eth-Trunk的工作模式不影響成員鍊路的加入,例如,以太網接口既可以加入二層模式的Eth-Trunk,也可以加入三層模式的Eth-Trunk。

配置手工負載分擔模式 

如下圖所示,把RTA和RTB之間的3條實體鍊路加入到eth-trunk接口裡面,

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

配置手工負載分擔模式的步驟:

建立Eth-Trunk;

配置Eth-Trunk的工作模式;

Eth-Trunk中加入成員接口。

建立手工負載分擔模式Eth-Trunk:

1.執行指令system-view,進入系統視圖。

2.執行指令interface Eth-Trunk trunk-id,建立Eth-Trunk接口并進入Eth-Trunk接口視圖。

3.(可選)執行指令portswitch,将Eth-Trunk接口切換為二層模式。

配置Eth-Trunk的工作模式:

1.執行指令mode manual load-balance,配置目前Eth-Trunk工作模式為手工負載分擔模式。

        預設情況下,Eth-Trunk的工作模式為手工負載分擔模式。

2.Eth-Trunk中加入成員接口:

在Eth-Trunk接口視圖下:

執行interface eth-trunk trunk-id指令,進入Eth-Trunk接口視圖。

執行以下任一個步驟,添加 Eth-Trunk成員接口。

執行 trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-16>指令,批量增加成員接口。

執行 trunkport interface-type interface-number指令,增加一個成員接口。

在成員接口視圖下:

執行 interface { ethernet | gigabitethernet } interface-number指令,進入要捆綁到此Eth-Trunk的成員接口的接口視圖。

執行 eth-trunk trunk-id指令,将目前接口加入Eth-Trunk。

配置LACP模式

在配置LACP模式的時候,中間是有LACP的協商的,是以在這個模式裡面是有一些 可選參數來進行配置的。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

配置 LACP模式 的步驟: 建立Eth-Trunk; 配置Eth-Trunk的工作模式; Eth-Trunk中加入成員接口; (可選)配置系統LACP優先級; (可選)配置活動接口數上限門檻值; (可選)配置接口LACP優先級; (可選)使能LACP搶占并配置搶占延時時間。

 對于可選參數,如果沒有配置的話,都會有預設的。

建立 LACP 模式 Eth-Trunk : 執行 system-view 指令,進入系統視圖。 執行 interface eth-trunk trunk-id 指令,建立 Eth-Trunk 。 (可選)執行指令 portswitch ,将 Eth-Trunk 接口切換為二層模式。 配置 Eth-Trunk 的工作模式: 執行指令 interface eth-trunk trunk-id ,進入 Eth-Trunk 接口視圖。 執行指令 mode lacp-static,配置Eth-Trunk的工作模式為LACP模式。 Eth-Trunk 中加入成員接口: 在 Eth-Trunk 接口視圖下: 執行 interface eth-trunk trunk-id 指令,進入 Eth-Trunk 接口視圖。 執行以下任一個步驟,添加 Eth-Trunk 成員接口。 執行 trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-16> 指令,批量增加成員接口。

在成員接口視圖下:

執行interface { ethernet | gigabitethernet } interface-number指令,進入要捆綁到此Eth-Trunk的成員接口的接口視圖。

執行eth-trunk trunk-id指令,将目前接口加入Eth-Trunk。

(可選)配置系統LACP優先級:執行指令lacp priority priority,配置目前路由器的系統LACP優先級。

(可選)配置活動接口數上限門檻值:執行指令interface eth-trunk trunk-id,進入Eth-Trunk接口視圖。

執行指令max active-linknumber link-number,配置活動接口數上限門檻值。

(可選)配置接口LACP優先級:

執行指令interface interface-type interface-number,進入接口視圖。

執行指令lacp priority priority,配置目前接口的LACP優先級。

(可選)使能LACP搶占并配置搶占等待時間:

執行指令interface eth-trunk trunk-id,進入Eth-Trunk接口視圖。

執行指令lacp preempt enable,使能目前Eth-Trunk接口的LACP搶占功能。

執行指令lacp preempt delay delay-time,配置目前Eth-Trunk接口的LACP搶占等待時間。

 執行trunkport interface-type interface-number指令,增加一個成員接口。

Eth-trunk配置需求 

如下圖所示是一個園區的組網拓撲,為了提高網絡的可靠性,需要在各層裝置之間采用鍊路聚合技術。其中核心層的裝置需要配置IP位址,作為内網的網關;彙聚層與接入層的裝置通過二層實作通信。

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

以核心層R1路由器為例說明配置;

1.建立Eth-Trunk接口并配置位址:

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

将實體接口添加入Eth-Trunk中:

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 以彙聚層LSW1交換機為例說明配置,建立Eth-Trunk接口,因為彙聚層裝置使用二層互聯,是以無需配置位址,将實體接口添加入Eth-Trunk中 。

 如下圖所示:

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 以彙聚層LSW3交換機為例說明配置,建立Eth-Trunk接口,因為彙聚層裝置使用二層互聯,是以無需配置位址,将實體接口添加入Eth-Trunk中 。 

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記
華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

以核心層R2為例,配置LACP模式的鍊路聚合

如下圖所示,修改模式為LACP,先配置模式再加入接口

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記
華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

接着R2和LSW2上的鍊路上使用抓包工具抓包,可以看到關于LACP的封包

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 接着我們在R2上去修改它的lacp系統優先級,修改為4096,如下圖所示

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 查詢結果

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

把搶占功能打開

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

和R2使用共同鍊路的LSW2也需要把搶占功能打開

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

結果驗證,在鍊路上抓包,看到了優先級不再是之前的32768,而是已經修改過的4096

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 還可以修改接口的lacp優先級,如下圖所示

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

 結果驗證

華為路由與交換 ---鍊路聚合(eth-trunk)複習筆記

over!!!!