• P4简介:数据平面的编程语言


    15-05-29          http://p4.org/join-us/

    由两位SDN大师----来自普林斯顿的Jennifer Rexford和斯坦福的Nick McKeown----

    共同发起的P4联盟正式对外公布全新的项目主页,

    详细阐述了P4的目标定位、如何使用P4进行开发、开源事项等相关细节,

    并且为P4选取了一个非常可爱的北极熊LOGO

    P4语言,踢馆OpenFlow的SDN新秀

     


    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主页(http://p4.org/)加入。

     以上内容转自 SDNLAB,本站原创文章仅代表作者观点,不代表SDNLAB立场。

    ---------------------------------------------------------------------------------------------

    本文链接http://www.sdnlab.com/11884.html

    本文标签新闻/news

  • 相关阅读:
    [译]kendoui
    [LeetCode] 74 Search a 2D Matrix(二分查找)
    [LeetCode] N皇后问题
    [LeetCode] 5 Longest Palindromic Substring
    [LeetCode] 98 Validate Binary Search Tree
    [LeetCode] 119 Pascal's Triangle II
    [LeetCode] 二叉树相关题目(不完全)
    排序方法的分类和实现
    已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)
    拓扑排序(附LeetCode题目)
  • 原文地址:https://www.cnblogs.com/tcheng/p/5886949.html
Copyright © 2020-2023  润新知