P4語言,踢館OpenFlow的SDN新秀
由兩位SDN大師----來自普林斯頓的Jennifer Rexford和斯坦福的Nick McKeown----共同發起的P4聯盟正式對外公布全新的項目主頁,詳細闡述了P4的目標定位、如何使用P4進行開發、開源事項等相關細節,并且為P4選取了一個非常可愛的北極熊LOGO。
P4是一門主要用于數據平面的編程語言,它的名字是根據一篇論文的標題“Programming Protocol-Independent Packet Processors”而來,意思是“與協議無關的數據包處理編程語言”,值得一提的是P4的背景,由兩位SDN界的大牛發起,其中來自普林斯頓的Jennifer Rexford目前是ONF的常委,美女教授跟SDN淵源很深,她的論文直接啟發了openflow的誕生并且曾經嘗試設計了SDN編程語言和庫(Frenetic和Pyretic);另外一位斯坦福的Nick McKeown教授更是SDN的***之一,鼎鼎大名的clean slate項目的領軍人物。最重要的是兩位教授在P4項目上達成了高度的共識。
P4到底是什么呢?
P4是一種聲明式編程語言,它主要用于編程程序以下達指令給數據轉發平面的設備(如交換機、網卡、防火墻、過濾器等)如何處理數據包,Jennifer Rexford和Nick McKeown認為P4將會改變傳統網絡設備的設計方式。
為什么我們需要P4?
如今,設計一款高性能的網絡設備是相當的痛苦。首先,你要確定你所需要的設備有哪些特性,然后你要找到一塊***特性需求的交換機芯片,接著你要簽署一份保密協議獲得軟件開發工具包(SDK),***調用合適的API進行編程使芯片滿足你的系統需求。但是由于你系統取決于SDK,所以設計是被芯片廠商鎖定的。
P4的目標是什么?
P4試圖在從根本上改變我們設計網絡系統的方式。首先,你要確定系統的設計要求,然后寫一個P4程序來描述你的系統需要如何處理數據包,***編譯程序通知轉發設備該做什么。從本質上講,P4無論是在軟件設計(編程、調試、代碼覆蓋、模塊檢查等)方面,還是在網絡系統的設計上,都給我們帶來了很多好處。P4目前還處于起步階段,希望借助社區的力量幫忙完善和改進。目前P4的代碼處于開源狀態,后續進一步的開發也將對外開放,所有的開源都遵循Apache許可。同樣,P4聯盟目前采取的也是免費會員制,用戶可以通過P4主頁加入。