交換技術(shù)是網(wǎng)絡(luò )中的重要技術(shù)之一,尤其是在數據中心里二三層的網(wǎng)絡(luò )中,應用極其普遍。交換機是交換技術(shù)的典型產(chǎn)物,在數據中心里到處都是,是搭建數據中心局域網(wǎng)的必選設備。交換機分為盒式交換機和框式交換機,最大的區別是盒式交換機一般只有1~2U高,只有一塊交換芯片或者只有幾塊交換芯片自己互聯(lián),不需要橋接芯片,而框式交換機因為有多塊插卡,每個(gè)插卡都是1U高,這樣插卡之間就需要橋接芯片來(lái)完成插卡之間的數據轉發(fā)。
框式交換機在數據中心網(wǎng)絡(luò )匯聚和核心的位置,處理著(zhù)海量數據的轉發(fā)?蚴浇粨Q機將交換技術(shù)發(fā)揚光大,尤其是在插卡之間的數據交換處理上,不斷做出各種各樣的設計,以便在交換容量、降低設計成本等方面不斷提升。單從交換架構方面來(lái)說(shuō),當前存在兩種最為主要的交換架構:一種是傳統的基于報文選路轉發(fā)的交換;另一種是新興的基于信元轉發(fā)的交換,兩種架構各有優(yōu)缺點(diǎn),引爆了交換架構選擇之戰。
基于報文選路轉發(fā)交換
這種方式從有框式交換機以來(lái)就存在,通過(guò)橋接芯片將多個(gè)插卡連接起來(lái),橋接芯片的數量直接決定了插卡之間的轉發(fā)帶寬,最開(kāi)始很多設備將橋接芯片放在了一塊集中插卡上,發(fā)現受限于橋接芯片的轉發(fā)能力,根本無(wú)法滿(mǎn)足多塊插卡之間的流量線(xiàn)速轉發(fā),隨著(zhù)框式設備的槽位設計的越來(lái)越多,插卡線(xiàn)速轉發(fā)能力越來(lái)越低。于是有人開(kāi)始設計多插卡方式,用包含有多塊橋接芯片的查看來(lái)實(shí)現插卡連接,每塊橋接插卡都會(huì )為交換插卡提供一部分帶寬,多塊橋接插卡一起工作就可以為每塊交換插卡提供很大帶寬,實(shí)現每個(gè)插卡都可以線(xiàn)速轉發(fā),這種實(shí)現方式一度在數據中心網(wǎng)絡(luò )中盛行十年之久,幾乎所有的框式設備都是基于這樣的架構實(shí)現。
不過(guò),隨著(zhù)數據中心流量的不斷增長(cháng),插卡上的所有端口都被用上,就發(fā)現在一些特殊流量場(chǎng)景中,這些插卡出現了無(wú)法線(xiàn)速的情況,這與理論測試不符。其實(shí)出現這種情況和這種架構有關(guān),一個(gè)插卡上來(lái)的流量要基于報文特征來(lái)選路,將報文送到不同的橋接插卡上,在橋接插卡上實(shí)現流量的負載分擔,因為單塊的橋接插卡無(wú)法滿(mǎn)足框式交換機所有交換插卡的線(xiàn)速需求,由于進(jìn)入插卡的報文特征變化并不是完全均勻的,從而選路到不同橋接插卡的流量也不會(huì )是完全均勻的,如果橋接插卡設計的帶寬冗余很小甚至沒(méi)有的話(huà),一點(diǎn)點(diǎn)的不均勻都會(huì )造成擁塞,從而出現丟包,交換插卡無(wú)法達到線(xiàn)速轉發(fā),這種情況在實(shí)際網(wǎng)絡(luò )中并非少見(jiàn),一旦碰到只能調整選路算法(未必有用),或者換帶寬容量更大的設備,盡可能多地留出一些冗余帶寬來(lái)。
基于信元轉發(fā)交換
正因為報文選路轉發(fā)交換架構具有天生的缺陷,基于信元方式轉發(fā)架構誕生。這種方式也需要多塊橋接插卡,交換插卡具備了一種分片能力,它可以將進(jìn)來(lái)的報文,分解成多個(gè)大小相同的信元,然后分別發(fā)向不同的橋接插卡,這樣發(fā)給每個(gè)橋接插卡的報文大小都是相同的,去往不同橋接插卡的流量就永遠都是均勻的,就不會(huì )存在選路不均的問(wèn)題。這種方式徹底解決了以往交換架構內部流量不均,擁塞的問(wèn)題,成為新的主流交換架構。不過(guò),基于信元轉發(fā)也有其技術(shù)固有缺陷。
交換插卡將每個(gè)報文都要做分片(一般是按照固定的64字節或者128字節分片,最后一片字節不夠也要補齊到64或者128字節),經(jīng)過(guò)橋接插卡轉發(fā)后,還要在出口插卡上重組,還原出來(lái)經(jīng)過(guò)轉發(fā)后的完整報文,而基于報文選路方式就不需要,這無(wú)疑增加了設備的轉發(fā)開(kāi)銷(xiāo),所以這種架構相比基于報文選路,轉發(fā)效率要低,轉發(fā)時(shí)延要高,因為很多報文分片后最后一片都要添加空的數據補齊,每個(gè)信元也要有自己的轉發(fā)頭,這些數據都要多占用一些數據帶寬,浪費掉了部分內部帶寬。這種方式還會(huì )增加故障概率,只要有一塊橋接插卡出了問(wèn)題,整個(gè)設備的轉發(fā)都會(huì )受到影響,因為幾乎每個(gè)報文的信元都要經(jīng)過(guò)這塊橋接插卡,基于報文選路轉發(fā)則不會(huì ),哪塊橋接插卡出問(wèn)題,影響的只是HASH選路到這塊橋接插卡的業(yè)務(wù),走到其它橋接插卡上的業(yè)務(wù)不受影響。
還有一旦報文進(jìn)入交換插卡,到橋接插卡都是信元轉發(fā),極不利于問(wèn)題定位,這時(shí)在橋接插卡上根本看不到報文內容,發(fā)給每個(gè)橋接插卡的報文長(cháng)度特征都一樣,到底是交換插卡出了問(wèn)題,還是橋接插卡出了問(wèn)題,區分不清,往往要通過(guò)替換測試才能明確;趫笪倪x路的架構就很容易,根據報文特征在內部端口上做統計,確認問(wèn)題發(fā)生的位置,可以很快找到問(wèn)題原因,方便維護,這樣也使得不少人又轉頭追逐基于報文的選路交換架構。
經(jīng)過(guò)以上的介紹,兩種交換架構各有優(yōu)缺點(diǎn),誰(shuí)也無(wú)法替代誰(shuí)。兩種架構技術(shù)目前都較為成熟,具備實(shí)際應用的水平,設計成本差別也不大。具體在數據中心里使用哪種交換架構設備(一臺設備無(wú)法同時(shí)具備兩種架構),還是要從實(shí)用角度來(lái)考慮,要看數據中心更看重哪個(gè)方面。
如果數據中心里的流量不夠大,報文特征也比較單一,變化比較均勻,就可以考慮方便維護的基于報文選路的交換設備;如果數據中心的流量超大,交換插卡的端口基本全要用上,并且帶寬利用率很高,建議選用基于信元轉發(fā)的交換設備,避免出現無(wú)法達到線(xiàn)速的問(wèn)題,兩種交換架構將在未來(lái)的一段時(shí)間里長(cháng)期存在,供數據中心選擇。