0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探討SONiC-DASH網(wǎng)絡(luò)可編程技術(shù)

SDNLAB ? 來源:SDNLAB ? 2024-04-25 13:00 ? 次閱讀

SONiC(Software for Open Networking in the Cloud,云中開放網(wǎng)絡(luò)軟件)是一個基于 Linux 的開源網(wǎng)絡(luò)操作系統(tǒng) (NOS),旨在為現(xiàn)代網(wǎng)絡(luò)環(huán)境帶來靈活性和效率。與傳統(tǒng)的專有網(wǎng)絡(luò)操作系統(tǒng)相比,SONiC的核心思想是引入開放網(wǎng)絡(luò)原則,即將硬件與軟件解耦,使得網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)可以在各種硬件平臺上運行,從而促進(jìn)了互操作性。SONiC是最受歡迎的網(wǎng)絡(luò)開源項目之一。 SONiC-DASH是SONiC NOS的擴展,全稱為Disaggregated API for SONiC Hosts,簡稱DASH。它是一款開源軟件,旨在利用各種智能網(wǎng)卡(SmartNIC)、智能交換機(SmartSwitch)、數(shù)據(jù)處理單元(DPU)、IPU、加速器和其他網(wǎng)絡(luò)設(shè)備,為云應(yīng)用提供企業(yè)級網(wǎng)絡(luò)性能。

DASH的設(shè)計目標(biāo)是將SONiC擴展到標(biāo)準(zhǔn)功能之外,允許在邊緣或者定制網(wǎng)絡(luò)路徑上使用。通過DASH,管理員能夠利用外部處理元件來卸載CPU并加速各種任務(wù),例如人工智能/機器學(xué)習(xí)、數(shù)據(jù)分析、深度數(shù)據(jù)包檢測、媒體和信號處理、虛擬現(xiàn)實以及科學(xué)和軍事應(yīng)用等。DASH還提供了一個框架,用于編寫這些服務(wù)的行為模型,以及測試用例。 DASH 的主要目標(biāo)是讓可編程技術(shù)足夠具體,以優(yōu)化網(wǎng)絡(luò)性能并充分利用商用硬件技術(shù),從而實現(xiàn)10倍甚至100倍的狀態(tài)連接性能。

SONiC 和 DASH 架構(gòu)

SONiC 是一款專為交換機(包括TOR交換機、spine交換機和邊界leaf交換機)量身定制的網(wǎng)絡(luò)操作系統(tǒng),為網(wǎng)絡(luò)設(shè)備管理提供了強大的框架,實現(xiàn)了網(wǎng)絡(luò)操作的可編程性和自動化。 另一方面,DASH主要運行在智能設(shè)備上,專注于從CPU上卸載處理任務(wù)以提升任務(wù)加速。DASH 利用 SONiC 提供的現(xiàn)有 API 擴展其功能來與基于 SONiC 的網(wǎng)絡(luò)環(huán)境集成。 DASH 建立在 SONiC 的基礎(chǔ)系統(tǒng)架構(gòu)之上。它仍然依賴于 redis-db 作為數(shù)據(jù)和模塊的中心點,這些數(shù)據(jù)和模塊打包到容器中,發(fā)布/訂閱數(shù)據(jù)并與外部環(huán)境進(jìn)行交互。DASH 由 SONiC 模塊組成,并進(jìn)行了一些擴展,可以與現(xiàn)有 SONiC 生態(tài)系統(tǒng)無縫集成。 下圖展示了 DASH 擴展或添加的模塊以及它們之間的交互:

328d90b8-0222-11ef-a297-92fbcf53809c.png

圖 1:SONiC 和 DASH 架構(gòu) 如果我們將 DASH 視為與外部環(huán)境交互的黑盒軟件,則會涉及兩個主要組件用于通信。第一個是北向API,稱為DASH API,它方便SDN控制器對DASH的管理。第二個是南向 API,它是一種擴展的 SAI API(交換機抽象接口 API),提供獨立于供應(yīng)商的機制來控制轉(zhuǎn)發(fā)元件。 DASH擴展的組件:

