开源项目在过去十几年里,已经在诸多领域取得了突破,包括硬件和软件,但是唯独在网络设备领域,一直未能有效穿透传统设备厂商的层层壁垒,一台台的网络设备都是一个个的黑盒,对用户来说,无法复制,也无法完全控制,只能使用,OCP现在想突破这个领域。 解读OCP项目发展 Facebook全力主导 OCP全称是Open Computer Project,是Facebook发起并主导的一个硬件开源组织,这个组织使命是致力于服务器、存储和数据中心基础架构的创新,以便更好地满足高性能可扩展计算的需求,但是实际上远不止于此。 如果深入了解一下OCP,会发现他们的关注点主要在这些方面:存储设备、服务器主板、服务器机柜、虚拟I/O、硬件驱动管理、数据中心基础架构设计,他们期望能够把涉及其中的硬件尽量标准化,订单交出去,随便一个代工厂都可以生产,在这些领域,他们早已经有了很多成果。 现在轮到了网络交换机,今年上半年的时候他们就开始了这方面的工作,随着Cumulus公司的ONIE(Open Network Install Environment)的清晰化和各个公司相继宣布支持ONIE, OCP的开源网络项目也变得清晰了,让我们来看看他们干了些什么。 跟开源服务器、存储一样,OCP的开源交换机项目也主要是开源硬件,但也包括部分软件,他们试图定义一套标准化的硬件设计,标准化包括:交换机硬件 电路板中都要用哪些类型的器件,CPU跟各种器件之间用什么样的接口,芯片接口类型和数量,各个器件地址空间,镜像文件在flash中存放的位置等等很 多,基于这样的硬件规范,各个厂商或者代工厂可以生产符合OCP标准的硬件交换机。目前OCP针对的主要是数据中心TOR交换机,后面会扩展到汇聚层交换 机(Spine/leaf架构中的Spine),但是实际上它们也都适应于企业网交换机。 美国的创业公司Cumulus是Facebook的亲密合作伙伴,一直紧跟Facebook的脚步,他们一方面做了一套自己的交换机系统软件,另外 一方面,他们研发了一个叫做ONIE的软件,它其实是一个比较智能的bootloader(相当于PC中的BIOS,但是比BIOS功能更多一些),用来 安装和启动符合要求的交换机软件系统。只要软件厂商或者交换机厂商开发的交换机系统软件能够适配OCP硬件,那就可以通过ONIE启动。这样一来,交换机 软件和硬件就彻底分离了,OCP组织负责硬件规范设计,代工厂,比如广达、天弘之类(或者传统设备商)负责提供生产硬件(所用的ASIC芯片并不局限于一 家,而是有多家的,比如Intel, Broadcom, Marvel, Mellanox、苏州盛科网络目前也已经加入了OCP)。另外的厂商提供交换机软件系统(哪些厂商提供,我们后面再谈)。这些交换机,就可以称之为符合 OCP要求的白牌交换机(WhiteBox Switch),目前OCP已经组织几个厂商生产出了几台符合要求的样机,都宣称支持ONIE。 OCP宣称他们的交换机开源包含三个层次:第一个层次是硬件开源且标准化;第二个层次是硬件驱动,bootloader, linux OS的开源;第三个层次包括各种开发和管理工具的开源,Rest API,还提到了SDN的开源,他们明确地宣称,交换机系统协议栈的开源不在OCP工作范围之内,但是他们鼓励厂商在这方面的开源。 OCP白牌交换机面临的挑战 那么接下来一个问题就是,谁来提供能够运行在OCP白牌交换机之上的系统协议软件呢?OCP首先是期望白牌交换机提供商,比如Cumulus,比如 广达,甚至Intel, BCM, Mellanox,盛科这样的芯片商能够提供,还有他们也欢迎传统交换机厂商能够改造他们的系统,让他们的系统跑在这些白牌机上,比如Cisco的 IOS。当然,不要求他们开源。 假设OCP的目的可以达到,那么未来的网络交换机领域会是什么样子呢?各个用户可以在市场上买符合OCP要求的白牌交换机,然后购买符合要求的交换机系统,自行通过ONIE安装进去并启动设备。 关于受益讨论一:谁会从这个事情受益呢?如果把所有用户看作是一个群体,那么首先的受益者是用户,因为这种机器的成本肯定会大大降低,而且用户不必 被锁定在某个厂商身上;其次是白牌设备提供商,比如广达、智邦、天弘这样的代工厂,另外芯片商也没损失,特别后来者也许可以靠白牌交换机多获取一些份额, 那谁会受损失呢?毫无疑问,传统设备商! 关于受益讨论二:这个事情的阻力在哪里?第一个阻力是很显然的,在传统设备商,传统设备商肯定不会配合,他们会允许自己的交换机软件运行在别人生产 的设备上让别人来蚕食他们的市场吗?或者换个问法,用户会为纯粹的交换机软件额外付一大笔钱吗?很难,肯付这个钱的用户,估计也不会介意连他们的硬件一起 买了。 如果传统设备商不做这个事情,那最终谁来提供交换机协议软件呢?新兴的创业公司已经有人在做这个事情,美国的Cumulus公司,向他们的客户提供 开源的传统二三层交换机软件,采取License收费的模式。另外,BigSwitch也向客户提供开源的Openflow软件,对特定模块进行收费,此 外,Intel, Broadcom, Mellanox等都有自己的软件。 但是上面还不是唯一的阻力,OCP的开放网络项目如果只是供Facebook几个厂商自己用一下,一点问题都没有,但是如果要推广开来,一定还要解 决另外一个问题,如果用户从一个公司买了硬件,从另外一个公司买了软件(或者用了开源的),出了问题的时候,应该找谁?或者说谁提供支持?这涉及到利益分 成,涉及到商业模式。也许最终会演变成硬件厂商跟软件厂商合作,由硬件厂商出面做第一线支持,或者说每个硬件提供商都同时有自己的配套软件。 |