4個交換機ASIC介面,驅動SDN發展
四個介面 - 交換機抽象介面,快速資料平面專案,Broadcom的軟體開發套件邏輯表和P4程式語言 - 與資料平面晶片組和交換機ASIC配合使用。但它們也有可能通過推進開放介面和可程式設計能力來推動SDN和機器學習的增長。然而,要完全掌握我們還是首先看一下計算系統和硬碟介面的歷史。
回顧過去,計算曆史上的一個重要時刻是20世紀80年代國際標準架構(ISA)的標準化和採用。當IBM在20世紀80年代後期試圖用微通道架構替換ISA時,而其他系統製造商卻反對並堅持ISA標準。1996年,英特爾開發了外圍元件互連(PCI)匯流排,計算行業隨後廣泛採用該匯流排。隨後PCI匯流排在被PCI Express取代,PCI Express最初於2004年釋出。
硬碟介面具有類似的歷史。硬碟驅動器介面始於控制器卡,用於支援修改後的頻率調製,執行長度限制和小型計算機系統介面格式。這些格式之後是整合驅動電子(IDE)運動和並行高階技術附件,最後是序列ATA。
那麼,從中學到了什麼?在業界採用標準化方式訪問這些系統之後,新的開發專案飆升,硬體市場擴大。例如,ISA導致克隆系統構建者最終成為計算系統構建的主導力量,而IDE最終導致儲存技術的快速發展。
同樣,這種重複模式提醒我們通常用於控制當今資料平面晶片組的四個介面的重要性:交換機抽象介面(SAI),快速資料平面專案(FD.io),Broadcom的軟體開發套件邏輯表(SDKLT) )和P4程式語言。
四個交換機ASIC介面如何推動SDN增長
這四個介面可以推動軟體定義的革命。例如,用於控制資料包流的標準化介面集可以加速驅動軟體定義網路所需的控制器和代理的開發。
這些標準化介面還可以推動構建網路的革命,這些網路與機器學習和閉合公式分析相互作用,可根據其操作環境進行自我調整。
這些型別的開放介面具有許多優點,即使終端使用者沒有直接看到它們但也會體會到。雖然您可能看不到介面,但可以看到計算機中的PCI Express匯流排,可以在各種硬體和可在該硬體上執行的可用軟體中檢視標準的結果。
作為客戶,您應該瞭解這些介面和標準,並詢問您的供應商您購買的產品是否支援它們。那麼,讓我們仔細看看這些介面。
1.切換抽象介面
SAI是這些介面中最早的介面,初始版本可以追溯到2014年。基本上,SAI是許多不同交換機ASIC驅動程式的統一容器或包裝器,如下面的開放計算專案圖所示。
交換機抽象介面將相同的操作集合公開給許多交換機和路由器的資料平面ASIC的主機介面卡。這種包裝器的優點是允許單個軟體介面卡控制不同品牌和版本的交換機ASIC。
缺點是封裝器介面往往只支援每個交換機ASIC支援的功能 - 可用功能的最小公分母。此外,將呼叫Switch抽象介面轉換為交換機ASIC軟體開發工具包,然後轉換為交換機ASIC驅動程式,會對效能產生負面影響。
2.快速資料專案
快速資料專案(FD.io)的重點是在虛擬或基於軟體的網路裝置中建立基於軟體的交換之間的管道。
例如,虛擬包檢測服務或虛擬網路功能可以使用FD.io介面從介面中提取包,處理它們然後將它們推回到硬體介面上。發起資料包的裝置(如資料庫伺服器)也可以利用FD.io與網路介面的直接連線。
3.Broadcom的SDKLT
Broadcom的軟體開發工具包邏輯表與SAI類似,但也有不同。它的設計類似於為轉發ASICs提供了許多交換機或路由器使用的介面,特別是那些大型資料中心中的交換機或路由器。
SDKLT與SAI的不同之處在於它僅支援Broadcom,而且其介面的構建方式也是如此。SDKLT不是用於訪問晶片組函式的標準呼叫集,而是基於表的。這意味著表包含所有ASIC的特性,交換機埠引數和轉發表。操縱這些表可以編寫ASIC的轉發特性。此過程類似於直接在通用處理器(或視訊處理晶片上的視訊記憶體池)上程式設計暫存器。
4.P4程式語言
最後,P4針對的是與前面介面相同的晶片組,但它是一種程式語言,而不是介面。它的一組呼叫可以控制ASIC對每個資料包採取的任何操作,一組資料結構可以管理ASIC處理資料包的表。
例如,要切換資料包,可能會使用以下程式碼:
V1Switch(
Parser(),
VerifyChecksum(),
Ingress(),
ComputeChecksum(),
Egress(),
)main;
此程式碼告訴ASIC要呼叫列出的每個功能,使ASIC解析資料包,驗證校驗和,執行任何入口處理(這可能包括確定出站介面,確定下一跳資訊並重寫任何標頭) ,計算新的校驗和並執行任何出口處理(排隊和其他服務質量處理)。這提供了一種與交換機ASIC互動的完全不同的方式。
為什麼這些介面很重要
最後終端使用者可能不會建立可以直接使用這些介面的軟體,但它們仍然很重要。就像原始桌面系統中的ISA匯流排,以及更現代系統中的PCI和PCI Express匯流排一樣,這些介面標準可以使開發產品的供應商數量迅速擴大。它們還可以使相關裝置的特徵和功能快速發展。
例如,如果產品支援這些介面之一,則可能更容易為您的網路或個人垂直構建自定義平臺,例如醫療保健或資料分析。隨著轉發平面的介面變得更加標準化,開發人員將能夠花更多的時間來開發功能,而不是將他們的軟體調整到他們需要執行它的硬體上。
原文釋出時間為:2018-10-22
本文來自雲棲社群合作伙伴“ ofollow,noindex">SDNLAB ”,瞭解相關資訊可以關注“ SDNLAB ”。