P4语言,踢馆OpenFlow的SDN新秀

上周五,由两位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,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/11884.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于15-06-01
1