自 2010 年以來(lái),網(wǎng)絡(luò)的所有權(quán)開(kāi)始從網(wǎng)絡(luò)供應(yīng)商轉(zhuǎn)移到網(wǎng)絡(luò)運(yùn)營(yíng)商,這種轉(zhuǎn)變很大程度是由SDN、解耦和開(kāi)源的理念推動(dòng)的。
數(shù)據(jù)平面是應(yīng)用SDN、解耦和開(kāi)源的理念的另一個(gè)領(lǐng)域。 像P4這樣的語(yǔ)言和編程抽象為數(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ī)開(kāi)始的,如今我們正在見(jiàn)證新的趨勢(shì),例如SmartNIC/ DPU/IPU。不管如何稱(chēng)呼,它們通過(guò)卸載網(wǎng)絡(luò)功能,將數(shù)據(jù)平面可編程性擴(kuò)展到服務(wù)器,同時(shí)提供更好的性能、安全性和隔離性。同樣,業(yè)界正在積極推動(dòng)內(nèi)核和虛擬交換機(jī)的可編程性(如eBPF和P4-OvS),這些可編程性提供了對(duì)數(shù)據(jù)包處理的控制和可見(jiàn)性。
然而, 擴(kuò)展數(shù)據(jù)平面可編程性的范圍意味著需要管理更多的復(fù)雜性。 數(shù)據(jù)包通過(guò)基于CPU的vSwitch、網(wǎng)卡和Fabric交換機(jī)到達(dá)租戶(hù)應(yīng)用程序時(shí),會(huì)遇到不同的網(wǎng)絡(luò)功能(例如安全檢查、數(shù)據(jù)包檢測(cè)、壓縮、加密等),這些功能是在各種目標(biāo)上實(shí)現(xiàn)的,包括CPU、GPU、 FGPA和交換ASIC。如今,對(duì)這些不同功能、不同目標(biāo)類(lèi)型和不同供應(yīng)商的控制、管理和可見(jiàn)性是孤立的,通常會(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 開(kāi)源項(xiàng)目
2021年6月4日,開(kāi)放網(wǎng)絡(luò)基金會(huì) (ONF) 宣布了SD-Fabric 開(kāi)源項(xiàng)目,這是一個(gè)高度可編程、完全軟件定義、云管理、全堆棧的網(wǎng)絡(luò)架構(gòu),使用開(kāi)源組件(包括 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控制器公開(kāi)功能。
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)用程序向操作控制中心公開(kāi)API。
6.Runtime Operations & Control
整個(gè)系統(tǒng)通過(guò)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ò)硬件,而是直接使用來(lái)自O(shè)DM的硬件。在大規(guī)模帶寬密度和商用ASIC芯片日益成熟的推動(dòng)下,如今的網(wǎng)絡(luò)行業(yè)開(kāi)始越來(lái)越多地使用裸金屬(白盒)交換機(jī)。
- 第二,SD-Fabric基于SDN原理,使用P4的可編程數(shù)據(jù)平面。 P4 允許引入傳統(tǒng)架構(gòu)中沒(méi)有的新功能。通過(guò)將網(wǎng)絡(luò)的控制、管理功能和策略決策外化到ONOS?SDN控制器中,與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公開(kāi)了API,使開(kāi)發(fā)人員能夠獲得更好的可見(jiàn)性和控制,同時(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è)量(通過(guò)帶內(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ù)包通過(guò)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通過(guò)傳統(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在入口丟棄流量或通過(guò)基于策略的路由重定向流量。但是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)商并沒(méi)有規(guī)定這些功能,這是通過(guò)P4實(shí)現(xiàn)的。P4允許運(yùn)營(yíng)商通過(guò)重新編程現(xiàn)有的交換機(jī),推出新的功能和服務(wù),不斷發(fā)展其網(wǎng)絡(luò)基礎(chǔ)設(shè)施。相比之下,基于固定功能ASIC的傳統(tǒng)架構(gòu)受制于極其漫長(zhǎng)的硬件開(kāi)發(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)核心用戶(hù)平面功能(UPF)和帶內(nèi)網(wǎng)絡(luò)遙測(cè)(INT)。
4G/5G移動(dòng)核心用戶(hù)平面功能
SD-Fabric中的交換機(jī)可以被編程為以線(xiàn)路速率執(zhí)行UPF功能。 與vRouter類(lèi)似,一個(gè)新的ONOS應(yīng)用程序?qū)⒄麄€(gè)leaf-spine 結(jié)構(gòu)抽象為一個(gè)大的UPF,使用符合3GPP的分組轉(zhuǎn)發(fā)控制協(xié)議實(shí)現(xiàn),提供與移動(dòng)核心控制平面的集成。
通過(guò)集成的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ù)包提供了前所未有的可見(jiàn)性。 為此,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)符合開(kāi)源的INT規(guī)范。此外,為了避免重載INT收集器和最小化INT報(bào)告的開(kāi)銷(xiāo),SD-Fabric的數(shù)據(jù)平面使用P4實(shí)現(xiàn)智能過(guò)濾器和觸發(fā)器,大大減少報(bào)告的數(shù)量。
靈活的ASIC資源分配
SD-Fabric軟件堆棧基礎(chǔ)上的P4程序?yàn)槌R?jiàn)的L2/L3功能和專(zhuān)用功能定義了匹配操作表,其中存儲(chǔ)GTP-U隧道信息等。與傳統(tǒng)架構(gòu)中使用的固定功能ASIC相比,表的尺寸不是固定的。例如,對(duì)于以路由為主的部署,可以決定增加IPv4路由表,使其占用ASIC總內(nèi)存的90%,使用最長(zhǎng)前綴匹配項(xiàng)和精確匹配 /32項(xiàng),同時(shí)減少其他表的大小。類(lèi)似地,當(dāng)為UPF使用SD-Fabric時(shí),可以決定使用更大的 GTP-U隧道表重新編譯P4程序,同時(shí)將IPv4路由表的大小減少到10-100個(gè)條目,或者完全刪除IPv6表。
閉環(huán)控制
通過(guò)完全的透明性、可見(jiàn)性和可驗(yàn)證性,SD-Fabric能夠通過(guò)可編程的實(shí)時(shí)閉環(huán)控制進(jìn)行優(yōu)化和保護(hù)。可以將閉環(huán)控制應(yīng)用于各種用例,包括資源優(yōu)化(流量工程)、驗(yàn)證(轉(zhuǎn)發(fā)行為)、安全性(DDoS緩解)等。
SDN、白盒和開(kāi)源
SD-Fabric在控制平面和數(shù)據(jù)平面上都是基于SDN的純粹實(shí)現(xiàn)。當(dāng)與開(kāi)源相結(jié)合時(shí),使運(yùn)營(yíng)商能夠更快地開(kāi)發(fā)特性,更靈活地部署,并以他們想要的方式定制/優(yōu)化特性。此外,SDN有助于集中配置所有網(wǎng)絡(luò)功能,并允許集中網(wǎng)絡(luò)監(jiān)控和故障排除。與OEM供應(yīng)商的產(chǎn)品相比,使用ODM的白盒(裸金屬)交換硬件顯著降低了資本支出成本。從某些方面來(lái)說(shuō),成本節(jié)省可能高達(dá)60%。
最后,開(kāi)源軟件允許網(wǎng)絡(luò)運(yùn)營(yíng)商開(kāi)發(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ù)包沒(méi)有到達(dá)目的地時(shí),幾乎沒(méi)有辦法確定是哪里出現(xiàn)了問(wèn)題。
通過(guò)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ù)包。類(lèi)似地,API提供了一種將網(wǎng)絡(luò)流量與網(wǎng)絡(luò)片關(guān)聯(lián)起來(lái)的方法,從而提供了QoS保證和與其他片的流量隔離。該API還通過(guò)提供一種可編程的方式來(lái)動(dòng)態(tài)更改數(shù)據(jù)包轉(zhuǎn)發(fā)行為,在閉環(huán)控制中起著關(guān)鍵作用。
在高層次上,SD-Fabric的API可分為四大類(lèi):配置、信息、控制和OAM。
- 配置:API允許用戶(hù)設(shè)置SD-Fabric功能,如橋接的VLAN信息和路由的子網(wǎng)信息。
- 信息:API允許用戶(hù)獲取SD-Fabric的運(yùn)行狀態(tài)、度量標(biāo)準(zhǔn)和網(wǎng)絡(luò)事件,如鏈路擁塞、計(jì)數(shù)器和端口狀態(tài)。
- 控制:API使用戶(hù)能夠動(dòng)態(tài)地改變fabric的轉(zhuǎn)發(fā)行為,如刪除或重定向流量、設(shè)置QoS分類(lèi)和應(yīng)用網(wǎng)絡(luò)切片策略。
- OAM:API公開(kāi)了操作和管理功能,如軟件升級(jí)和故障排除,允許SD-Fabric與現(xiàn)有的編排系統(tǒng)和工作流集成。
未來(lái)計(jì)劃
ONF 希望逐步擴(kuò)展 SDN 控制域,并引入額外的數(shù)據(jù)平面可編程性,可分為以下三個(gè)方面:
1.將 SD-Fabric 擴(kuò)展到 NIC 和 vSwitch
2.擴(kuò)大網(wǎng)絡(luò)功能的嵌入
3.為現(xiàn)有交換機(jī)堆棧帶來(lái) 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 可見(jiàn)性擴(kuò)展到 NIC 管道以檢測(cè)丟棄、擁塞和其他異常情況。
此步驟為控制 SD-Fabric 中的其他服務(wù)器 NIC 功能(包括切片、INT 和 QoS)奠定了基礎(chǔ)。
擴(kuò)展 SDN 控制域以包括 vSwitch
此步驟將控制域擴(kuò)展到另一層,從而啟用新功能。例如:
- 在容器(或 VM)虛擬接口上的切片和 QoS 提供早期分類(lèi);
- 擴(kuò)展 INT 可見(jiàn)性以檢測(cè)丟棄和其他異常情況;
- 探索統(tǒng)一/扁平化underlay和overlay網(wǎng)絡(luò),以獲得更好的可見(jiàn)性、更少的開(kāi)銷(xiāo)和更簡(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)商利用加速器的多樣性來(lái)執(zhí)行網(wǎng)絡(luò)功能,例如 5G UPF。
該步驟將使 SD-Fabric 能夠控制卸載的網(wǎng)絡(luò)功能,如 UPF,運(yùn)行在不同的加速器而不是交換機(jī)上。例如,它可以控制一個(gè)僅依賴(lài) NIC 進(jìn)行路由和 UPF 的無(wú)交換機(jī)架構(gòu)。與如今采用的孤立方法相比,這將為不同的網(wǎng)絡(luò)目標(biāo)提供更統(tǒng)一的處理方式,并且將有助于選擇在控制平面和應(yīng)用層上進(jìn)行最小或不更改的情況下將功能部署到不同的目標(biāo)類(lèi)型。
為現(xiàn)有交換機(jī)堆棧帶來(lái) SDN 和數(shù)據(jù)平面可編程性的優(yōu)勢(shì)
該部分關(guān)注兩個(gè)共生目標(biāo):通過(guò)利用已經(jīng)支持的開(kāi)源平臺(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)性的全堆棧解決方案。
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9304瀏覽量
86062 -
API
+關(guān)注
關(guān)注
2文章
1511瀏覽量
62396 -
sdn
+關(guān)注
關(guān)注
3文章
254瀏覽量
44873
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論