DPDK

維基百科,自由的百科全書
跳至導覽 跳至搜尋
DPDK
File:Intel DPDK GTR Back.jpg
目前版本17.05(2017年5月10日 (2017-05-10)
原始碼庫
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
程式語言C
引擎
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    作業系統FreeBSD, Linux
    類型封包 處理
    許可協定BSD
    網站dpdk.org

    DPDK(英語:Data Plane Development Kit),是一組快速處理封包的開發平台及介面。[1][2],執行於Intel X86與arm平台上(最新版本也開始支援PowerPC[3])。該平台採用BSD許可證發布。

    概述[編輯]

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

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

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

    參考資料[編輯]

    1. ^ Simon Stanley,All Change for Packet Processing頁面存檔備份,存於網際網路檔案館), Heavy Reading, 2013
    2. ^ Shamus McGillicudy, Intel DPDK, switch and server ref designs push SDN ecosystem forward頁面存檔備份,存於網際網路檔案館), SearchSDN, April 2013
    3. ^ 存档副本. [2015-08-27]. (原始內容存檔於2015-06-26). 

    外部連結[編輯]