SDNet FPGA ASSP ASIC SDN NFV

SDNet開發環境挹注 軟體定義網路發展腳步加快

2014-10-13
在通訊架構快速演進之際,為滿足消費者對更高頻寬、更好更可靠且更安全服務的需求,開發廠商推出創新技術和設計方法,如SDNet軟體定義規格環境,使客戶能快速推出和升級新一代有線和無線網路及資料中心線路卡。當與完全可編程(All Programmable)現場可編程閘陣列(FPGA)和系統單晶片(SoC)搭配使用時,SDNet能使通訊設計團隊運用「軟」定義網路的創新方法,實現新一代軟定義網路架構線路卡的設計和升級。
過去20年來,通訊架構主要包含固定的控制層和資料層,無法隨著網路需求的發展進行擴充。若電信營運商想擴充網路功能和提升整體頻寬,此種僵硬的通訊架構就迫使其不得不頻繁更換設備。而線路卡是此種系統的核心元件,大部分由高度專業的特定應用積體電路(ASIC)、特定應用標準產品(ASSP)和記憶體IC做為組合基礎。FPGA則用於加速和連接線路卡與晶片間的通訊。

從固網到SDN 技術快速更迭

為滿足相關需求,電信營運商和通訊系統業者開始探索更好的解決方案。過去幾年來,這些企業開始轉而採用軟體定義網路(SDN)和網路功能虛擬化(NFV)技術。此種架構將控制層和資料層相分離,並在控制層增加更多軟體虛擬化功能,如此電信營運商就能快速部署新應用,網路設備也比在傳統網路中更易於升級,有助於延長使用年限,提高獲利能力並簡化網路管理(圖1)。

圖1 現今的軟體定義網路將控制層和資料層分離,但仍採固定的資料層、差異化極低且生命週期也很短。

不過,即便是最近新推出的軟體定義網路和網路功能虛擬化架構也仍然相當死板,因為資料層不具可編程設計彈性且其設計通常採用現成的ASSP。其網路核心的線路卡採用現成的封包處理器和連接至光學元件的流量管理器ASSP,搭配輔助處理器和外部記憶體一起使用,同時也內建FPGA以加速所有晶片間的通訊。

許多不同晶片製造商為軟體定義網路和網路功能虛擬化架構所打造的最新版ASSP,確實符合軟體定義網路規範,但由於供應商向所有網路系統業者推出通用的ASSP,因此這些晶片在產品差異化或功能擴充方面缺乏競爭力。網路系統廠商便被迫降低價格來贏得電信營運商的青睞。

表面上,電信營運商似乎喜歡這種低設備價格的趨勢,但實際上,即使是基於ASSP的軟體定義網路架構,固定資料層設計仍非常死板,電信營運商若發現ASSP的固定硬體功能無法滿足不斷變化的應用、協定升級和新功能的需求,就只能更換昂貴的線路卡。更換線路卡時須要關閉網路,技術人員才能將舊線路卡拆除以安裝新卡。

此外,ASSP供應商一般會設計過多的功能,試圖以單一元件來滿足不同市場需求,造成ASSP線路卡耗電且易導致設備發燙,因此電信營運商須採取額外措施讓設備降溫。冷卻成本造成營運支出增加,影響電信營運商的營收。

軟體定義網路 加速產品開發

採用SDNet和創新軟體定義網路解決方案,通訊系統廠商能開發出具備整合性、低功耗且完全可編程的線路卡,其功能遠超越軟體定義控制層和軟體定義網路架構所需要的網路智慧。此新技術能讓供應商以具有內容智慧功能的軟體定義資料層硬體,實現系統差異化。這意味著設計團隊能夠根據系統對網路服務和應用的確切需求來設定硬體(圖2)。

圖2 SDNet為資料層帶來靈活性和自動化,實現新一代網路設計與升級的軟定義網路解決方案。

在過去,網路架構師通常沒有硬體設計背景,習慣用英語方式來表達網際網路的請求註解(Request for Comment, RFC)或國際標準化組織(ISO)標準文件等具體協定要求。

然後,他們需要仰賴精通目標元件底層架構的專業工程師,以手動方式採用高度專業的微代碼,將這些協定要求轉換為低階的特定實現表述。這些硬體工程師一般會指定通用處理器或特定網路處理器執行封包處理的方式,或在客製ASIC中設計所需功能。

隨後網路設計團隊必須驗證硬體能否實現架構師的原始設計意圖,或者線路卡能否滿足最新協定版本要求。如果線路卡無法滿足相關要求,那就必須重複設計流程直到能正確運行為止。由於所需規範和微代碼之間的關係並不單純,底層架構的局限性效能與功能,會因目標服務的不同而存在差異性,使得驗證過程變得更加複雜。

