首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >P4语言,踢馆OpenFlow的SDN新秀

P4语言,踢馆OpenFlow的SDN新秀

作者头像
SDNLAB
发布2018-04-03 16:13:06
1.4K0
发布2018-04-03 16:13:06
举报
文章被收录于专栏:SDNLABSDNLABSDNLAB

上周五,由两位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/)加入。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档