對于技術人員而言,每年的雙11都是一次技術盛宴,是對系統性能的極致挑戰,對系統穩定性的終極考驗。從2009到2018這十年間,交易額達到今天的2135億,每秒訂單創建的峰值也是屢創新高,對于攻城獅來說,這不僅僅是數字的飛躍和世界記錄的刷新。今天這個超級數字的背后,是交易、搜索,到中間件、存儲、數據庫等等這些龐大分布式系統的計算和IO能力的飛躍。而支撐這些系統能力高速不間斷運轉的,則是底層網絡技術。
數據中心網絡作為這些大型分布式系統內部的高速公路,越來越多的承載著計算和存儲系統IO延伸的作用,網絡即IO。更高的帶寬、更低延時才能給業務系統帶來更加極致的性能表現。
2018年雙11,阿里巴巴數據中心網絡的主角,是阿里巴巴全新一代網絡架構5.1,架構的項目代號為HAIL(1.0版本,后續還有region級別的架構演進HAIL2.0)。
HAIL代表“High Availability、Intelligence, and Low latency”,是5.1網絡架構設計核心思想和目標的最直白體現。其中,RDMA、去堆疊、流量可視化 等是HAIL 5.1網絡架構的核心關鍵詞。
High Intelligence依托于network telemetry技術和自動化平臺的能力構建了整個5.1數據中心網絡架構自動化和智能化基石。關于這些方面,HAIL 5.1架構中有很多業界首創性的嘗試,由于各種原因不在本文中介紹。
高可用是基礎網絡永恒的使命,而這個目標看起來簡單直接,卻并不是那么容易做到。5.1網絡架構的雙上聯去堆疊設計,為高可用的目標增加了強有力的支撐。
為了支持業務的高可用,阿里巴巴網絡架構歷來都是采用雙上行接入的方式,從Server的接入link到TOR的層面都實現了雙活備份,使得一條link的故障,或者一臺TOR的故障對于業務系統的可用性影響降到最低,會出現高水位時性能的損失但是不會出現服務不可用。
傳統的雙活接入的方式,業界通用的方法都是通過兩臺TOR交換機實現vpc/mlag/堆疊這類技術來實現,而這種雙活技術要求兩臺交換機之間通過協議交互轉發表項信息,甚至堆疊技術要求兩臺TOR在管理和轉發層面都merge成為一臺設備,這在無形中增加了技術復雜度和出問題的概率。實際運行過程中也體現了這一點,兩臺TOR由于堆疊系統的軟硬件bug原因導致同時宕機的情況屢見不鮮,對業務系統的穩定性形成了很大的挑戰。
5.1網絡架構中,我們創新性的實現了服務器雙活接入+TOR去堆疊(如下圖),在保證服務器雙活接入的可用性前提下,解決了堆疊系統本身穩定性所帶來的問題。支撐2018年雙11的所有5.1網絡集群和數以萬計的服務器,都是運行在阿里自主設計開發的去堆疊技術之上, 使得5.1架構在雙11的流量壓力和高可用要求下,更加從容應對。

網絡去堆疊設計的基本原則:在網絡設備上通過feature實現,使所有業務訪問均走三層轉發,利用三層轉發的路由傳遞能力覆蓋所有failover場景,同時保持服務器的bond接入生態,在主機側做最小的改動。
網絡側
· arp轉換為host路由。所有ASW上學習到的arp都轉換為/32主機路由(host-route);
· LACP sysID可設置。可以對兩臺ASW進行LACP sysID設置以達到兩臺ASW與下聯Server的兩條鏈路完成LACP協商;
· arp proxy。ASW使用自身mac地址代答所有主機或者虛擬主機的arp,使所有主機間的互訪在網絡設備上進行三層轉發。
主機側
· 我們在服務器上實現arp報文在bond slave端口TX方向上的broadcast。如下圖所示

這個模塊實現對arp報文在多個bond slave上的broadcast,可以協助兩臺交換機來同步arp。
Low latency —— RDMA技術第一次大規模應用考驗
業務系統有兩個非常關鍵的業務指標,即Throughput(吞吐量,單位時間內可以處理的請求數或執行的任務數)和Latency(時延,系統在處理一個請求或一個任務時的延遲)。當然不同的業務場景中,對于Throughput和Latency的訴求也會不盡相同,側重點也會有所不同。然而無論如何,Low Latency是永恒的追求,Latency越小,在同等系統資源條件下,就能獲得更大的Throughput。
5.1網絡架構在Low latency方面有兩個方面的設計實現。
1. scale out設計中,PSW設備改為單芯片設備,從轉發路徑上減小了PSW層面轉發的芯片數從而減小了轉發節點數,降低了一個pod內部交互的轉發時延。而以往架構采用框式設備,一個PSW節點的轉發需要經過三跳。

2. HAIL 5.1網絡架構以POD為單位支持RDMA,給業務提供了目前業界最強的高性能低延時網絡技術方案。(當然,1.中對PSW的單芯片設計也大大簡化了RDMA部署的復雜度,這兩個設計相輔相成)
近幾年,當我們討論Low latency時, RDMA是繞不開的話題。大家都在討論IB、iWrap、RoCE的優劣和取舍的時候,實際上阿里巴巴已經實現了業界最大規模的RDMA 部署,同時也經受了當今世界最嚴苛的技術考驗——天貓雙11.
目前運行在5.1RDMA平臺上的業務包括集團DB、阿里云ESSD、阿里云PolarDB、大數據PAI、高性能計算等,2018年雙11更是RDMA大顯身手的舞臺,100% 大促DB業務,和100% 大促ESSD存儲都運行在RDMA上,網絡為業務系統的極致性能提供了最強的賽道!
5.1架構以POD為單位支持RDMA,使用了RoCEv2協議規范,以及DCQCN+Lossless網絡的流控方案,目前已經在集團的存儲、DB、高性能計算、機器學習等業務場景中大規模使用。
HAIL5.1網絡架構不僅僅實現了RDMA技術能力的落地,同時建立了RDMA業務支撐平臺和RDMA運營生態,這是RDMA作為一個落地生產的技術架構非常重要的部分。
· 向上層業務,我們提供了RDMA-Service的平臺化RDMA支撐模塊,方便業務快速部署和使用RDMA,同時模塊中集成了rdma關鍵參數的監控和校驗能力;
· RDMA自身的閉環運維能力。監控系統通過gRPC/erspan等通道從物理網絡獲取實時的RDMA運行狀態,包括pfc/cnp/nak/buffer-usage/queue-drop/mmu-err/link-flap/crc/…,通過這些數據我們可以實時監控RDMA網絡的運行狀態;自動化系統對監控數據進行分析,對監控事件進行響應,來實現快速的故障發現和定位,實現基于pfc拓撲的mmu異常點定位和隔離,基于nak/cnp來快速判斷網絡丟包。

接下來,阿里巴巴數據中心網絡架構還將進行region級別的HAIL架構演進(架構代號HAIL2.0),實現更大范圍內的“高可用、智能化、低延遲”網絡,我們將在自研機、可視化和RDMA領域持續發力,上線由自主研發的DC交換機組成的數據中心新一代架構,運行自主研發的RDMA流控方案和定制協議的智能網卡,繼續引領新一代網絡可視化技術的發展和落地。阿里巴巴數據中心網絡架構HAIL2.0,我們明年雙11見!