TECHNOLOGY

DPDK(Data Plane Development Kit),是一組快速處理封包的開發平台及介面。可執行於Intel X86或arm平台上。

在X86平台結構中,處理封包的傳統方式是中央處理器(CPU)中斷方式,即網路卡驅動程式接收到封包後通過中斷通知中央處理器處理,然後由中央處理器拷貝資料並交給協定棧。在資料量大時,這種方式會產生大量中央處理器中斷,導致中央處理器無法執行其他程式。

DPDK則採用輪詢方式實現封包處理過程:DPDK需載入支援的網路卡驅動程式,該驅動程式在收到封包後不中斷通知中央處理器,而是將封包通過零拷貝技術存入記憶體,這時應用層程式就可以通過DPDK提供的介面,直接從記憶體讀取封包。

這種處理方式節省了中央處理器中斷時間、記憶體拷貝時間,並向應用層提供了簡單易行且高效的封包處理方式,使得網路應用的開發更加方便。但同時,由於需要多載入支援的網卡驅動程式,因此只能在支援網路處理晶片的網路卡中進行開發。

詮隼科技已成功使用Intel(e1000, ixgbe, i40e)及Mellanox(mlx5)網路卡進行開發,提供網路自動化測試相關服務。同時可整合於ACTS自動化測試系統當中,提供1/10/25/40/100 Gbps網路測試項目。


參考資料