gNMI容器:負(fù)責(zé)實現(xiàn)gNMI協(xié)議的組件,基于gRPC和Protocol Buffers。它支持使用基于 gNMI 的網(wǎng)絡(luò)管理工具和平臺遠(yuǎn)程管理和配置 SONiC-DASH 設(shè)備。

Redis DB:主要用于存儲實時操作數(shù)據(jù)以及SONiC生態(tài)系統(tǒng)內(nèi)各個組件之間的通信。

orchagent:負(fù)責(zé)將高級配置轉(zhuǎn)換為低級操作的關(guān)鍵組件。Orchagent 抽象了網(wǎng)絡(luò)設(shè)備配置,使 SONiC 能夠通過與 SAI API 接口在各種硬件平臺上無縫工作,SAI API 提供了用于訪問特定于硬件的功能的標(biāo)準(zhǔn)化接口。

交換機抽象接口(SAI)API:提供標(biāo)準(zhǔn)化編程接口,抽象不同底層交換ASIC和硬件平臺的功能。

DASH 配置由 SDN 控制器編排,管理基礎(chǔ)設(shè)施物理層(underlay)之上建立的overlay層。SDN 控制器和 DASH 設(shè)備之間的通信通過托管在新 SONiC-DASH 容器內(nèi)的基于 gRPC 的 gNMI 端點進(jìn)行。在 DASH 容器中,在 gNMI 中建模的 SDN 配置被轉(zhuǎn)換為 Redis DB 中的 DASH_APP_DB 對象。

隨后,交換機狀態(tài)服務(wù) (SWSS) 容器內(nèi)的 SONiC orchagent得到增強,可將這些對象轉(zhuǎn)換和解釋為 ASIC_DB 對象,包括新引入的 DASH 特定 SAI 對象。然后,改進(jìn)的syncd利用供應(yīng)商特定的SAI 庫來配置數(shù)據(jù)平面。

DASH管道

DASH 在傳統(tǒng) SONiC 管理的底層基礎(chǔ)設(shè)施之上建立了overlay服務(wù)。這種overlay服務(wù)或應(yīng)用利用管道作為自適應(yīng)處理單元,允許創(chuàng)建自定義處理邏輯,每個階段都描述了一系列表,表項根據(jù)指定的標(biāo)準(zhǔn)匹配數(shù)據(jù)包并執(zhí)行相應(yīng)的操作。這些管道位于數(shù)據(jù)平面(例如SmartNIC, DPU),支持動態(tài)配置。 此外,還可以對管道進(jìn)行編程,以動態(tài)適應(yīng)不斷變化的網(wǎng)絡(luò)需求。這種靈活性支持定義針對特定數(shù)據(jù)包行為的操作,如丟棄、轉(zhuǎn)發(fā)、修改或保存。例如,入站數(shù)據(jù)包處理管道可以管理發(fā)往虛擬網(wǎng)絡(luò) (VNET) 內(nèi)的虛擬機 (VM) 的流量。

329ded64-0222-11ef-a297-92fbcf53809c.png

圖2:入站數(shù)據(jù)包處理管道 DASH 是一個相對較新的項目,目前已經(jīng)為云提供了一些初始服務(wù)。 以下是支持的應(yīng)用程序:

VNET 到 VNET - 允許 VNET 中的 VM 到 VM 通信、路由支持、LPM 支持、ACL 支持;

VNET 對等互連 - 連接兩個或多個虛擬網(wǎng)絡(luò);

高可用性 (HA) - 在故障轉(zhuǎn)移的情況下提高可用性;

負(fù)載均衡 - 使用虛擬機之間的直接路徑在端點之間分配傳入網(wǎng)絡(luò)流量以確保高效利用;

服務(wù)隧道和專用鏈路 - 在允許訪問的 VNET 的專用鏈路之間建立連接;

加密網(wǎng)關(guān) - 管理網(wǎng)絡(luò)內(nèi)數(shù)據(jù)流量的加密和解密的服務(wù);

快速路由網(wǎng)關(guān) - 允許客戶建立云服務(wù)的私有和專用連接。

