在軟件化時代,SDN正在展開其邊界,各行各業正專注于將網絡控制置于金字塔頂端 - 從復雜的硬件到軟件應用程序。P4已經通過提供低至ASIC的網絡可編程性來控制金字塔的底部(轉發平面)。近年來,一些概念和協議也開始統治金字塔的頂端(控制平面),但有了 P4,歷史似乎要改變!
網絡設備控制平面
控制平面是網絡設備的大腦。它具有各種應用程序,可以學習和填充數據平面定義的表。在傳統的網絡設備中,用于配置數據包控制移動的控制平面或軟件位于同一設備上。因此,對于任何更改,網絡管理員必須通過單獨連接到每個設備來配置交換機。為了增加復雜性,每個芯片供應商都提供了自己的專有接口/API來控制數據平面。為了使網絡管理員的生活變得輕松,目標是將網絡設備的控制平面和數據平面分開。這催生了SDN(軟件定義網絡)技術。SDN使用軟件應用程序通過集中式控制器對交換機進行編程,從而解耦控制平面和數據平面。這使得通過集中式控制器配置網絡變得容易。但是,由于來自不同供應商的不同接口,不可能使用單個控制平面API來控制來自不同芯片供應商的交換機ASIC。在解決這個問題的一段時間內,引入了不同的協議/標準化來使API開源。
開放流: OpenFlow是ONF(開放網絡基金會)在控制平面和數據平面之間的第一個標準開源通信協議,旨在促進SDN的采用。OpenFlow是SDN網絡的解決方案,它在流量方面為控制器和交換機之間提供了標準接口。流包含以表格形式組織的匹配字段、優先級和操作。提供的API是通用的,不依賴于目標,因此適用于任何與OpenFlow兼容的控制平面軟件。
SAI(交換機抽象接口): SAI提供開源標準C API對OCP(開放計算項目)正式接受的網絡芯片數據平面進行編程。SAI抽象了底層芯片,因此允許任何相同的控制平面軟件插入任何設備,使SAI目標獨立。
為什么選擇 P4 運行時?
OpenFlow和SAI存在各種限制。兩者都考慮到了固定交換機的設計,這使得它在未來無法擴展到新的協議。它們與目標無關,但依賴于協議。添加新協議需要大量的時間和精力以及社區參與。SAI 專為控制平面位于交換機內的交換機而設計。兩者都不能使用可編程數據平面進行自我擴展。使用P4可編程數據平面時,控制平面接口沒有標準。很少有供應商開發自己的專有工具來自動生成API,這些API可以從P4程序或JSON填充表。但是,對于如何定義這些 API 沒有標準。因此,p4.org 決定成立API工作組,創建獨立于硅的API,用于控制交換機的轉發平面。P4運行時架構使其獨立于協議以及底層轉發交換機。同一 API 可用于控制支持不同協議的不同交換機。P4 運行時有助于控制任何轉發平面,無論是固定的、半可編程的還是完全可編程的。P4 運行時可用于任何交換機,無論是本地還是遠程控制平面。它足夠靈活,可以同時支持 OpenFlow API 和 SAI API。
P4運行時的功能
P4 運行時 API 支持兩個主要功能:
管理匹配操作表:通過添加、刪除、修改、顯示匹配操作表中的條目來管理數據平面的行為
更新轉發平面邏輯:使用新的 P4 代碼更新 P4 可編程交換機的轉發行為
SDN網絡中P4運行時的架構
圖 1:不同設備的 SDN 網絡中的 P4 運行時流
P4 Runtime 的架構使其足夠靈活,適用于本地或遠程控制平面基礎設施,以及固定和可編程網絡設備。
對于本地控制平面,從 P4 編譯器生成的 P4 運行時 API 可以直接用于控制 ASIC,包括基于 ASIC 類型(固定或可編程)的條目編程和表創建和刪除。同樣,對于遠程控制平面,P4 編譯器生成的 P4 運行時 API 可用于通過控制平面控制交換機。P4 編譯器將根據控制平面的需要生成架構。
對于固定功能開關,可以首先使用 P4 語言來模擬開關的行為,然后可以使用 P4 運行時 API 來控制固定功能開關。運行時 API 可用于在由 P4 語言定義的表中插入/刪除條目,這與實際硬件類似。
如果開關是可編程的,則可以將其擴展到控制所有可編程實體,例如添加新表、插入條目、刪除條目以使用編譯器生成的 P4 運行時 API 在運行時更新轉發平面。
圖 1 顯示了獨立于轉發平面的 SDN(遠程控制平面)網絡中的通用 P4 運行時架構。
P4 和 P4 運行時 – SDN 可編程性的新視野
對于可編程網絡設備,P4 運行時通過使用 P4 從上到下編程直到 ASIC 數據平面,開啟了真正的 SDN 可編程性。P4 語言可用于描述轉發管道,P4 運行時可用于控制轉發和從遠程更新轉發邏輯運行時。借助 P4,SDN 控制器能夠重新定義表、條目、解析器、匹配操作和數據包處理邏輯。從而完全控制網絡。
P4 運行時提供了一種使用可編程和固定功能交換機組合構建網絡的無縫方法。P4 編譯器自動生成填充表所需的 API。P4 運行時使大型網絡編程變得更加容易。VOLANSYS為您的網絡設備提供端到端的解決方案,包括編譯器開發,P4運行時與NOS的集成,添加對新功能/協議的支持以及完整的測試。
審核編輯:郭婷
-
控制器
+關注
關注
112文章
16361瀏覽量
178071 -
asic
+關注
關注
34文章
1200瀏覽量
120507 -
交換機
+關注
關注
21文章
2640瀏覽量
99646
發布評論請先 登錄
相關推薦
評論