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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

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

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

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

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

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

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

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

這個誤區(qū)仍然與Nick教授有很大關(guān)系。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宣稱可編程的數(shù)據(jù)芯片存在諸多優(yōu)點,在商業(yè)落地時也面臨行業(yè)巨頭的打壓與客戶的質(zhì)疑,因此P4語言并不是Nick或者Barefoot公司的私有產(chǎn)品,它由P4.org社區(qū)運作推廣,希望借助社區(qū)的力量來找到應(yīng)用場景和市場,近期P4社區(qū)剛剛與ONF組織合并。

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

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

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

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

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

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

P4-16版本推出的目的就是提升目標(biāo)無關(guān)性,通過語言與架構(gòu)分離和靈活的數(shù)據(jù)模型支持多種目標(biāo)設(shè)備。

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

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

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

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

編輯:hfy

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

    關(guān)注

    20

    文章

    2610

    瀏覽量

    99055
  • 可編程芯片
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    18606
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4766

    瀏覽量

    84360
  • sdn
    sdn
    +關(guān)注

    關(guān)注

    3

    文章

    254

    瀏覽量

    44728
收藏 人收藏

    評論

    相關(guān)推薦

    P4在SDN中的重要性

    ,數(shù)據(jù)平面依賴于固定功能,僅能使用有限數(shù)量的協(xié)議來轉(zhuǎn)發(fā)數(shù)據(jù)包。P4(獨立于編程協(xié)議的數(shù)據(jù)包處理器)語言的出現(xiàn)使得對SDN數(shù)據(jù)平面進行編程成為可能,這將SDN推向了一個新的水平。
    的頭像 發(fā)表于 11-06 10:10 ?66次閱讀
    <b class='flag-5'>P4</b>在SDN中的重要性

    歐姆定律的常見誤區(qū)

    存在一些常見誤區(qū)。 誤區(qū)一:歐姆定律只適用于直流電路 誤區(qū)解釋: 許多人認(rèn)為歐姆定律只適用于直流(DC)電路,而不適用于交流(AC)電路。這種觀點是錯誤的,因為歐姆定律同樣適用于交流
    的頭像 發(fā)表于 10-28 15:25 ?237次閱讀

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

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

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

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

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

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

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

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

    三星確認(rèn)平澤P4工廠1c nm DRAM內(nèi)存產(chǎn)線投資

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

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

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

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

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

    PLC的編程方式及編程語言

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

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

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

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

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

    使用P4和Vivado工具簡化數(shù)據(jù)包處理設(shè)計

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

    plc常見編程語言有哪幾種

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

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

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