0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

解惑P4編程語言的常見誤區(qū)

電子設計 ? 來源:SDNLAB ? 作者:張漸修 ? 2020-12-04 11:55 ? 次閱讀

作者簡介:張漸修,任職于上海同悅信息科技有限公司從事SDN/P4交換機的市場推廣工作。

OpenFlow從誕生之日起就與SDN劃起了等號,時至今日仍然有用戶在尋求SDN方案時潛意識在尋求OpenFlow的支持。實際上,隨著SDN的逐步演進,軟件定義網絡更多是一種設計思路與設計理念,SDN網絡的設計經歷了螺旋式發(fā)展。近幾年SDN之父Nick教授身體力行的開始改造OpenFlow,網絡設備第一次和計算設備一樣具有了可編程的能力。和OpenFlow剛剛面世一樣,用于網絡設備編程的P4編程語言也存在眾多誤解。本文的主要目的就是解惑P4編程語言的幾個常見誤區(qū)。

誤區(qū)一:P4就是Openflow2.0

這一誤區(qū)產生的主要原因是斯坦福大學的Nick Mckeown教授在OpenFlow之后馬不停蹄地開始P4的設計與推廣,因此很容易讓人以為P4就是OpenFlow的新版本。雖然兩者之間是超集的關系,但是P4絕不是已經停止更新的OpenFlow新版本。

由ONF組織推動的OpenFlow在發(fā)展到1.6版本后停止更新,ONF組織也歷經與On.Lab和P4.org兩大組織的合并。OpenFlow本身只是SDN南向接口的一種,是控制器向轉發(fā)設備傳遞命令的一種方式;而P4 (Programming protocol-independent packet processors)則是一種編寫協(xié)議無關的包處理器的高級編程語言,它可以令設備實現OpenFlow同樣的功能,但是它的愿景遠不是僅僅實現更靈活的openflow,它要給予數據平面與計算平面一樣無與倫比的可編程性。傳統(tǒng)上無論是OpenFlow設備還是非OpenFlow設備大部分都是按照固定流水線執(zhí)行指令,在芯片現有功能內閃轉騰挪而不能越雷池半步。P4語言則是要打破藩籬,讓數據平面設備也具備在線實現新功能的能力。尤為與FPGA這種現場可編程門陣列不同的是,FPGA提供的是半定制電路,需要采用VHDL或者Verilog等語言來實現硬件的重構,每個邏輯單元的功能在重編程(燒寫)時確定。

所以P4是數通芯片的新一次嘗試,與OpenFlow只是定義一個南向接口截然不同。

誤區(qū)二:只有Tofino芯片可以支持P4

這個誤區(qū)仍然與Nick教授有很大關系。Nick作為SDN之父在看到OpenFlow面臨的諸多落地困局后于2013年的ACM SIGCOM發(fā)表《Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN》一文,并且作為創(chuàng)始人成立了Barefoot公司。因此Barefoot公司推出的Tofino系列芯片天然支持P4。但是一個好漢三個幫,即使Nick宣稱可編程的數據芯片存在諸多優(yōu)點,在商業(yè)落地時也面臨行業(yè)巨頭的打壓與客戶的質疑,因此P4語言并不是Nick或者Barefoot公司的私有產品,它由P4.org社區(qū)運作推廣,希望借助社區(qū)的力量來找到應用場景和市場,近期P4社區(qū)剛剛與ONF組織合并。

目前支持P4編程的數據平面芯片既可以是傳統(tǒng)的網絡處理器(NPU),也可以是上文提到的FPGA芯片,更不用說在CPU上可以模擬P4的各種行為,還有大神在GPU上開展P4的研究工作。

誤區(qū)三:P4只支持可編程芯片

P4語言并不是學術界靈光閃現的成果,它是業(yè)界在OpenFlow的前期探索后的成果,谷歌在其中發(fā)揮了重大作用。時至今日谷歌現網仍然有很多運行OpenFlow協(xié)議的設備,因此當網絡走向可編程走向更加開放,如何利舊就是個現實問題。而P4作為一種語言本身就是對網絡行為的描述,所以只要能夠讓傳統(tǒng)非可編程網絡芯片可以理解由P4定義的轉發(fā)流水線就能讓傳統(tǒng)芯片也支持P4定義的行為。

