很明顯,使用單鏈路連接有以下缺陷:
存在頻寬瓶頸,設備A、B之間的總頻寬等於這條單鏈路的頻寬。
連結沒有冗餘備份,這條連結一旦出現問題,設備A、B之間可能會出現通訊中斷。
即使單鏈路有著明顯的缺陷,但在那個對網路要求不高的年代,依然可以滿足大眾需求。
隨著網路規模的發展,單鏈路已經無法滿足網路對頻寬和可靠性的要求,人們想到了將多條鏈路像「箭」一樣進行「捆綁」。由此,鏈路聚合技術應運而生。
鏈路聚合十箭難折
鏈路聚合通過將兩個設備之間的多條鏈路進行“捆綁”,形成一個聚合組,聚合組內的多條鏈路此時可以被看作一條邏輯鏈路。
此時,這兩個設備間的流量就可以分擔在聚合組內的各條鏈路上。
圖片
圖片
那麼,鏈路聚合可以為網路帶來哪些好處呢?
增加了網路頻寬
將A、B之間多條鏈路捆綁成為一條邏輯鏈路,捆綁後的頻寬是所有鏈路的頻寬總和。
舉個例子,A、B之間有3條鏈路做鏈路聚合,每條鏈路頻寬為10 Gbps,則此聚合組的頻寬最大就可以達到30 Gpbs。
提高了網路連線的可靠性
假如A、B間有一條連結故障而中斷,流量會自動在剩下連結間重新分配,不會造成A、B之間的流量中斷。
實現流量的負載平衡
鏈路聚合可以把A、B之間的流量平均分到所有成員鏈路中去,最大限度地降低了每個成員鏈路產生流量阻塞鏈路的風險。
避免產生二層環路
當A、B之間鏈路採用鏈路聚合時,這些鏈路不再是單一鏈路獨立工作,對外成為一條邏輯鏈路。因此,不使用STP(Spanning Tree Protocol,生成樹協定)也不會產生環路,有效避免了A、B之間產生二層環路的風險。
基於上述諸多優點,鏈路聚合在IP網路中得到了非常廣泛的應用。
MC-LAG更可靠的“捆綁”
進入行動互聯時代,網路與我們的日常生活越發密切,在我們享受網路便利的同時,也為網路帶來了大量資料的互動處理,對網路的頻寬和可靠性提出了更高要求。
而傳統的連結聚合技術僅限於一對一的兩台設備之間,無法實現一對多台設備之間的連結聚合。
於是,為了提供更可靠的網絡,MC-LAG(Multi-Chassis Link Aggregation Group,跨裝置鏈路聚合組)產生了。
當一台接取設備(可以是伺服器或交換器)與上層兩台網路設備A和B對接時,可採用MC-LAG技術組成跨裝置鏈路聚合組。
MC-LAG的基本想法是讓兩台網路設備A、B以同一狀態與接取設備進行鏈路聚合,在接取設備看來,就如同與同一台網路設備建立了鏈路聚合關係。這樣就將鏈路聚合技術從一對一的設備對接,擴展到了可以同時連接到對端兩台設備,並組成了一個雙活系統。
下面我們一起看這個雙活系統是如何運作的?
MC-LAG工作過程
在了解MC-LAG工作過程之前,先學習一些MC-LAG技術所涉及的基礎概念。
MC-LAG主/備設備:和堆疊一樣,MC-LAG也會選取主/備設備。但正常情況下,主備設備同時進行業務流量的轉發,僅在故障場景下,主備設備的行為會有差別。
ICBG同步:ICBG(Inter-Chassis Backup Group,跨機架備份組)用於MC-LAG雙歸設備之間的MAC、ARP表項等資訊同步,在ICBG中可以指定需要進行資訊同步的接口,設備A和B的角色區分為主和備,在正常情況下,主備設備同時進行業務流量的轉送。
Peer-link:兩台MC-LAG設備A、B之間的直連二層鏈路,用於協商封包的交互以及部分流量的傳輸。 Peer-link採用多條鏈路做鏈路聚合。
Keepalive:MC-LAG兩台設備之間的心跳鏈路,承載心跳數據包,主要作用是在主備設備間發送雙主檢測報文,進行雙主檢測,防止設備A、B出現雙主用的情況。
MC-LAG成員介面:兩台網路設備A及B上連接接取設備的介面。兩個MC-LAG成員口的狀態需要進行同步,為增加可靠性,MC-LAG成員口鏈路聚合建議配置為LACP模式。
在了解了MC-LAG基礎概念之後,我們進一步了解MC-LAG的建立過程,包括以下4個步驟。
MC-LAG兩端設備在配置完成後,透過Keepalive連結發送建鏈封包,與對端進行協商,以便與對端建立MC-LAG系統。
兩端先依照MC-LAG優先權進行主備選舉,優先順序高的為主;若MC-LAG優先權相同則比較兩台設備的系統MAC,MAC小的為主。
主、備設備間透過Peer-link連結即時或定時進行資訊同步,同步的資訊包括MAC、ARP、成員介面狀態等。
主、備設備透過Keepalive連結發送心跳偵測封包,主要用於在Peer-link故障時進行雙主偵測。
完成了上述建立過程,MC-LAG就可以正常運作了。
MC-LAG流量轉發
MC-LAG主要應用於雙歸接取場景,即接取側設備C透過MC-LAG技術,接取網路側設備A和B。正常工作時,上行流量及下行流量採用負載平衡方式經由設備A、B轉送。
如果上面網路故障,MC-LAG又是如何保護網路正常運作呢?
成員介面鏈路故障
如果MC-LAG某成員介面故障,例如,設備B的成員介面發生故障。接入側設備C感知到設備B成員介面故障,將所有上行流量傳送至設備A,並由設備A轉送。
設備B收到從網路側發送到接取側設備C的流量,會透過Peer-link將流量交給正常運作的設備A轉送到接取側設備C。
MC-LAG設備故障
如果一台MC-LAG設備故障,例如,設備B發生故障。此時設備B無法進行流量轉發,則所有流量均由設備A轉送。
圖片
圖片
Peer-link故障
如果發生Peer-link故障,這時設備A、B無法同時轉送流量,否則會導致廣播風暴、MAC漂移等一系列問題,所以只允許一台設備轉送流量。
此時,MC-LAG的備設備(這裡是設備B)會將自己除了Peer-link介面、Keepalive介面和管理網口之外的所有實體介面進行Error-down處理。此時,所有流量只會透過MC-LAG主設備進行轉送。
上行鏈路故障
如果發生上行鏈路故障,設備C的上行流量到達設備A後會透過Peer-link發送給設備B進行轉送(也可以設定上下行埠連動,上行流量全部從設備C直接送到設備B進行轉送)。
透過前面的介紹,可以了解到MC-LAG技術相對於傳統鏈路聚合技術有更多的優勢,在增強了網路可靠性的同時,簡化了組網,實現了設備級的高可用冗餘保護以及多路徑轉送。
此外,MC-LAG兩台網路設備獨立運行,可以分別進行升級,升級過程只要確保一台設備正常運作,對運行的業務幾乎不會產生影響。目前,MC-LAG技術在新型IP城域網路和資料中心正被廣泛使用,可以在採用Spine-Leaf網路架構的同時,部署MC-LAG來確保網路的可靠性。在5G的演進過程中,MC-LAG技術必將為IP承載網路提供更可靠的保障。