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

P4是由两位SDN专家Jennifer Rexford和Nick McKeown发起的一种声明式编程语言,用于定义网络设备如何处理数据包。它旨在简化高性能网络设备的设计过程,并摆脱对特定硬件SDK的依赖。

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

转载于:https://www.cnblogs.com/tcheng/p/5886949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值