我是來自阿里雲技術服務部的楓橋。從研發架構師轉型TAM的幾個月時間在服務用雲客戶以及工單處理過程中,感覺網路是連線雲產品以及客戶各技術元件的血液,掌握好網路的基礎知識以及瞭解網路雲產品的特性對解決的客戶問題至關重要,最近抽時間對網路知識進行了梳理。本文圍繞物理網路和雲網絡基礎知識科普進行展開,最後淺談在AI大模型浪潮下雲網絡的演進方向。
在如今這個高度數字化的時代,網路就像一張無形的大網,將全世界的人們緊密地連線在一起。而這張網的基石,便是那神秘而又重要的物理網路。讓我們沿著 OSI 網路分層的脈絡,一起揭開物理網路(筆者認為物理層到網路層屬於真正的物理網路)的神秘面紗吧。
想象一下,你正坐在家中,用電腦給遠在異國的同學發一封郵件,當你寫完郵件,點擊發送按鈕的那一刻,一場奇妙的旅程便在物理網路中悄然開啟。。
這是網路的最底層,就好比是網路世界的地基。它負責將資料轉化為可以在物理介質(如網線、光纖、無線電波等)中傳輸的電訊號、光訊號或無線電訊號。可以把它想象成一條高速公路,資料就像是一輛輛汽車,而物理層的任務就是確保這些 “汽車” 能夠在這條公路上順暢地行駛。例如,網線中的銅芯透過電流的變化來傳輸資料,光纖則利用光的閃爍來傳遞資訊。沒有物理層,資料就根本無法離開你的電腦,更別說能夠將網路蒐集到資料資訊回傳到你的電腦上啦。
一句話總結物理層:連線不同的物理裝置,傳輸位元流。為上層協議提供了一個傳輸資料的可靠的物理介質。
當資料在物理層的 “高速公路” 上傳輸時,可能會遇到各種干擾和錯誤。這時候,資料鏈路層就閃亮登場啦!它就像一個交通警察,負責監督資料的傳輸,確保資料能夠準確無誤地從一個節點傳輸到另一個節點。資料鏈路層透過一些協議,如乙太網協議,給每個裝置分配一個唯一的地址(MAC 地址),這樣資料就知道該往哪裡去啦。而且,它還能檢測並糾正傳輸過程中出現的錯誤,保證資料的完整性。
一句話總結資料鏈路層:透過乙太網協議將物理層的資料包封裝成幀,根據幀上的mac地址將資料傳輸到另一個節點,為下一層網路層提供可靠的傳輸。
現在資料已經在本地的網路中順利傳輸了,但如果要把訊息傳送到遠方朋友的電腦那裡,就需要進入更廣闊的網路世界啦。這就是網路層的任務。網路層就像是一個導航系統,它使用 IP 地址來標識網路中的不同裝置和網路。當你傳送訊息時,網路層會根據目標 IP 地址,為資料選擇最佳的傳輸路徑,就像導航為你規劃從家到朋友家的最佳路線一樣。這樣,資料就能跨越不同的網路,準確地找到朋友的裝置啦。
一句話總結網路層:物理裝置透過使用網路層的IP協議,遮蔽了物理網路之間的差異;當網路中主機使用IP協議連線時,無需關注網路細節,於是形成了虛擬網路。可以說到了網路層才是真正到了我們平時所說的網路。網路層之前是物理網路範疇,後面的傳輸層和應用層跟物理底層網路關聯不大。這裡透過場景帶入對剩下兩層的進行簡單闡述。
資料找到了遠方朋友的電腦所在的網路,但還需要準確地將你的搜尋請求交付到朋友的裝置上的相應應用程式(這裡指郵箱程式),這時候傳輸層就發揮作用啦。傳輸層就像是一個快遞分揀中心,它負責將資料分割成合適的大小(稱為段),併為每個段新增埠號等資訊,確保資料能夠準確地交付到目標裝置上的正確應用程式。常見的傳輸層協議有 TCP(傳輸控制協議)和 UDP(使用者資料報協議),TCP 提供可靠的、面向連線的傳輸服務,就像寄掛號信一樣,確保資料準確無誤地送達;UDP 則是無連線的,速度快但不保證資料的可靠交付,有點像寄平信。
終於,資料到達了朋友裝置的應用層,這是網路分層的最頂層,也是離我們使用者最近的一層。應用層就像是各種網路應用的 “門面”,它包含了我們日常使用的各種網路應用程式,如網頁瀏覽器、電子郵件客戶端、即時通訊軟體等。當資料到達應用層後,會被相應的應用程式解析和處理,然後顯示在朋友的螢幕上,這樣朋友就可以看到你傳送的訊息啦。比如,你使用微信傳送訊息,微信應用程式就在應用層接收和處理這些資料,將文字、圖片等內容展示出來。
透過這幾層的協同工作,你的訊息已經成功地從你的裝置跨越千山萬水,準確無誤地送到了朋友的手中。網路世界的每一層都像一個小能手,各司其職,共同構建了我們便捷的網路通訊環境。
最後在技術維度用一句話總結物理網路:透過網路分層模型將光纖,網絡卡等物理裝置封裝在物理層,在物理層之上在透過層層封裝抽象做到資料包在網路的傳輸,好處是讓上層不感知硬體裝置等複雜度。另外網路分層也為雲網絡的誕生奠定了基礎。
隨著雲計算的不斷發展,人們對虛擬化網路的要求越來越高,例如彈性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy),並且還有較高的互聯效能(performance)等需求,因此催生了多種多樣的網路虛擬化技術。比較早的解決方案,是將虛擬機器的網路和物理網路融合在一起,形成一個扁平的網路架構,例如大二層網路。隨著虛擬化網路規模的擴大,這種方案中的ARP欺騙、廣播風暴、主機掃描等問題會越來越嚴重。為了解決這些問題,出現了各種網路隔離技術,把物理網路和虛擬網路徹底隔開。其中一種技術是使用者之間用VLAN進行隔離,但是VLAN的數量最大隻能支援4096個,無法支撐巨大的使用者量。那如何解決這個問題?下面介紹一下筆者認知下阿里雲是如何定義和搭建雲網絡。
雲網絡定義
雲計算的廣泛使用正在改變雲原生的定義,雲原生正從狹義的雲原生定義,即“微服務+容器+持續交付+DevOps”,向廣義的雲原生定義轉變,即“因雲而生的軟體、硬體、架構就是真正的雲原生”。雲網絡作為雲計算標配的IaaS核心產品線,第一天就是依雲而生,更是生而為雲的,是真正雲原生的網路 —-阿里雲智慧事業群研究員、網路產品負責人祝順民
雲網絡核心元件
下面著重介紹一下比較重要的元件VPC 虛擬私有網路在阿里雲這邊也叫專有網路:
VPC原理描述
基於目前主流的隧道技術,專有網路隔離了虛擬網路。每個VPC都有一個獨立的隧道號,一個隧道號對應著一個虛擬化網路。
-
一個VPC內的ECS(Elastic Compute Service)例項之間的傳輸資料包都會加上隧道封裝,帶有唯一的隧道號標識,然後透過物理網路進行傳輸。
-
不同VPC內的ECS例項由於所在的隧道號不同,本身處於兩個不同的路由平面,因此不同VPC內的ECS例項無法進行通訊,天然地進行了隔離。
基於隧道技術和軟體定義網路SDN(Software Defined Network)技術,阿里雲在硬體閘道器和自研交換機裝置的基礎上推出了VPC產品。
VPC邏輯架構
如下圖所示,VPC包含交換機、閘道器和控制器三個重要的元件。交換機和閘道器組成了資料通路的關鍵路徑,控制器使用自研協議下發轉發表到閘道器和交換機,完成了配置通路的關鍵路徑。配置通路和資料通路互相分離。VPC中的交換機是分散式的節點,閘道器和控制器都是叢集部署且多機房互備,所有鏈路上都具備冗餘容災,提升了VPC的整體可用性。
在聊聊大家常聽的overlay,underlay到底是什麼,和雲網絡有什麼關係?
Overlay、Underlay 與雲網絡的緊密關係
在雲網絡的構建和執行中,Overlay(覆蓋網路)和 Underlay(底層網路)是兩個至關重要的概念,它們相互協作,共同支撐起雲網絡高效、穩定地執行。
1. Underlay 底層網路
-
定義與本質:Underlay 底層網路是雲網絡的物理基礎,它通常由一系列的物理網路裝置,如路由器、交換機、光纖線纜等構成,是實實在在存在於資料中心或網路基礎設施中的硬體連線部分,也就是第一節說的物理網路。
-
功能及作用:其主要功能是提供最基本的資料轉發路徑,確保資料包能夠在不同的物理節點之間進行傳輸。例如,在一個大型的資料中心裡,伺服器之間透過網線連線到交換機上,交換機再透過光纖與其他交換機或者路由器相連,形成複雜的網路拓撲結構,這些物理鏈路構成的網路就是 Underlay 網路,它保障了資料從源伺服器能按照既定的物理鏈路規則傳遞到目標伺服器。
-
舉例說明:想象一個跨地域的資料中心,位於北京和上海的資料中心機房裡,眾多伺服器要實現互聯互通,那麼機房內部以及兩個機房之間鋪設的光纖、配置的交換機、路由器等構成的網路鏈路就是 Underlay 網路,所有的資料傳輸最開始都要依賴這些物理鏈路來完成第一步的傳遞。
2. Overlay 覆蓋網路
-
定義與本質:Overlay 覆蓋網路是構建在 Underlay 底層網路之上的虛擬網路,它透過軟體和虛擬化技術實現,對底層物理網路資源進行抽象和整合,從而創建出邏輯上獨立、隔離的虛擬網路環境,類似於在已有的道路(Underlay 網路)基礎上,透過規劃不同的行車路線、設定特殊標識等方式構建出專屬於某些車輛型別(不同虛擬網路)的虛擬交通網路。
-
功能及作用:Overlay 網路可以實現多租戶之間的網路隔離,不同租戶在雲環境中雖然共用底層的物理網路裝置,但透過 Overlay 網路能擁有各自獨立、安全的虛擬網路空間,彼此的資料不會相互干擾。而且它能提供靈活的網路配置,比如可以方便地調整虛擬網路的拓撲結構、IP 地址分配等,不受限於底層物理網路的佈局。
-
舉例說明:在一家雲服務提供商那裡,有多個企業租戶租用其雲資源。企業 A 希望構建自己內部研發、測試、生產不同環境的虛擬網路,企業 B 也有類似需求,透過 Overlay 網路技術,雲服務提供商可以在同一個資料中心的 Underlay 物理網路基礎上,為企業 A 和企業 B 分別構建出相互隔離、符合各自業務邏輯的虛擬網路,企業 A 的員工只能在自己的虛擬網路裡訪問相應資源,不會看到企業 B 的任何資訊。
3. 二者協作關係
在雲網絡中,Underlay 和 Overlay 相互依存、協同工作。Underlay 為 Overlay 提供物理鏈路支撐,沒有穩固可靠的 Underlay 網路,Overlay 所構建的虛擬網路也就失去了傳遞資料的物理通道,如同空中樓閣。而 Overlay 網路則充分利用 Underlay 的物理資源,透過軟體定義等技術挖掘出更大的網路價值,實現更加靈活、安全、高效的網路功能,讓雲網絡能夠滿足不同使用者、不同業務場景的複雜需求。
所以,在深入瞭解雲網絡時,對 Overlay 和 Underlay 的認識和介紹是非常有必要的,它們是雲網絡架構中的關鍵組成部分,深刻影響著雲網絡的整體效能和功能實現。
雲網絡中很重要的一部分是基於物理網路構建出的虛擬網路層,也就是常說的 Overlay(覆蓋網路)。Overlay 網路是構建在底層物理網路(Underlay)之上的,透過如 VXLAN、NVGRE 等技術對網路流量進行封裝等操作。另外雲網絡的構建不僅僅是簡單地基於物理網路虛擬出一層網路這麼簡單。它還涉及到諸多關鍵技術和元件協同工作:
-
軟體定義網路(SDN):將網路的控制平面與資料平面分離,透過軟體層面的控制器對網路進行集中管控、靈活配置路由策略、分配頻寬等,這種控制層面的設計並非單純基於物理網路虛擬一層網路能涵蓋的,它深刻影響著雲網絡整體架構和執行邏輯。
-
網路功能虛擬化(NFV):把原本依靠硬體實現的網路功能,像防火牆、負載均衡器等以軟體化虛擬功能形式執行在通用伺服器上,這也是雲網絡架構裡重要的一環,和單純在物理網路上虛擬網路層的概念不同。
你如果在淘寶購買了一本《計算機網路》這本書透過快遞進行履約配送。完成這個業務流程大機率會有快遞公司IDC網路和阿里雲網絡的資料傳輸。那如果實現雲上網路和雲下網路的打通?
某企業在杭州擁有一個本地IDC,已透過物理專線和VBR例項連線至阿里雲;同時,企業在阿里雲華東1(杭州)地域建立了VPC1和VPC2,2個VPC使用雲伺服器ECS(Elastic Compute Service)分別部署了應用服務,本地IDC與VPC、VPC與VPC之間互不相通。現在因業務發展需要,企業需要本地IDC與VPC、VPC與VPC之間可以互相通訊,資源互訪。
企業可以使用雲企業網產品,將2個VPC和1個VBR連線至華東1(杭州)地域的轉發路由器例項,快速實現同地域下本地IDC與VPC、VPC與VPC之間的資源互訪。
最後用腦圖梳理了一下從物理網路到阿里雲網絡的相關概念:
在當今AI 大模型飛速發展的時代,AI 大模型的訓練引數已達到萬億級別,如此龐大的訓練任務無法依靠單個伺服器完成,而是需要眾多伺服器作為節點,透過高速網路構搭建分散式算力叢集。這就涉及不同節點的資料透過網路進行資料交換。這樣的網路不僅能夠確保資料的快速傳輸,還能保證訓練過程的穩定性和高效性。高效能與高可用的網路對於 AI 大模型的構建具有舉足輕重的意義。目前主流雲廠商在AI大模型底層網路支撐方面大都透過RDMA做了最佳化,在這裡簡單介紹我瞭解到的阿里雲在RDMA和其他網路底層模組的工作和進展:
阿里巴巴2016年開始投入專項研究RDMA(Remote Direct Memory Access),以改造RDMA,提高傳輸效能。目前已建成大規模資料中心內的“高速網”,時延降低90%,支撐了高效能儲存、AI計算等阿里雲業務和阿里巴巴集團內部業務。
同時,透過大規模RDMA網路部署實踐,阿里雲自主研發了基於端網協同的RDMA高效能網路協議和HPCC擁塞控制演算法,並透過智慧網絡卡實現了協議硬體解除安裝,降低了端到端網路延時,提升了網路IO吞吐能力,並有效規避和弱化了網路故障、網路黑洞等傳統網路異常給上層應用帶來的效能損失。
靈駿支援高效能集合通訊庫ACCL(Alibaba Collective Communication Library),結合硬體(例如:網路交換機),對萬卡規模的AI叢集提供無擁塞、高效能的叢集通訊能力。
在AI叢集層面,通訊的碰撞是計算延遲的主要來源。除了架設叢集通訊的“高速公路”(即RDMA高速網)外,還需要進行合理的通訊排程,避免“堵車”。阿里雲透過通訊庫ACCL實現了GPU和網絡卡的智慧匹配、節點內外物理拓撲自動識別及拓撲感知的無擁塞通訊演算法,徹底消除網路擁塞,提升網路通訊效率,提高分散式訓練系統的擴充套件性。在萬卡規模下,可達80%以上的線性叢集能力。在百卡規模下,有效(計算)效能可達95%以上,可滿足80%以上的業務場景需求。
靈駿基於高效能網路RDMA和高效能通訊ACCL,研發高效能資料主動載入加速軟體KSpeed,進行智慧資料IO最佳化。
計算儲存分離架構廣泛存在於AI、HPC、大資料業務場景中,但大量訓練資料的載入容易形成效率瓶頸。阿里雲透過高效能資料主動載入加速軟體KSpeed,實現資料IO數量級效能提升。
例如:在部分場景中,資料載入耗時可佔據訓練整體時長60%以上,KSpeed能夠實現記憶體級資料主動預載入,資料載入時長縮減到10%以內,相當於把單位時間內的計算效能提升了1倍。
基於以上網路層面的定製最佳化和容器虛擬化eGPU,阿里雲PAI-靈駿平臺可以支撐圖形影像識別、自然語言處理、搜尋廣告推薦、通用大模型等大規模分散式的AI研發場景,適用於自動駕駛、金融風控、藥物研發、科學智慧、元宇宙、網際網路和ISV等行業。
從物理網路到雲網絡,網路技術隨著技術浪潮的更迭不斷演進,但是其中用到的底層基礎知識萬變不離其宗,展開來說從物理主機->虛擬機器->雲原生容器化,大多是依賴我們大學學習的《計算機組成原理》的核心元件在透過各種虛擬化的方式來實現,我們掌握計算機底層知識對緊跟技術演進方向會有所助力。最後希望透過本文的閱讀能夠對同樣想了解雲網絡的朋友有所幫助。
參考資料:
物理網路科普:https://zhuanlan.zhihu.com/p/654026706
RDMA介紹:https://zhuanlan.zhihu.com/p/55142557
靈駿介紹:https://help.aliyun.com/zh/pai/user-guide/features