目前谷歌的SDN網絡正在向可編程邁進,傳統(tǒng)設備通過抽象層的轉譯也可以支持P4語言,因此傳統(tǒng)廠商支持P4不是不行而是可為不可為的問題,畢竟業(yè)界老大哥攜壓倒性市場份額狂奔在另一條路上。

誤區(qū)四:P4語言是Python一樣的高級語言

P4雖然是高級語言但是屬于針對特定領域的DSL語言,它和Python等計算機高級語言相比有很大的差別,首先P4語言需要考慮物理資源的限制,P4最終管控的是資源有限的數據平面轉發(fā)芯片,所以注定不會像CPU所處的計算平面具有超高的外置Memory資源;也正是這個原因,p4代碼并不具備高級語言的通用移植性,在A平臺的可運行代碼在B平臺不一定可以工作,所以每個支持P4語言的廠家都會提供自家產品的架構模型和編譯器,用戶需要在編譯時選擇相應物理平臺來實現可落地的代碼。

P4-16版本推出的目的就是提升目標無關性,通過語言與架構分離和靈活的數據模型支持多種目標設備。

誤區(qū)五: P4代碼就是SDN

如同基于OpenFlow實現的SDN,其最重大的改進是邏輯上的集中控制,在大規(guī)模數據中心和WAN網絡接入這種全局視角可以更好的解決網絡擁塞等傳統(tǒng)網絡的問題。利用P4來實現可編程的設備,他們完成的也只是數據平面的工作,實現報文的轉發(fā)流程還需要控制平面的參與。因此在OpenFlow時代誕生了OpenDaylight和ONOS等SDN控制器項目;P4語言的協(xié)議獨立意味著不會原生支持任何協(xié)議,P4語言只是描述報文頭部格式以及程序中需要的協(xié)議字段。所以并沒有解決控制層面的問題。P4優(yōu)化了數據平面的實現,但是控制層面的工作一點也不能少。

無論是采用傳統(tǒng)OSPF/BGP路由協(xié)議,或者是沿用SDN控制器都可以實現對P4設備的控制。Opendaylight和ONOS都提供遠程控制插件,可以Runtime實現控制流的發(fā)送。

P4的誕生是SDN演進的自然結果,如同OpenFlow剛剛出現面臨的不解一樣,P4作為新生事物也存在一些誤區(qū),相信隨著P4-16的推出以及P4.org與ONF的合并,P4將獲得更多的關注與落地。當然這一切也取決于Intel的態(tài)度。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 交換機
    +關注

    關注

    20

    文章

    2600

    瀏覽量

    98893
  • 可編程芯片
    +關注

    關注

    0

    文章

    50

    瀏覽量

    18603
  • python
    +關注

    關注

    54

    文章

    4759

    瀏覽量

    84294
  • sdn
    sdn
    +關注

    關注

    3

    文章

    253

    瀏覽量

    44718