P4和 DASH

P4是一種特定于領(lǐng)域的編程語言,旨在定義交換機和路由器等轉(zhuǎn)發(fā)設(shè)備如何處理網(wǎng)絡(luò)數(shù)據(jù)包。與傳統(tǒng)的網(wǎng)絡(luò)語言不同,P4 專注于提供高水平的抽象來對數(shù)據(jù)平面進(jìn)行編程,讓網(wǎng)工能夠自定義和優(yōu)化數(shù)據(jù)包處理,無需依賴于特定的硬件或協(xié)議。

P4 是協(xié)議無關(guān)的,這意味著它允許用戶定義數(shù)據(jù)包處理的行為,無需綁定到特定的網(wǎng)絡(luò)協(xié)議。在快速發(fā)展的網(wǎng)絡(luò)環(huán)境中,新的協(xié)議和技術(shù)不斷涌現(xiàn),P4 的靈活性顯得尤其有價值。借助 P4,網(wǎng)絡(luò)運營商可以調(diào)整其基礎(chǔ)設(shè)施來支持這些變化,無需進(jìn)行大量硬件升級或更換。

P4 的主要用例之一是SDN環(huán)境。SDN將控制平面與數(shù)據(jù)平面分離,允許網(wǎng)絡(luò)管理員動態(tài)地控制和管理網(wǎng)絡(luò)行為。P4 支持在數(shù)據(jù)平面中對自定義數(shù)據(jù)包處理邏輯進(jìn)行編程,從而促進(jìn)高度靈活和可編程的網(wǎng)絡(luò)架構(gòu)的創(chuàng)建。
DASH 定義了數(shù)據(jù)平面設(shè)備處理數(shù)據(jù)包的方法,主要通過管道來實現(xiàn)。而P4 用于建模和描述 DASH 管道。通過P4,網(wǎng)工可以定義在硬件中執(zhí)行的自定義數(shù)據(jù)包處理邏輯,從而減輕通用 CPU 的工作負(fù)擔(dān)并加快數(shù)據(jù)包處理速度。

P4代碼是數(shù)據(jù)平面行為的最終規(guī)范。具體來說,通過使用P4代碼或由P4編譯器生成的P4Info,可以自動生成DASH SAI頭文件,從而建立P4代碼與相應(yīng)的DASH-SAI API之間的連接。此外,用于測試overlay服務(wù)的SAIThrift代碼也是自動生成的。這種集成突顯了P4作為數(shù)據(jù)平面行為的單一來源的重要性。 需要注意的是,P4用于描述數(shù)據(jù)平面的行為,用于生成頭文件,但數(shù)據(jù)平面本身的實現(xiàn)并不一定要在P4中進(jìn)行。如何實現(xiàn)數(shù)據(jù)平面取決于硬件供應(yīng)商,但必須符合P4中描述的模型。

32b15a66-0222-11ef-a297-92fbcf53809c.png

圖 3:帶有 P4 的 DASH 管道

如前所述,DASH是SONiC的擴展,其代碼庫和API有單獨的存儲庫。盡管有這些單獨的存儲庫,但構(gòu)建過程通過其指定的構(gòu)建環(huán)境(稱為SONiC-buildimage)與SONiC無縫集成。在啟動SONiC構(gòu)建時,DASH代碼會自動包含并編譯,以確保其集成到SONiC生態(tài)系統(tǒng)中。為了確保操作功能的完整性,某些組件必須與DASH一起構(gòu)建。 DASH旨在通過增強硬件編程來實現(xiàn)廣泛的網(wǎng)絡(luò)功能,它借助SONiC的架構(gòu)和關(guān)鍵組件,并遵循SDN方法來實現(xiàn)數(shù)據(jù)平面。盡管DASH仍處于開發(fā)階段,但已經(jīng)與SONiC的主流基線集成。當(dāng)前,硬件供應(yīng)商還需要更多時間來發(fā)布符合DASH標(biāo)準(zhǔn)的設(shè)備。我們看到了這項技術(shù)的巨大潛力,它將成為未來網(wǎng)絡(luò)實施的一個重要組成部分。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 交換機
    +關(guān)注

    關(guān)注

    20

    文章

    2610

    瀏覽量

    99111
  • 網(wǎng)絡(luò)設(shè)備

    關(guān)注

    0

    文章

    307

    瀏覽量

    29584
  • Sonics
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6201
  • DASH
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    2674

