王 娟
(山東省水文局,濟南 250002)
所謂鏈路聚合,就是在以太網(wǎng)交換機上把幾個物理端口邏輯上聚合起來,當作一個邏輯端口(也可以說是一條邏輯鏈路)使用。這樣有幾個端口被聚合,則聚合后的邏輯鏈路速率就是聚合前每端口速率的幾倍。假設聚合端口中的一個或幾個端口失效了,則剩余的端口可以繼續(xù)承擔數(shù)據(jù)轉(zhuǎn)發(fā)任務。采用鏈路聚合的目的有兩個,一個是提高傳輸速率,另外一個就是提高容錯性。
要把多條物理鏈路在邏輯上等同于一條邏輯鏈路,而又對上層數(shù)據(jù)傳輸透明,必須遵循一定的規(guī)則:
1.2.1 聚合鏈路兩端的物理參數(shù)和邏輯參數(shù)必須一致
鏈路聚合的目的就是提高兩臺交換機之間的傳輸帶寬和容錯性,必然要求在兩臺交換機上分別進行配置。進行聚合的鏈路的數(shù)目、速率、雙工方式、端口類型、流控都要一致。
1.2.2 必須保證數(shù)據(jù)的有序性
具有相同源MAC地址,相同目的MAC地址,相同源網(wǎng)絡層地址,相同目的網(wǎng)絡層地址,以及相同的四層源和目的端口號的一組數(shù)據(jù)包稱為數(shù)據(jù)流。有些情況下,屬于同一個數(shù)據(jù)流的二層數(shù)據(jù)幀必須按照順序到達。這個要求在普通情況下是可以保證的,因為兩臺交換機之間只有一條物理連接。但如果把多條鏈路聚合起來而不采取一定的措施的話,這個要求就不能被保證了,因為兩臺交換機之間有多條鏈路,可能第一個數(shù)據(jù)幀在第一條鏈路上傳播,第二個數(shù)據(jù)幀在第二條鏈路上傳播,這樣就可能第二個數(shù)據(jù)幀先到達另外的交換機,因而先于第一個數(shù)據(jù)幀到達目的地。為了避免這種情況,我們在實現(xiàn)鏈路聚合的時候必須考慮這種情況,引入一種數(shù)據(jù)包轉(zhuǎn)發(fā)機制,使得屬于同一個數(shù)據(jù)流的數(shù)據(jù)幀按照順序到達。
鏈路聚合是在MAC子層和物理層之間的一個小的層次歸結為數(shù)據(jù)鏈路層。鏈路聚合作為一個功能模塊實現(xiàn),它提供給MAC子層一個跟物理層一樣的調(diào)用接口,這樣在MAC子層看來,聚合鏈路就是一個物理接口。因此,MAC子層在進行數(shù)據(jù)轉(zhuǎn)發(fā)的時候,僅僅需要把要轉(zhuǎn)發(fā)的數(shù)據(jù)通過鏈路聚合提供的功能接口提交給鏈路聚合功能模塊即可。在鏈路聚合模塊內(nèi)部,維護一張表,我們稱為鏈路聚合表,這張表由兩項組成:一個KEY值和一個端口號。該表表項的多少跟聚合的端口數(shù)目相同,假設我們把四個端口進行了聚合,則該表就有四項。每當鏈路聚合模塊從MAC層接收到一個數(shù)據(jù)幀的時候,就根據(jù)配置的結果,把數(shù)據(jù)幀的源MAC地址或目的MAC地址,或兩者,提取出來,然后根據(jù)內(nèi)部的一個HASH算法進行計算,計算的結果就是一個KEY值,然后該模塊根據(jù)該KEY值查找鏈路聚合表,找到對應的一個端口號,就把數(shù)據(jù)幀從該端口發(fā)送出去。
以MA5600和S3328來說明一下鏈路聚合的配置,MA5600是ip內(nèi)核的DSLAM設備,所帶用戶量大,可單框滿配896個DSL用戶,對上聯(lián)帶寬要求較高,通過端口聚合能有效提高MA5600上聯(lián)帶寬。S3328為華為寬帶交換機,提供24個百兆FE口,4個千兆口。
假設MA5600的E4GFA 板4、5口上聯(lián)到S3328的7、8口,實現(xiàn)MA5600的雙百兆上聯(lián)。
在MA5600上實施鏈路聚合的時候,首先把將要聚合的端口強制為百兆全雙工狀態(tài),在配置模式下執(zhí)行下列命令:
完成這些配置后,下一步要在對端設備S3328上進行相應的設置。
在S3328上實施鏈路聚合的時候,首先創(chuàng)建端口聚合組,其次更改端口狀態(tài)要與對端一致,把端口加入到聚合組,端口聚合完成后,原先在端口下配置的業(yè)務要在聚合端口組下配置。
在配置模式下執(zhí)行下列命令:
完成以上數(shù)據(jù)配置后,鏈路聚合就可以正常工作,進行了響應的業(yè)務測試及驗證。
掌握了鏈路聚合原理,鏈路聚合需要在物理參數(shù)和路局參數(shù)一致、數(shù)據(jù)保持有序性下實現(xiàn),用實際的案例進行了鏈路聚合的應用,掌握了華為MA5600、S3328鏈路聚合的具體配置方法。