前天,小棗君發(fā)了一篇關于數據中心網絡的文章(鏈接)。很多讀者留言,說沒看明白。
本著“將通信科普到底”的原則,今天,我再繼續(xù)聊一下這個話題。
故事還是要從頭開始說起。
1973年夏天,兩名年輕的科學家(溫頓·瑟夫和羅伯特卡恩)開始致?于在新?的計算機?絡中,尋找?種能夠在不同機器之間進行通訊的?法。
不久后,在一本黃?的便簽本上,他們畫出了TCP/IP協議族的原型。
幾乎在同時,施樂公司的梅特卡夫和博格思,發(fā)明了以太網(Ethernet)。
我們現在都知道,互聯網的最早原型,是老美搞出來的ARPANET(阿帕網)。
ARPANET最開始用的協議超爛,滿足不了計算節(jié)點規(guī)模增長的需求。于是,70年代末,大佬們將ARPANET的核心協議替換成了TCP/IP(1978年)。
進入80年代末,在TCP/IP技術的加持下,ARPANET迅速擴大,并衍生出了很多兄弟姐妹。這些兄弟姐妹互相連啊連啊,就變成了舉世聞名的互聯網。
可以說,TCP/IP技術和以太網技術,是互聯網早期崛起的基石。它們成本低廉,結構簡單,便于開發(fā)、部署,為計算機網絡的普及做出了巨大貢獻。
但是后來,隨著網絡規(guī)模的急劇膨脹,傳統(tǒng)TCP/IP和以太網技術開始顯現疲態(tài),無法滿足互聯網大帶寬、高速率的發(fā)展需求。
最開始出現問題的,是存儲。
早期的存儲,大家都知道,就是機器內置硬盤,通過IDE、SCSI、SAS等接口,把硬盤連到主板上,通過主板上的總線(BUS),實現CPU、內存對硬盤數據的存取。
后來,存儲容量需求越來越大,再加上安全備份的考慮(需要有RAID1/RAID5),硬盤數量越來越多,若干個硬盤搞不定,服務器內部也放不下。于是,就有了磁陣。
磁陣,磁盤陣列
磁陣就是專門放磁盤的設備,一口子插幾十塊那種。
硬盤數據存取,一直都是服務器的瓶頸。開始的時候,用的是網線或專用電纜連接服務器和磁陣,很快發(fā)現不夠用。于是,就開始用光纖。這就是FC通道(Fibre Channel,光纖通道)。
2000年左右,光纖通道還是比較高大上的技術,成本不低。
當時,公共通信網絡(骨干網)的光纖技術處于在SDH 155M、622M的階段,2.5G的SDH和波分技術才剛起步,沒有普及。后來,光纖才開始爆發(fā),容量開始迅速躍升,向10G(2003)、40G(2010)、100G(2010)、400G(現在)的方向發(fā)展。
光纖不能用于數據中心的普通網絡,那就只能繼續(xù)用網線,還有以太網。
好在那時服務器之間的通信要求還沒有那么高。100M和1000M的網線,勉強能滿足一般業(yè)務的需求。2008年左右,以太網的速率才勉強達到了1Gbps的標準。
2010年后,又出幺蛾子。
除了存儲之外,因為云計算、圖形處理、人工智能、超算還有比特幣等亂七八糟的原因,人們開始盯上了算力。
摩爾定律的逐漸疲軟,已經無法支持CPU算力的提升需求。牙膏越來越難擠,于是,GPU開始崛起。使用顯卡的GPU處理器進行計算,成為了行業(yè)的主流趨勢。
得益于AI的高速發(fā)展,各大企業(yè)還搞出了AI芯片、APU、xPU啊各自五花八門的算力板卡。
算力極速膨脹(100倍以上),帶來的直接后果,就是服務器數據吞吐量的指數級增加。
除了AI帶來的變態(tài)算力需求之外,數據中心還有一個顯著的變化趨勢,那就是服務器和服務器之間的數據流量急劇增加。
互聯網高速發(fā)展、用戶數猛漲,傳統(tǒng)的集中式計算架構無法滿足需求,開始轉變?yōu)榉植际郊軜嫛?/p>
舉例來說,現在618,大家都在血拼。百八十個用戶,一臺服務器就可以,千萬級億級,肯定不行了。所以,有了分布式架構,把一個服務,放在N個服務器上,分開算。
分布式架構下,服務器之間的數據流量大大增加了。數據中心內部互聯網絡的流量壓力陡增,數據中心與數據中心之間也是一樣。
這些橫向(專業(yè)術語叫東西向)的數據報文,有時候還特別大,一些圖形處理的數據,包大小甚至是Gb級別。
綜上原因,傳統(tǒng)以太網根本搞不定這么大的數據傳輸帶寬和時延(高性能計算,對時延要求極高)需求。所以,少數廠家就搞了一個私有協議的專用網絡通道技術,也就是Infiniband網絡(直譯為“無限帶寬”技術,縮寫為IB)。
FC vs IB vs 以太網
IB技術時延極低,但是造價成本高,而且維護復雜,和現有技術都不兼容。所以,和FC技術一樣,只在特殊的需求下使用。
算力高速發(fā)展的同時,硬盤不甘寂寞,搞出了SSD固態(tài)硬盤,取代機械硬盤。內存嘛,從DDR到DDR2、DDR3、DDR4甚至DDR5,也是一個勁的猥瑣發(fā)育,增加頻率,增加帶寬。
處理器、硬盤和內存的能力爆發(fā),最終把壓力轉嫁到了網卡和網絡身上。
學過計算機網絡基礎的同學都知道,傳統(tǒng)以太網是基于“載波偵聽多路訪問/沖突檢測(CSMA/CD)”的機制,極容易產生擁塞,導致動態(tài)時延升高,還經常發(fā)生丟包。
TCP/IP協議的話,服役時間實在太長,都40多年的老技術了,毛病一大堆。
舉例來說,TCP協議棧在接收/發(fā)送報文時,內核需要做多次上下文切換,每次切換需要耗費5us~10us左右的時延。另外,還需要至少三次的數據拷貝和依賴CPU進行協議封裝。
這些協議處理時延加起來,雖然看上去不大,十幾微秒,但對高性能計算來說,是無法忍受的。
除了時延問題外,TCP/IP網絡需要主機CPU多次參與協議棧內存拷貝。網絡規(guī)模越大,帶寬越高,CPU在收發(fā)數據時的調度負擔就越大,導致CPU持續(xù)高負載。
按照業(yè)界測算數據:每傳輸1bit數據需要耗費1Hz的CPU,那么當網絡帶寬達到25G以上(滿載)的時候,CPU要消費25GHz的算力,用于處理網絡。大家可以看看自己的電腦CPU,工作頻率是多少。
那么,是不是干脆直接換個網絡技術就行呢?
不是不行,是難度太大。
CPU、硬盤和內存,都是服務器內部硬件,換了就換了,和外部無關。
但是通信網絡技術,是外部互聯技術,是要大家協商一起換的。我換了,你沒換,網絡就嗝屁了。
全世界互聯網同時統(tǒng)一切換技術協議,你覺得可不可能?
不可能。所以,就像現在IPv6替換IPv4,就是循序漸進,先雙棧(同時支持v4和v6),然后再慢慢淘汰v4。
數據中心網絡的物理通道,光纖替換網線,還稍微容易一點,先小規(guī)模換,再逐漸擴大。換了光纖后,網絡的速度和帶寬上的問題,得以逐漸緩解。
網卡能力不足的問題,也比較好解決。既然CPU算不過來,那網卡就自己算唄。于是,就有了現在很火的智能網卡。某種程度來說,這就是算力下沉。
搞5G核心網的同事應該很熟悉,5G核心網媒體面網元UPF,承擔了無線側上來的所有業(yè)務數據,壓力極大。
現在,UPF網元就采用了智能網卡技術,由網卡自己進行協議處理,緩解CPU的壓力,流量吞吐還更快。
如何解決數據中心通信網絡架構的問題呢?專家們想了半天,還是決定硬著頭皮換架構。他們從服務器內部通信架構的角度,重新設計一個方案。
在新方案里,應用程序的數據,不再經過CPU和復雜的操作系統(tǒng),直接和網卡通信。
這就是新型的通信機制——RDMA(Remote Direct Memory Access,遠程直接數據存?。?。
RDMA相當于是一個“消滅中間商”的技術,或者說“走后門”技術。
RDMA的內核旁路機制,允許應用與網卡之間的直接數據讀寫,將服務器內的數據傳輸時延降低到接近1us。
同時,RDMA的內存零拷貝機制,允許接收端直接從發(fā)送端的內存讀取數據,極大的減少了CPU的負擔,提升CPU的效率。
RDMA的能力遠遠強于TCP/IP,逐漸成為主流的網絡通信協議棧,將來一定會取代TCP/IP。
RDMA有兩類網絡承載方案,分別是專用InfiniBand和傳統(tǒng)以太網絡。
RDMA最早提出時,是承載在InfiniBand網絡中。
但是,InfiniBand是一種封閉架構,交換機是特定廠家提供的專用產品,采用私有協議,無法兼容現網,加上對運維的要求過于復雜,并不是用戶的合理選擇。
于是,專家們打算把RDMA移植到以太網上。
比較尷尬的是,RDMA搭配傳統(tǒng)以太網,存在很大問題。
RDMA對丟包率要求極高。0.1%的丟包率,將導致RDMA吞吐率急劇下降。2%的丟包率,將使得RDMA的吞吐率下降為0。
InfiniBand網絡雖然貴,但是可以實現無損無丟包。所以RDMA搭配InfiniBand,不需要設計完善的丟包保護機制。
現在好了,換到傳統(tǒng)以太網環(huán)境,以太網的人生態(tài)度就是兩個字——“擺爛”。以太網發(fā)包,采取的是“盡力而為”的原則,丟包是家常便飯,丟了就再傳。
于是,專家們必須解決以太網的丟包問題,才能實現RDMA向以太網的移植。再于是,就有了前天文章提到的,華為的超融合數據中心網絡智能無損技術。
說白了,就是讓以太網做到零丟包,然后支撐RDMA。有了RDMA,就能實現超融合數據中心網絡。
關于零丟包技術的細節(jié),我不再贅述,大家看前天那篇文章(再給一遍鏈接:這里)。
值得一提的是,引入AI的網絡智能無損技術是華為的首創(chuàng),但超融合數據中心,是公共的概念。除了華為之外,別的廠家(例如深信服、聯想等)也講超融合數據中心,而且,這個概念在2017年就很熱了。
什么叫超融合?
準確來說,超融合就是一張網絡,通吃HPC高性能計算、存儲和一般業(yè)務等多種業(yè)務類型。處理器、存儲、通信,全部都是超融合管理的資源,大家平起平坐。
超融合不僅要在性能上滿足這些低時延、大帶寬的變態(tài)需求,還要有低成本,不能太貴,也不能太難維護。
未來,數據中心在整體網絡架構上,就是葉脊網絡一條路走到黑(到底什么是葉脊網絡?)。路由交換調度上,SDN、IPv6、SRv6慢慢發(fā)展。微觀架構上,RDMA技術發(fā)展,替換TCP/IP。物理層上,全光繼續(xù)發(fā)展,400G、800G、1.2T…
我個人臆測,目前電層光層的混搭,最終會變成光的大一統(tǒng)。光通道到全光交叉之后,就是滲透到服務器內部,服務器主板不再是普通PCB,而是光纖背板。芯片和芯片之間,全光通道。芯片內部,搞不好也是光。
光通道是王道
路由調度上,以后都是AI的天下,網絡流量啊協議啊全部都是AI接管,不需要人為干預。大量的通信工程師下崗。
好了,關于數據中心通信網絡的介紹就是這么多。不知道大家這次有沒有看明白?
沒看明白的話,就再看一次。