反觀,SDNet的軟體定義網路解決方案可直擊問題根源,使網路系統設計團隊能夠快速設計出正確建構(Correct-by-construction)的線路卡。具體說來,SDNet著重於將線路卡最複雜設計部分自動化,亦即當前線路卡中的封包處理器和流量管理器功能的設計和程式設計(圖3)。

圖3 借助SDNet能夠創建高度整合的All Programmable線路卡

網路系統團隊可整合封包處理和流量管理功能及其他線路卡功能於單顆完全可編程FPGA或系統單晶片上,取代以兩個不同的ASSP的方式來執行這些功能,進而確保為目標應用創建的最佳實現方案。除了將許多晶片的功能整合在單顆完全可編程元件外,SDNet還能優化線路卡先進功能規格的創建,並自動產生暫存器交換層級(RTL)模組,便於實現在完全可編程元件、韌體和驗證測試平台中。

在SDNet流程中,系統架構師可用先進功能規範定義線路卡功能(圖4)。SDNet讓系統架構師能夠描述語法分析、編輯、搜尋和服務品質(QoS)等多種不同類型之封包處理引擎所需的功能。系統架構師可依較簡化的子引擎,以階級方式描述引擎,互聯並編排至封包資料流程中。這些子引擎還包含使用者提供的引擎。SDNet規格環境不提供執行細節,可讓客戶自由地擴充設計的效能和資源,且毋須了解底層架構的細節。SDNet規格也不局限於任何特定的網路通訊協定。SDNet以簡單的規格大幅減少客戶所須製成的代碼量,因此僅需較低的工作量,以微編碼處理網路處理器。

圖4 SDNet的執行流程可支援All Programmable線路卡的正確設計建構

一旦系統架構師完成SDNet規格環境中的系統引擎和流程定義,就能提供輸送量和延遲請求及執行時間等可編程式設計的要求至SDNet的編譯器,這將影響編譯器產生的優質硬體架構。系統架構師隨後執行命令,SDNet的編譯器便會自動為硬體模組產生設計所需的RTL。編譯器還會產生韌體和確認/驗證測試平台。

編譯後,網路工程師就能在Vivado設計套件中用IPI(IP Integrator)工具完成設計執行。首先使用Vivado工具和IPI轉換SDNet編譯器產生的RTL架構描述,實現優質的FPGA執行方案。然後,網路工程師可整合其他線路卡功能至FPGA中,以保持所選元件上有足夠的可用資源,在晶片上創建出完全可編程線路卡。

此外,SDNet可產生資料進行功能確認和驗證,以確保設計正確性。具體而言,SDNet的編譯器可一次接受一組測試封包來測試設計的輸入與輸出。系統架構師可在設計流程中的規範定義階段使用該測試封包,確保其創建正確的SDNet描述解釋。而網路工程師可在SDNet編譯器產生的RTL描述模擬階段使用測試封包。最後,這些測試封包能在設計最終執行階段,透過網路測試設備協助硬體驗證。

此外,SDNet將為搜尋引擎查詢表產生相對應的內容,這種驗證確認功能可大幅縮短設計時間,除去系統架構師和網路硬體工程師之間的反覆運算工作,有助於團隊加快推出高度差異化的產品。

由於編譯器可自動產生定制韌體操作及其針對架構中不同元件所需的二進位編碼,這使得系統架構師能夠直接控制處理。此外,SDNet有一種功能可記錄所產生的架構及其韌體的運行和儲存細節。當用戶以更新版SDNet描述做為輸入,重啟編譯器時,它能判斷是否只須韌體升級就能支援此修改且毋須產生新硬體,或是必須重新改變硬體或韌體。在大多數情況下,中等規模的升級,如增加或減少線路卡所需的協定,僅須升級韌體即可完成。

SDNet編譯器產生的韌體和架構之間的密切關聯,意味著用戶能執行無中斷升級,亦即韌體更改並新增至服務中都不會中斷資料封包傳輸。因此,企業進行重大服務升級時,就不會造成服務中斷。這種革命性開發成果要歸功於SDNet的技術及其可配套使用先進規格完全可編程元件的獨有特性(圖5)。

圖5 SDNet有助於廠商不中斷服務就能升級線路卡協定

由於SDNet可產生支援無中斷操作即時升級的資料路徑處理功能,因此電信營運商將能透過標準的SDNet應用程式介面(API)軟體控制器為線路卡元件增加新的功能或特性,且能在嵌入式軟處理器或外部處理器上執行軟體升級。

(本文作者為賽靈思Xcell雜誌發行人)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!