首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谷歌云采用 P4Runtime 打造智能网络

谷歌采用“下一代”P4Runtime,打造更智能化的网络!

Alphabet近日宣布与开放网络基金会(ONF)合作,“为真正‘软件定义’的数据平面实施一种开放参考平台。”

本周早些时候,谷歌宣布正在对其网络基础设施作一些改变。从表面上看,这毫无新意。如果你在运行被认为世界上最庞大的网络,不断改变既有的行事方式,以保持领先是一件再平常不过的事情。当然,一些改变来得尤为重要。这种改变就好比软件开发人员所说的重大版本。

放眼将来,该公司计划实行的改变还会有利于希望充分利用面向软件定义网络(SDN)的开源解决方案的企业组织。

谷歌的软件工程师吉姆•万德勒(JimWanderer)在博客中宣称,谷歌现正与开放网络基金会(ONF)合作开发Stratum,这是一种采用开源技术的“下一代”SDN接口,围绕P4Runtime而设计和开发。Stratum平台是面向广泛用途而设计的,包括作为面向移动和物联网的边缘平台、数据中心主干/分支结构(spine-leaffabrics)的解决方案、嵌入在交换机和路由器中以利用SDN接口并加速白盒系统之间的移植,以及作为云端SDN数据平面。谷歌感兴趣的是这后一种用途,计划开展相应的部署工作。

该平台的核心是P4Runtime,它为控制平面软件控制交换机、路由器、防火墙笔负载均衡系统等设备的转发平面提供了一种方法。它的主要改进之一是,让用户可以控制任何转发平面,不管它是用固定功能或可编程的交换机构建的,还是用在x86服务器上运行的软件交换机构建的。

无论转发平面支持哪种协议和功能,P4Runtime的框架都保持不变,这意味着用户可以使用同样的API来控制品种繁多的交换机。

这解决了大多数网络操作使用专用硬件来处理时不是很棘手的问题(这通常伴随着硬件层面的厂商锁定),但是当网络工程师借助软件定义技术来寻求敏捷性时这个问题就成了大问题。

虽然以前试图将固定功能交换机和可编程交换机的控制结合起来,却问题重重。

Overflow可谓是P4Runtime的先驱,开发人员试图扩展其功能时很快就显得笨拙,它采取的一种方法在处理匹配的数据包字段方面并不精细化。P4Runtime组织在官网上的一份声明中说:“OverFlow并不总是定义你在匹配后应该执行的操作;遗憾的是,不同的交换机ASIC以不同的方式执行这些操作。”

一种比较新的技术SAI存在类似的问题。P4开发团队说:“扩展SAI要做大量的工作,目前还不清楚应该对扩展实行标准化还是保持专有性。目前也不清楚如何使用SAI来远程控制交换机。”

远程控制平面使用P4RuntimeAPI来控制交换机

本地控制平面使用P4Runtime作为API(有时又叫HAL,即硬件抽象层),直接控制交换机ASIC

万德勒表示,P4Runtime将成为谷歌的下一代数据中心和广域网控制平面编程的基础。采用的主要原因是,它满足了谷歌网络生态系统的需求。

他说:“在谷歌,我们设计了自己的硬件交换机和交换机软件,但我们的目标一直是充分利用与我们的数据中心和广域网协同操作的行业SDN解决方案。P4Runtime是控制平面软件通过编程来设定交换机转发路径的一种新方法,提供了一套明确定义的API来指定交换机转发管道,并且通过简单的RPC来配置这些管道。P4Runtime可用于控制任何转发平面,从固定功能的ASIC到完全可编程的网络交换机,不一而足。”

万德勒表示,采用P4Runtime的另一个原因是这个项目具有开放性。谷歌希望“推动行业采用,并让其他公司能够从中受益。”

谷歌使用Stratum和底层的P4Runtime无疑会对这两个项目都有好处,因为这家公司将该项目推广到其庞大复杂的网络基础设施时,肯定会发现并修复bug。斯蒂夫•纽曼(Steve Newman)是日志管理初创公司Scalyr的首席执行官,他以前是谷歌的一名员工。正如他在今年2月的容器世界大会(ContainerWorld)上告诉我:“谷歌的人员常说,如果发生某个bug只有十亿分之一的机会,那么它每天都有可能发生。”

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180406A0N8FD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券