收藏 人收藏

    評論

    相關推薦

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業(yè)自動化領域中不可或缺的知識。 一、PLC編程語言
    的頭像 發(fā)表于 10-21 16:56 ?121次閱讀

    混合動力系統(tǒng)構型P0到P4介紹

    在混合動力技術的不斷演進中,不同的動力系統(tǒng)構型為汽車工業(yè)注入了新的活力。每一種構型都具備獨特的技術特點和應用場景,從P0到P4,本文將深入探討每種構型的優(yōu)勢與挑戰(zhàn),為讀者提供全面而深入的了解。 1
    的頭像 發(fā)表于 09-16 12:09 ?426次閱讀
    混合動力系統(tǒng)構型<b class='flag-5'>P</b>0到<b class='flag-5'>P4</b>介紹

    三星平澤P4/P5芯片工廠建設延期至2026年

    三星電子近日宣布,其位于韓國平澤的P4/P5芯片工廠建設計劃將發(fā)生重大調整,原定于加速推進的項目現已決定推遲至2026年。這一變動旨在優(yōu)先保障位于美國得克薩斯州泰勒市的晶圓廠建設,顯示出三星在全球產能布局上的戰(zhàn)略調整。
    的頭像 發(fā)表于 09-04 17:00 ?563次閱讀

    小區(qū)戶外P4全彩高清LED廣告屏性能特點和顯示效果解析

    戶外全彩LED顯示屏的發(fā)展歷史悠久,幾年前的小區(qū)戶外P10是戶外廣告?zhèn)髅降摹皩檭骸?,但隨著生產工藝的進步,客戶對清晰度的要求越來越高,戶外P3、P4應運而生,接過P10/
    的頭像 發(fā)表于 09-04 15:25 ?198次閱讀

    鞍山163.18平米戶外P4條柵屏安裝完工

    近期,我公司在鞍山成功完成了一項特殊項目——163.18㎡戶外P4條柵屏的安裝,這一項目的圓滿完成,不僅展示了我們的技術實力,更體現了我們對品質及細節(jié)的追求。鞍山P4戶外LED條柵屏安裝完工單條立式
    的頭像 發(fā)表于 09-04 15:14 ?148次閱讀
    鞍山163.18平米戶外<b class='flag-5'>P4</b>條柵屏安裝完工

    三星確認平澤P4工廠1c nm DRAM內存產線投資

    據韓國媒體最新報道,三星電子已正式確認在平澤P4工廠投資建設先進的1c nm DRAM內存產線,并預計該產線將于明年6月正式投入運營。這一舉措標志著三星電子在半導體技術領域的又一次重要布局。
    的頭像 發(fā)表于 08-13 14:29 ?431次閱讀

    P4 Suite for FPGA面市 P4 Suite for FPGA主要功能解析

    ? ? ? ? ? 基本簡介 P4 Suite for FPGA是一款 綜合性工具套件, 可在數字網絡的不同領域提供廣泛功能,該套件能夠以高達200 Gbps甚至更高的數據傳輸速率支持FPGA。這一
    的頭像 發(fā)表于 07-25 14:55 ?795次閱讀

    三星P4工廠戰(zhàn)略調整:優(yōu)先建設存儲器產線

    在半導體產業(yè)風云變幻的當下,三星電子再次做出重大戰(zhàn)略調整,宣布其平澤P4工廠的建設重心將發(fā)生轉變。據韓媒最新報道,由于代工業(yè)務經營狀況的持續(xù)惡化以及設計變更等復雜因素,三星電子決定暫停P4工廠第二期
    的頭像 發(fā)表于 07-17 10:47 ?469次閱讀

    PLC的編程方式及編程語言

    在工業(yè)自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強大的控制功能和靈活的編程方式而得到了廣泛應用。PLC的編程方式和編程
    的頭像 發(fā)表于 06-27 14:08 ?496次閱讀

    PLC編程語言和C語言的區(qū)別

    在工業(yè)自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是
    的頭像 發(fā)表于 06-14 17:11 ?2074次閱讀

    新手學習單片機最常見的六大誤區(qū)!

    ,扮演著至關重要的角色。然而,學習單片機并非一帆風順,初學者常常會面臨各種挑戰(zhàn)和困惑。因此,了解并避免新手常見誤區(qū),將有助于使學習過程更加順利和愉快。新手學習單
    的頭像 發(fā)表于 03-28 08:03 ?658次閱讀
    新手學習單片機最<b class='flag-5'>常見</b>的六大<b class='flag-5'>誤區(qū)</b>!

    使用P4和Vivado工具簡化數據包處理設計

    電子發(fā)燒友網站提供《使用P4和Vivado工具簡化數據包處理設計.pdf》資料免費下載
    發(fā)表于 01-26 17:49 ?0次下載
    使用<b class='flag-5'>P4</b>和Vivado工具簡化數據包處理設計

    plc常見編程語言有哪幾種

    PLC(可編程邏輯控制器)常見編程語言有五種,被稱為IEC 61131-3標準編程語言。這些
    的頭像 發(fā)表于 01-24 17:59 ?5417次閱讀

    MES需求六大常見誤區(qū)

    電子發(fā)燒友網站提供《MES需求六大常見誤區(qū).docx》資料免費下載
    發(fā)表于 12-21 11:08 ?0次下載

    請問STC89C51單片機型號是不是沒有沒有P4口的了?

    本人剛剛學習單片機,所以在書上看到的單片機是沒有P4口的。但是我在淘寶或者立創(chuàng)商城上找到的都是有P4口的51或52單片機。 我想問問哪位大神是不是現在已經沒有那種沒有P4口的STC單片機了?
    發(fā)表于 10-26 06:24