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