交換機鏈路聚合,兩端算法不一致會不會有問題?
什么是鏈路聚合?
鏈路聚合(Link Aggregation)是將多條物理鏈路捆綁在一起成為一條邏輯鏈路,從而增加鏈路帶寬及冗余的技術(shù)。
根據(jù)是否啟用鏈路聚合控制協(xié)議LACP,鏈路聚合分為”靜態(tài)”和“動態(tài)(LACP)”兩種聚合模式。
- 靜態(tài)聚合:Eth-Trunk的建立、成員接口的加入由手工配置,沒有鏈路聚合控制協(xié)議的參與,所有活動參與流量分擔,又稱手工負載分擔模式。
- 動態(tài)聚合:基于IEEE802.3ad標準的LACP,鏈路聚合控制協(xié)議是一種實現(xiàn)鏈路動態(tài)聚合與解聚合的協(xié)議。LACP通過鏈路聚合控制協(xié)議數(shù)據(jù)單元LACPDU與對端交互信息。
而今天我要講的主角是“靜態(tài)聚合”,配置靜態(tài)聚合繞不開的是聚合算法。主要有:基于目的IP、基于目的MAC、基于源目的IP、基于源目的MAC、基于源IP、基于源MAC。
那么有個經(jīng)典的問題:交換機鏈路聚合,兩端算法不一致會不會有問題?如下圖所示:
問題分析
先說下答案:
我們簡單了解下算法邏輯:交換機會將數(shù)據(jù)幀中的MAC、IP地址字段HASH成HASH-KEY值,然后在匯聚轉(zhuǎn)發(fā)表中找物理出接口發(fā)出去。保證同一數(shù)據(jù)流在同一條物理鏈路的轉(zhuǎn)發(fā),為什么必須一致?為了防止對端地址表漂移。
所以交換機的匯聚算法只會決定TX(發(fā)送)而與RX(接收)無關(guān),如下圖:
PC1和PC2通信時,SW1可以根據(jù)算法不同將PC1的數(shù)據(jù)從不同的出接口轉(zhuǎn)發(fā)給SW2;
SW2不會管你是1口還是2口過來,它只會關(guān)心PC1去往PC2的數(shù)據(jù)流是否持續(xù)保持在同一條物理鏈路上。否則你想,PC1一會從1口來、一會兒2口來,SW2的地址表不就紊亂了么?紊亂的直接結(jié)果就是通信異常;
同理,SW2將PC2的數(shù)據(jù)轉(zhuǎn)交給SW1時,SW1也不會管你到底從哪個口給的我,它只關(guān)心“你能不能一直從這個物理口給到我”。
因此,交換機的標準匯聚算法下,兩端算法不一致是不會影響通信的。