Openflow 、TTP和OF-DPA的关系和介绍

2018-07-03 16:41

Openflow

Openflow 1.0 规范于2009年发布后被芯片厂商当成新生事物来看待,芯片厂商并没有立即开发面向Openflow的全新芯片。因为Openflow太超前的理论和现实存在巨大的鸿沟:Openflow 和传统的交换机芯片架构存在根本性差异,厂商如果100%遵从该规范的话,单从技术上来看难度就很大。此外打造一颗全新的产品在芯片行业是极大的资金和时间付出。而且就算两三年后造了出来,有没有客户为其买单也是疑问。仔细掂量之后,主流交换机芯片厂商对Openflow 并不感冒,处于观望状态。


TTP/NDM

ONF 在这种情况下成立了专门的工作组,思考如何以最低的代价开发出支持Openflow的交换芯片,即使是“缩水版”的Openflow芯片也行。在这样的前提下,ONF最终提出了TTP/NDM方案。

NDM(可协商的数据转发模型)其实是一个框架,允许厂商基于实际的应用需求和现有的芯片架构来定义不同的转发模型。TTP是NDM的一个具体模型。

虽然按TTP方案实现的是“缩水版”的Openflow芯片,但实际上大部分的场景并不会把Openflow的全部匹配域都用上,流表级数也不会有大几十级,缩水版的芯片基本可以满足这些场景。如下图所示,“ * ”代表没有用到的匹配域:

由于实现Openflow功能芯片是基于已有的芯片,推出速度会很快,成本和普通交换机相当,交换芯片厂商就很乐意了。下图就是某芯片厂商利用其已有芯片的实现多级流表的一个示例:


OF-DPA

交换芯片大厂博通(Broadcom)按照TTP 实现Openflow功能的方案就是OF-DPA(Openflow Data Plane Abstraction)。它是一个应用软件组件。实现了 Openflow与Broadcom SDK间适配层的功能。OF-DPA在博通交换芯片上扩展性的支持了Openflow 1.3协议。博通遵循TTP方案将其传统的ASIC架构映射到Openflow的流水线(Pipeline),即由OF-DPA做了一个转换(映射)来实现Openflow功能。

OF-DPA目前有三个版本:

OF-DPA 1.0

  • 基于OpenFlow 1.3.1
  • 2014.2正式发布

OF-DPA 2.0

  • 基于OpenFlow 1.3.4
  • 2014.11正式发布
  • 比 OF-DPA 1.0增加一些电信运营商网络功能,如MPLS-TP、OAM、保护切换等。

OF-DPA 3.0

博通官方尚未正式发布 OF-DPA 3.0,但是ONF社区的子项目如Atrium/Trellis/CORD 等已经用上它的Beta版本即EA (Early Access) 版本:

OF-DPA软件包目前分为两块:

  • OEM和ODM版本的开发包(ODP,OEM & ODM Development Package),是按照博通SLA协议进行分发的完整源代码包。
  • 社区版本开发包(CDP,Community Development Package ),它其实就是一个公开的API库,用于应用程序开发。文末提供其GitHub链接。


小结:

  • 笔者认为成熟的SDN硬件设备(如SDN交换机)应当至少拥有这三大属性:可编程性、自动化和跨厂商的互操作性。
  • ONF 提出的Openflow 提供了转发平面的可编程能力;
  • ONF旗下子项目 Trellis 提供了Openflow交换机的自动化部署和管理功能;
  • ONF提出的TTP 为Openflow 交换机的快速推出、不同厂商的Openflow交换机实现的互操作性提供了一个可行方案。


为白盒交换机安装OF-DPA:

接下来以一台Accton/Edgecore的全新、未安装系统的交换机作为实验平台,演示安装OF-DPA的步骤 : 先安装ONL , 再安装OF-DPA


SDN的未来

P4 是由提出Openflow 的同一批创新者们(Nick McKeown等)提出的。他们认为P4是Openflow的继承者,可以真正实现无与伦比的灵活性。

P4起初只能被Barefoot 的Tofino芯片支持,但随着可移植交换架构PSA (Portable Switch Architecture)的提出,从理论上讲其它厂商的芯片也能够提供“缩水版”的P4功能。

PSA之于P4就相当于TTP/NDM之于Openflow 。

OF-DPA学习资料:
https://wiki.opencord.org/display/CORD/Hardware+Switch+Installation+Guide
https://github.com/Broadcom-Switch/of-dpa
http://broadcom-switch.github.io/of-dpa/doc/html/index.html
OF-DPA 2.0 规范文档 :https://docs.broadcom.com/docs/12378911

P4 学习资料:
https://p4tw.org/文章/
https://p4.org/specs/

  • 分享:

发表评论

诺云Blog

诺云Blog给你的有,最新的技术介绍、网络产业的分享、以及丰富的精选文章。

热线电话
在线客服
咨询信箱