自 2010 年以來,網絡的所有權開始從網絡供應商轉移到網絡運營商,這種轉變很大程度是由SDN、解耦和開源的理念推動的。
數據平面是應用SDN、解耦和開源的理念的另一個領域。 像P4這樣的語言和編程抽象為數據平面提供了一個通用的編程模型,成為描述網絡設備如何轉發數據包的標準方式。數據平面可編程性為運營商提供了前所未有的控制,即支持哪些功能以及如何在網絡中處理數據包。
這場變革最初是從控制交換機開始的,如今我們正在見證新的趨勢,例如SmartNIC/ DPU/IPU。不管如何稱呼,它們通過卸載網絡功能,將數據平面可編程性擴展到服務器,同時提供更好的性能、安全性和隔離性。同樣,業界正在積極推動內核和虛擬交換機的可編程性(如eBPF和P4-OvS),這些可編程性提供了對數據包處理的控制和可見性。
然而, 擴展數據平面可編程性的范圍意味著需要管理更多的復雜性。 數據包通過基于CPU的vSwitch、網卡和Fabric交換機到達租戶應用程序時,會遇到不同的網絡功能(例如安全檢查、數據包檢測、壓縮、加密等),這些功能是在各種目標上實現的,包括CPU、GPU、 FGPA和交換ASIC。如今,對這些不同功能、不同目標類型和不同供應商的控制、管理和可見性是孤立的,通常會涉及到多個系統之間的協調。這些系統可能由不同的供應商提供,并由不同的團隊管理。因此,很難對流經網絡的數據包做出端到端的服務保證。
SD-Fabric 開源項目
2021年6月4日,開放網絡基金會 (ONF) 宣布了SD-Fabric 開源項目,這是一個高度可編程、完全軟件定義、云管理、全堆棧的網絡架構,使用開源組件(包括 ONOS 和 Stratum)生成。該架構在 P4 可編程交換機上運行,并引入了端到端 QoS、切片和INT 等新功能。
SD-Fabric架構
ONF定義了SD-Fabric架構,如下圖所示:
SD-Fabric架構
1.P4交換機
P4可編程交換機是SD-Fabric的核心,根據可伸縮性和冗余需求,它有一個leaf和spine交換機集群。
2.交換機操作系統
P4 交換機上運行著交換機操作系統,向 P4 Runtime控制器公開功能。
3.SDN控制器
SDN 控制器使用 P4RT(P4 Runtime)和 gNMI 作為配置工具和路徑控制器。ONF 在這里使用了ONOS控制器。
4. SD-Fabric 應用程序
這些是在計算刀片上運行的各種應用程序,例如帶內遙測應用程序和Trellis應用程序等。
5.API
它是一個 API 驅動的架構,SD-Fabric 應用程序向操作控制中心公開API。
6.Runtime Operations & Control
整個系統通過Runtime Operations & Control進行云管理,可以在私有云和公有云上運行。
SD-Fabric特性
SD-Fabric 建立在SDN和云原生基礎之上,創建了一個顛覆性的平臺。
- 首先,SD-Fabric是一種使用裸金屬交換機和商用ASIC芯片的解耦解決方案。 SD- Fabric不使用OEM網絡硬件,而是直接使用來自ODM的硬件。在大規模帶寬密度和商用ASIC芯片日益成熟的推動下,如今的網絡行業開始越來越多地使用裸金屬(白盒)交換機。
- 第二,SD-Fabric基于SDN原理,使用P4的可編程數據平面。 P4 允許引入傳統架構中沒有的新功能。通過將網絡的控制、管理功能和策略決策外化到ONOS?SDN控制器中,與BGP等傳統的嵌入式網絡控制相比,SD-Fabric為網絡運營商提供了許多優勢,包括可定制性、集中配置、自動化、簡化操作和故障排除。因此,SD-Fabric是真正在控制平面和數據平面上定義的軟件。
- SD-Fabric公開了API,使開發人員能夠獲得更好的可見性和控制,同時使自定義P4轉發邏輯“推”到網絡中。 SD-Fabric可以進一步部署在SaaS模型中,從公有云運行集中的操作和控制。
- 與傳統方法相比, SD-Fabric提供了卓越的彈性和安全性。 SD-Fabric的可編程性實現了細粒度測量(通過帶內網絡遙測、網絡驗證和閉環控制)。
- SD-Fabric可以在公有云中 作為一種“即服務”形式進行部署 。當作為“即服務”部署時,SD- Fabric提供了一個完整的堆棧實現。
傳統架構與SD-Fabric對比
與傳統的架構相比,SD-Fabric有什么優勢?
SD-Fabric的核心是L3架構,其中IPv4和IPv6數據包通過Spine交換機使用多條等成本路徑跨服務器機架進行路由。每個服務器機架內也支持L2橋接和VLAN,計算節點可以雙歸屬到雙活配置(M-LAG)中的兩個ToR交換機上。SD-Fabric假設fabric通過傳統路由器連接到公共互聯網和公有云(或其他網絡)。
典型 Leaf-Spine拓撲中的SD-Fabric
SD-Fabric支持許多其他的路由器特性,如靜態路由、多播、DHCP L3中繼,以及使用基于第2/3/4層選項的ACL在入口丟棄流量或通過基于策略的路由重定向流量。但是SDN控制極大地簡化了在每個交換機上運行的軟件,并且將控制轉移到運行在邊緣云上的SDN應用程序中。
SD-Fabric超越了傳統架構
可編程數據平面和P4
SD-Fabric的數據平面是完全可編程的。 與傳統架構形成鮮明對比的是,交換機供應商并沒有規定這些功能,這是通過P4實現的。P4允許運營商通過重新編程現有的交換機,推出新的功能和服務,不斷發展其網絡基礎設施。相比之下,基于固定功能ASIC的傳統架構受制于極其漫長的硬件開發周期(平均4年),并且需要昂貴的基礎設施升級以支持新功能。
SD-Fabric 支持在計算節點之間整個路徑上的每一跳處對轉發行為進行編程
SD-Fabric利用了P4的可編程性,擴展了傳統的L2/L3管道的交換和路由功能,如4G/5G 移動核心用戶平面功能(UPF)和帶內網絡遙測(INT)。
4G/5G移動核心用戶平面功能
SD-Fabric中的交換機可以被編程為以線路速率執行UPF功能。 與vRouter類似,一個新的ONOS應用程序將整個leaf-spine 結構抽象為一個大的UPF,使用符合3GPP的分組轉發控制協議實現,提供與移動核心控制平面的集成。
通過集成的UPF處理,SD-Fabric可以為多太比特和低延遲的邊緣應用程序實現4G/5G本地突破,而不占用容器或虛擬機的CPU處理能力。與基于SmartNIC卸載的UPF解決方案相比,SDFabric的嵌入式UPF除了用于互連服務器和基站的相同leaf和spine交換機外,不需要額外的硬件。同時,SD-Fabric可以與基于CPU或基于SmartNIC的UPF集成,以提高規模,同時支持基于硬件的快速路徑上的差異化服務,用于關鍵的4G/5G應用程序。
帶內網絡遙測
SD-Fabric提供了對帶內網絡遙測(INT)的可擴展支持,為架構如何處理單個數據包提供了前所未有的可見性。 為此,P4定義的交換機管道得到了擴展,能夠為許多數據包事件和異常生成INT報告,例如:
- 對于每個流(5元組),它會生成定期報告,以監控每個網絡跳(交換機)引入的交換機、端口、隊列和端到端延遲的路徑。
- 如果一個數據包被丟棄,它會生成一個帶有交換機ID和丟棄原因的報告。
- 在擁塞期間,它會生成報告,以在給定時間重建隊列的快照,從而可以準確地識別是哪個流導致了其他流的延遲或下降。
- 對于GTP-U隧道,它生成關于內部流的報告,從而監控單個UE流的轉發行為和感知的 QoS。
SD-Fabric的INT實現符合開源的INT規范。此外,為了避免重載INT收集器和最小化INT報告的開銷,SD-Fabric的數據平面使用P4實現智能過濾器和觸發器,大大減少報告的數量。
靈活的ASIC資源分配
SD-Fabric軟件堆棧基礎上的P4程序為常見的L2/L3功能和專用功能定義了匹配操作表,其中存儲GTP-U隧道信息等。與傳統架構中使用的固定功能ASIC相比,表的尺寸不是固定的。例如,對于以路由為主的部署,可以決定增加IPv4路由表,使其占用ASIC總內存的90%,使用最長前綴匹配項和精確匹配 /32項,同時減少其他表的大小。類似地,當為UPF使用SD-Fabric時,可以決定使用更大的 GTP-U隧道表重新編譯P4程序,同時將IPv4路由表的大小減少到10-100個條目,或者完全刪除IPv6表。
閉環控制
通過完全的透明性、可見性和可驗證性,SD-Fabric能夠通過可編程的實時閉環控制進行優化和保護。可以將閉環控制應用于各種用例,包括資源優化(流量工程)、驗證(轉發行為)、安全性(DDoS緩解)等。
SDN、白盒和開源
SD-Fabric在控制平面和數據平面上都是基于SDN的純粹實現。當與開源相結合時,使運營商能夠更快地開發特性,更靈活地部署,并以他們想要的方式定制/優化特性。此外,SDN有助于集中配置所有網絡功能,并允許集中網絡監控和故障排除。與OEM供應商的產品相比,使用ODM的白盒(裸金屬)交換硬件顯著降低了資本支出成本。從某些方面來說,成本節省可能高達60%。
最后,開源軟件允許網絡運營商開發自己的應用程序,并選擇如何與后端系統集成。與傳統的網絡架構相比,SD-Fabric對運營商、企業和政府應用程序非常有吸引力。
可擴展的API
傳統的網絡架構通常是一個不透明的管道,應用程序將數據包發送到網絡中,并希望它們傳送到另一端。當數據包沒有到達目的地時,幾乎沒有辦法確定是哪里出現了問題。
通過SD-Fabric API,網絡應用程序可以完全了解和控制其數據包的處理方式 。例如,對延遲敏感的應用程序可以選擇通知網絡延遲,并在當前轉發路徑上出現擁塞時指示fabric重定向其數據包。類似地,API提供了一種將網絡流量與網絡片關聯起來的方法,從而提供了QoS保證和與其他片的流量隔離。該API還通過提供一種可編程的方式來動態更改數據包轉發行為,在閉環控制中起著關鍵作用。
在高層次上,SD-Fabric的API可分為四大類:配置、信息、控制和OAM。
- 配置:API允許用戶設置SD-Fabric功能,如橋接的VLAN信息和路由的子網信息。
- 信息:API允許用戶獲取SD-Fabric的運行狀態、度量標準和網絡事件,如鏈路擁塞、計數器和端口狀態。
- 控制:API使用戶能夠動態地改變fabric的轉發行為,如刪除或重定向流量、設置QoS分類和應用網絡切片策略。
- OAM:API公開了操作和管理功能,如軟件升級和故障排除,允許SD-Fabric與現有的編排系統和工作流集成。
未來計劃
ONF 希望逐步擴展 SDN 控制域,并引入額外的數據平面可編程性,可分為以下三個方面:
1.將 SD-Fabric 擴展到 NIC 和 vSwitch
2.擴大網絡功能的嵌入
3.為現有交換機堆棧帶來 SDN 和數據平面可編程性的優勢
將 SD-Fabric 擴展到NIC和vSwitch
擴展 SDN 控制域以包括SmartNIC
將現有的 SD-Fabric 功能擴展到服務器,例如:
- 強制切片隔離和 QoS 以管理在同一服務器上運行的競爭應用程序之間的 NIC 緩沖區;
- 將 INT 可見性擴展到 NIC 管道以檢測丟棄、擁塞和其他異常情況。
此步驟為控制 SD-Fabric 中的其他服務器 NIC 功能(包括切片、INT 和 QoS)奠定了基礎。
擴展 SDN 控制域以包括 vSwitch
此步驟將控制域擴展到另一層,從而啟用新功能。例如:
- 在容器(或 VM)虛擬接口上的切片和 QoS 提供早期分類;
- 擴展 INT 可見性以檢測丟棄和其他異常情況;
- 探索統一/扁平化underlay和overlay網絡,以獲得更好的可見性、更少的開銷和更簡單的網絡設計。
完成這一步將實現一個真正的端到端可編程架構,允許在網絡域中控制和監視從源應用程序到目的地的數據包。
擴大網絡功能嵌入
該部分的重點是使 SD-Fabric 成為一個框架,允許運營商利用加速器的多樣性來執行網絡功能,例如 5G UPF。
該步驟將使 SD-Fabric 能夠控制卸載的網絡功能,如 UPF,運行在不同的加速器而不是交換機上。例如,它可以控制一個僅依賴 NIC 進行路由和 UPF 的無交換機架構。與如今采用的孤立方法相比,這將為不同的網絡目標提供更統一的處理方式,并且將有助于選擇在控制平面和應用層上進行最小或不更改的情況下將功能部署到不同的目標類型。
為現有交換機堆棧帶來 SDN 和數據平面可編程性的優勢
該部分關注兩個共生目標:通過利用已經支持的開源平臺(例如 SONiC、OvS),允許 SD-Fabric 在更廣泛的目標集上運行,并將 SDN 和數據平面可編程性的優勢帶給更多的網絡社區。將 SDN 接口和數據平面可編程性視為可以移植到現有交換機操作系統或發行版的應用程序,而不是競爭性的全堆棧解決方案。
-
服務器
+關注
關注
13文章
9793瀏覽量
87957 -
API
+關注
關注
2文章
1617瀏覽量
64024 -
sdn
+關注
關注
3文章
256瀏覽量
45655
發布評論請先 登錄
請問可編程增益儀表放大器PGA281的輸入可以是單端嗎?
可編程電壓范圍指的是輸入到ADS828芯片的電壓范圍嗎
三端雙向可控硅撬棒NCP432B可編程精密基準的典型應用
可編程SoC(SoPC),什么是可編程SoC(SoPC)
Mellanox推出全新的BlueField可編程芯片
LT3092演示電路-200 mA 2端可編程電流源(36V至200 mA)

LT3092演示電路-200 mA 2端可編程電流源(36V至200 mA)

SD-Fabric:端到端可編程數據平面

評論