原文標(biāo)題:SONiC-DASH:網(wǎng)絡(luò)可編程的進(jìn)化之路

文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    可編程技術(shù)的引爆點

    25年前,賽靈思(Xilinx)公司發(fā)明了FPGA(現(xiàn)場可編程門陣列)。如今,以FPGA為代表的可編程芯片應(yīng)用已經(jīng)成為勢不可擋的發(fā)展趨勢,尤其在ASSP和傳統(tǒng)ASIC之間出現(xiàn)的市場缺口上,F(xiàn)PGA將開辟出新的領(lǐng)域,而目前席卷全球的金融危機更是成為FPGA迅速發(fā)展的催化劑。
    發(fā)表于 07-25 08:05

    分享一款不錯的基于SRAM編程技術(shù)的PLD核心可重構(gòu)電路結(jié)構(gòu)設(shè)計

    CPLD的核心可編程結(jié)構(gòu)介紹基于SRAM編程技術(shù)的PLD電路結(jié)構(gòu)設(shè)計
    發(fā)表于 04-08 06:51

    如何設(shè)計具有相似功能且基于SRAM編程技術(shù)的電路結(jié)構(gòu)?

    CPLD的核心可編程結(jié)構(gòu)是怎樣的?如何設(shè)計具有相似功能且基于SRAM編程技術(shù)的電路結(jié)構(gòu)?基于SRAM編程技術(shù)的PLD電路結(jié)構(gòu)是怎樣設(shè)計的?基于SRAM編程技術(shù)的P-Term電路結(jié)構(gòu)是怎
    發(fā)表于 04-14 06:51

    PLC控制系統(tǒng)的編程技術(shù)

    介紹了可編程序控制器控制系統(tǒng)開發(fā)過程中,PLC梯形圖編程要注意的問題及相應(yīng)的編程技術(shù)。關(guān)鍵詞:可編程序控制器;控制系統(tǒng);梯形圖;編程技術(shù)
    發(fā)表于 05-31 14:28 ?15次下載

    DSP器件的現(xiàn)場可編程技術(shù)

    DSP器件的現(xiàn)場可編程技術(shù) DSP問世以來,以其強大的功能、合理的價格已經(jīng)被設(shè)計者廣泛應(yīng)用。但不同于FPGA器件的是,DSP并不是為現(xiàn)場可編程而開發(fā)的,因此,在嵌入了DSP器
    發(fā)表于 01-07 10:11 ?911次閱讀
    DSP器件的現(xiàn)場<b class='flag-5'>可編程技術(shù)</b>

    Xilinx針對消費數(shù)字電視顯示器擴展可編程技術(shù)優(yōu)勢

    Xilinx針對消費數(shù)字電視顯示器擴展可編程技術(shù)優(yōu)勢  全球可編程邏輯解決方案領(lǐng)導(dǎo)廠商賽靈思公司(Xilinx, Inc. )日前在美國國際消費電子展 (CES) 上宣布推出首款為開發(fā)最
    發(fā)表于 01-09 09:09 ?523次閱讀

    賽靈思發(fā)布28納米FPGA平臺 推進(jìn)可編程技術(shù)

    賽靈思發(fā)布28納米FPGA平臺 推進(jìn)可編程技術(shù) 賽靈思公司(Xilinx)宣布發(fā)布賽靈思新一代可編程FPGA平臺。 據(jù)悉,目前過高的ASIC設(shè)計和制造成本、快速演化的相關(guān)
    發(fā)表于 02-24 09:31 ?742次閱讀

    可編程SoC(SoPC),什么是可編程SoC(SoPC)

    可編程SoC(SoPC),什么是可編程SoC(SoPC) SOPC ( System on a Programmable Chip,片上可編程系統(tǒng))是以PLD(可編程邏輯器件)取代A
    發(fā)表于 03-26 17:01 ?2415次閱讀

    現(xiàn)代可編程序控制器網(wǎng)絡(luò)通信技術(shù)_部分2

    通信、網(wǎng)絡(luò)通信技術(shù)原理及IEEE802等網(wǎng)絡(luò)通信協(xié)議國際標(biāo)準(zhǔn);工業(yè)網(wǎng)絡(luò)可編程序控制器網(wǎng)絡(luò)通信的
    發(fā)表于 04-19 15:45 ?5次下載

    現(xiàn)代可編程序控制器網(wǎng)絡(luò)通信技術(shù)_部分1

    通信、網(wǎng)絡(luò)通信技術(shù)原理及IEEE802等網(wǎng)絡(luò)通信協(xié)議國際標(biāo)準(zhǔn);工業(yè)網(wǎng)絡(luò)可編程序控制器網(wǎng)絡(luò)通信的
    發(fā)表于 04-19 15:45 ?3次下載

    Flash單片機自編程技術(shù)探討

    Flash單片機自編程技術(shù)探討
    發(fā)表于 01-14 12:32 ?6次下載

    可編程技術(shù)網(wǎng)絡(luò)芯片上的應(yīng)用

    網(wǎng)絡(luò)是數(shù)據(jù)中心里的交通樞紐,連接著所有運行應(yīng)用業(yè)務(wù)的設(shè)備。沒有網(wǎng)絡(luò),也就沒有數(shù)據(jù)中心,沒有互聯(lián)網(wǎng)的今天,網(wǎng)絡(luò)在數(shù)據(jù)中心里發(fā)揮著非常關(guān)鍵的作用,所以網(wǎng)絡(luò)技術(shù)一直是熱點,在不斷發(fā)展進(jìn)化著,
    發(fā)表于 08-23 17:48 ?1129次閱讀

    可編程時代下網(wǎng)絡(luò)芯片如何應(yīng)用可編程技術(shù)

    網(wǎng)絡(luò)是數(shù)據(jù)中心里的交通樞紐,連接著所有運行應(yīng)用業(yè)務(wù)的設(shè)備。沒有網(wǎng)絡(luò),也就沒有數(shù)據(jù)中心,沒有互聯(lián)網(wǎng)的今天,網(wǎng)絡(luò)在數(shù)據(jù)中心里發(fā)揮著非常關(guān)鍵的作用,所以網(wǎng)絡(luò)技術(shù)一直是熱點,在不斷發(fā)展進(jìn)化著,
    發(fā)表于 12-24 15:27 ?1504次閱讀

    可編程技術(shù)網(wǎng)絡(luò)芯片的應(yīng)用,可增強網(wǎng)絡(luò)的靈活性

    沒有網(wǎng)絡(luò),也就沒有數(shù)據(jù)中心,沒有互聯(lián)網(wǎng)的今天,網(wǎng)絡(luò)在數(shù)據(jù)中心里發(fā)揮著非常關(guān)鍵的作用,所以網(wǎng)絡(luò)技術(shù)一直是熱點,在不斷發(fā)展進(jìn)化著,其中就包含可編程技術(shù)。
    發(fā)表于 04-13 11:35 ?1073次閱讀

    采用5管單元的SRAM結(jié)構(gòu)實現(xiàn)CPLD可編程電路的設(shè)計

    顯然,設(shè)計基于SRAM編程技術(shù)的CPLD可以很好解決上述應(yīng)用問題。CPLD的設(shè)計和實現(xiàn)的關(guān)鍵問題是核心可編程電路結(jié)構(gòu)的實現(xiàn)。因此,本文主要探討針對CPLD的核心可編程結(jié)構(gòu),如何設(shè)計具有
    發(fā)表于 04-25 10:21 ?1932次閱讀
    采用5管單元的SRAM結(jié)構(gòu)實現(xiàn)CPLD<b class='flag-5'>可編程</b>電路的設(shè)計