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

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

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

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

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

本文标签新闻/news

P4简介:数据平面的编程语言的更多相关文章

  1. 阅读 用P4对数据平面进行编程

    引言 关于题目,对数据平面进行编程,在之前读过the road to SDN,软件定义网络的思想在于数控分离,其对网络行为的编程暂时只局限于网络控制平面.其转发平面在很大程度上受制于功能固定的包处理硬 ...

  2. 用P4对数据平面进行编程

    引言 SDN架构强调了对控制平面的可编程,数据平面只负责转发,导致数据平面很大程度上受制于功能固定的包处理硬件. P4语言的特性: 目标无关性:P4语言不受制于具体设备,所有可编程芯片都可以使用P4编 ...

  3. 实验8:数据平面可编程实践——P4

    一.实验目的 掌握V1Model框架下P4_16的程序结构和基本语法 能够运用 P4 进行简单数据平面编程 二.实验报告 在修改basic_tunnel.p4的内容之后输入make run 验证创建结 ...

  4. 解析与动作联动得SDN数据平面

    一种解析与执行联动的SDN可编程数据平面 现有问题和目标 在传统协议处理方式中,各层的协议类型和组合方式固定,使得添加或修改协议很困难(因为需要修改网络设备的解析模式) 基于解析和执行联动结构的可编程 ...

  5. Service Mesh 数据平面 SOFAMosn

    https://mp.weixin.qq.com/s/DJ_IeDswGGFQiWqJ75pmig 开源 | Service Mesh 数据平面 SOFAMosn 深层揭秘 朵晓东 蚂蚁金服科技 20 ...

  6. 数据平面可编程与SDN关系理解,以及数据平面可编程的理解

    数据平面可编程与SDN关系 狭义 广义 数据平面可编程的理解 狭义 广义

  7. 可编程数据平面将OpenFlow扩展至电信级应用(一)

    可编程数据平面将OpenFlow扩展至电信级应用(一) 案例:基于WinPath网络处理器的电信极OpenFlow (CG-OF)client实现 作者:Liviu Pinchas, Tao Lang ...

  8. 可编程数据平面将OpenFlow扩展至电信级应用(二)

    可编程数据平面将OpenFlow扩展至电信级应用(二) 案例:基于WinPath网络处理器的电信极OpenFlow (CG-OF)client实现 作者:Liviu Pinchas, Tao Lang ...

  9. 软件定义网络基础---SDN数据平面

    主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...

随机推荐

  1. 微信小程序学习笔记(2)--------框架之目录结构

    框架提供了自己的视图层描述语言 wxml 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统. 一.响应的数据绑定 框架的核心是一个响应的数据绑定 ...

  2. python中命令行参数

    python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 le ...

  3. 编写Tesseract的Python扩展

    Tesseract是一个开源的OCR(光学字符识别)引擎,用于识别并输出图片中的文字.虽然和商业软件比起来识别精度不算很高,但是如果你要寻找免费开源的OCR引擎,可能Tesseract就是唯一的选择了 ...

  4. Maven的Mirror和Repository

    今天新公司入职,项目经理让迁出项目,心想maven的阿里镜像源挺快的,干脆在配置了公司私服之后自己配置了阿里的镜像源,没成想项目屡屡报错,找不到项目依赖的公司jar包,后来才发现,同事配置mirror ...

  5. EasyUI:datagrid数据汇总

    EasyUI:datagrid数据汇总 js代码: var total=0;//全局变量 $(function(){ $('#tablebudgetdata').datagrid({ title:' ...

  6. jQuery垂直滑动切换焦点图

    在线演示 本地下载

  7. Maven:Eclipse上Maven的配置

    Eclipse上Maven的配置: 步骤: ①Maven下载地址: http://maven.apache.org/download.cgi# ②解压apache-maven-3.5.0-bin.zi ...

  8. Linux系统下Git操作命令整理

    1.显示当前的配置信息 git config --list 2. 创建repo从别的地方获取 git clone git://git.kernel.org/pub/scm/git/git.git 自己 ...

  9. [POI2012] BEZ-Minimalist Security

    一张n个点m条边的无向图,有点权有边权都是非负,且每条边的权值小于等于两个顶点的权值和,现在要将每个点减一个非负整数使得每条边权等于两个顶点的点权和,问最大修改代价和最小修改代价 思路神的一匹,完全想 ...

  10. 超详细 Linux 下编译安装Redis 以及php配套使用

    一.Linux 下安装Redis 下载地址:http://redis.io/download,下载最新文档版本. 把鼠标移到上图的绿色框上,就会显示下图提示:(直接右键复制链接就好) 本教程使用的旧版 ...