为什么OpenFlow没有被广泛采用?

可操作性与可扩展性问题

OpenFlow的终端用户以及市场人员明确指出其技术问题:操作复杂,很难测试以及扩展。

这不是OpenFlow的核心技术问题,但确是其生态系统中很重要的一部分,像与芯片厂商以及传统的硬件厂商之间的合作还需要更加详细。大家都在吐槽目前的硬件供应商,有人说“你无法在传统硬件上实现OpenFlow”不过,很多人说很多创业公司做了很好的工作,包括很好的实现了OpenFlow,以及具备合理的可扩展性:单交换机提供100Gbps带宽。但是很多方面表明可扩展的OpenFlow还是缺失的。

这是一些OpenFlow开发人员报告的在研发过程中遇到的可操作行与可扩展性问题:

标准不够完善

☘ 有些硬件厂商无法修改数据包头,影响了他们在路由以及交换应用上的可用性

☘ 其他的能修改L2的头,无法修改L3的包头

☘ 很多硬件实现在数据包匹配上有限制 - 匹配vlan 封装的vlan报文(QinQ),MPLS标签,甚至IPv6报文

不一致的表访问与受限的接口管理

☘ 一些用户报告OpenFlow1.0的实现用了TCAM解决流表匹配会导致支持流的数量受限,而且无法广泛使用。一般情况下,TCAM支持最多2K条流,但是L3或者Vlan表能够达到128K条(在受限的数据包头匹配情况下)。

☘ 一些厂商不提供硬件上全部表的访问,并且强制控制器去对接他们私有的接口。这导致一些控制器(像ONOS)不得不添加一个抽象层来提供必要的映射,导致情况更加复杂,还会降低硬件设备的性能。

交换机的功能与性能不一样

☘ 基于不同的硬件如NPU-based,FPGA-based,或者ASIC 实现的交换机在实现方式与性能特点上都不一样。需要权衡各个方面,灵活性,OpenFlow1.0/1.3/1.4版本的一致性,不同数量的流,不同的延迟以及包转发率下的性能。

☘ 甚至不一样的交换机软件会导致同样的ASIC芯片表现出不同的OpenFlow能力。通常情况下,目前的主流硬件厂商会提供更少的功能,而白盒产品(使用同样的ASIC)能够提供更多的OpenFlow功能。

☘ 采用NPU架构能够提供最大的灵活性以及最好的OpenFlow支持,但是最大总带宽只能达到300-600Gbps;采用ASIC架构能够达到1-3Tbps总带宽,但是提供有限的OpenFlow支持(尽管最新的ASIC芯片能够在达到1M路由表的情况下处理3Tbps以上流量)

☘ 每个交换机提供的接口数量不同,提供的特性能力不同(特殊流量的处理方式不同)限制了其实现的可移植性,缺乏一致的性能表现使其推广困难重重

☘ 当前性能限制是OpenFlow可能的实现方式的最大限制,尽管通过选择更好的硬件平台可能能够实现L3路由以及更大的网络。

市场和品牌

OpenFlow的另外一个挑战是在当前混乱的市场中建立一个强大的品牌。目前最成功的开源项目Linux,是一个全球性的品牌,目前正在考虑之中。

这么做的一个最大的原因是如果终端用户想要做出自己的技术贡献,他们需要看到大量支持以及项目背后的强大动力。从对品牌认知到对这个充满信心,有很长的路要走。

另一部分原因是目前的网络厂商的产品相互竞争。他们大量投资花在了销售与市场上,OpenFlow需要有人推动。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2017-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

我们学Python时我们在学什么,不看亏大了

本文转载自简书,作者为向右奔跑,感谢作者的贡献。 ---- 虽然有时觉得Python简单得不像编程语言,知乎上也有人说,“requests 好用的让人想哭”。但...

39690
来自专栏ThoughtWorks

编程魔法的麻瓜入门手册——《一路编程》

《一路编程》 不论你想要成为一个专业的软件开发者,还是想要学习如何更高效地和程序员沟通,或者只是对于程序如何工作感到好奇,这本书都非常适合作为帮你达成所愿的第一...

39960
来自专栏产品成长日志

工作5年,我的互联网工具箱(30个提升办公效率的神器)

上学时,总有些同学给人的感觉是没怎么努力学习,但是成绩却名列前茅,当时感觉就是因为那些同学聪明,自己太笨。

16420
来自专栏Java后端技术栈

《阿里感悟》如何在三年内成长为一名技术专家

工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域的技术专家,有些...

11830
来自专栏企鹅号快讯

只看Java视频资料能成为Java程序员吗

目前国内从事软件开发,Java的占比是越来越高,不说别的在培训视频的绝对量上,Java几乎占据了半壁江山,很多刚接触Java的同学直接从网上搜到一些教程视频,然...

22170
来自专栏CSDN技术头条

如何在三年内快速成长为一名技术专家

作者 | 清英 文章来源GitChat,CSDN独家合作发布,查看交流实录:http://gitbook.cn/books/59b69dc608f7233e6...

19460
来自专栏祝威廉

为什么需要效率督查团队

上周和杭州某司同学面基,发现我们两同一年毕业,同一年出生,还是老乡,真是颇感意外。本来约好了是聊技术的,结果硬生生的聊成了如何提高团队效率的心得交流会。

11020
来自专栏技术翻译

3个简单的步骤将帮助您立即开始使用微服务

我们专业的开发人员和建筑师总是希望做和探索新技术,为我们的项目和客户带来新的东西,并提高我们的技术知识和职业。

8420
来自专栏IT米粉

加强管理能提高程序代码质量吗?

代码质量是咱们程序开发中永远的一个痛,提升代码质量有很多种方式,强化管理是一种很常见的方式,这里咱们就聊聊,所谓的管理,真的是提升代码质量最有效的方式吗? 外包...

30250
来自专栏Jerry的SAP技术分享

SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考

今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate)。郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP...

17120

扫码关注云+社区

领取腾讯云代金券