白盒交换机:实现网络可编程性的三种方式(1 | 电脑维修城

白盒交换机:实现网络可编程性的三种方式(1

  哪怕是最苛刻的IT专业人员,有一个词也会很吸引他注意:节约成本。当市场中出现白盒交换机时即一种预安装第三方网络操作系统的消费类交换机硬件,网络工程师一般首先听到或了解到的是这种新方法有可能节约成本。

  但是,随着网络可编程性的概念变得越来越受到关注,节约成本已经不是白盒交换机中最受关注的方面了。除了节约,它们还可以增加网络自动化、可编程性和灵活性,这些改进也有其实际价值。

  src=

  498)this.width=498; onmousewheel = javascript:return big(this) src=白盒交换机:实现网络可编程性的三种方式 />

  根据Doyle Research首席分析师Lee Doyle的观点,包含软件和硬件在内的白盒交换机市场预计将在2018年增长到5亿美元。但是,现在仍然是软件定义网络(SDN)的发展早期,因为白盒交换机与网络操作系统市场目前还很小。Doyle指出,作为对比,像Cumulus Networks和Big Switch Networks这样的白盒交换机供应商现在的“收益可能只有200万美元”。

  他补充说,目前主攻白盒交换机的公司主要有三类:有资源部署和这些交换机的互联网级别公司、更多考虑绿地部署风险的数据中心运营商和一些基于云但未达到互联网级别的公司。然而,大多数企业和服务提供商并不满足于任何一个网络操作系统。对于大多数公司而言,他们的操作系统选择最终取决于作出采购决策的负责人的专业技术背景。

  Gartner公司杰出分析师Joe Skorupa说:“服务人员会选择Cumulus Networks或Pica8,而网络人员则会选择Big Switch或Pica8。Cumulus Networks有适用于数据中心的白盒交换机。人们通常会用它来支持SDN堆叠网络,但是它本身并不是SDN。”

  下面将针对这个特点来介绍三个使用拍盒交换机实现网络可编程性的用例。

  像管理服务器一样管理交换机

  DreamHost LLC是一家网站托管公司和云提供商,它在白盒交换机上使用Cumulus Networks的Cumulus Linux网络操作系统来高效地扩展和管理自己的开源多租赁公共云服务:DreamCompute。

  DreamHost负责云的副总裁Jonathan LaCour说:“由于运行着Cumulus Linux网络操作系统,所以我们将交换机看作是另一种Linux服务器。我们也用相同的团队、工具和流程去管理我们的Linux服务器上的Cumulus Linux。”

  这与DreamHost的遗留交换机有很大的区别,后者运行着预安装的私有软件和工具,与IT团队用于管理和计算与存储设备的Linux工具完全不同。

  LaCour说:“Cumulus Linux帮助我们将一种特殊的网络变成一种不那么特殊的通用。”

  Cumulus白盒交换机采用的方法将来自大型传统交换机供应商的私有交换机接口更换为所有Linux服务器管理员都能理解的通用Linux接口。

  在白盒交换机上运行Cumulus Linux可以帮助DreamHost提升Linux平台的性能和实现网络可见性,同时让它的工程师能够使用现有的Linux服务器管理工具实现网络自动化。采用与Linux服务器自动配置安装过程的相同方法,除了一些小更新和修改之外 ,完全不需要更多的特殊考虑,Cumulus Linux控制器会自动配置其白盒交换机安装设置,以满足DreamHost的网络要求。这个网络包括客户Pod(自包含硬件单元,表示DreamHost云的一个可用域)和用于管理用途的命令与控制Pod,它们运行着Cumulus Linux和40GbE叶脊架构。

  LaCour说:“虽然网络工程师现在可以通过自动化、CPI(命令行接口)和API编程控制交换机,Cumulus Linux的特别之处是它的CLI和API与每一位系统工程师和云工程师长期使用的Linux工具完全相同,如由器命令和ipconfig等。他们完全不需要学习新东西,所有东西都由硬件加速。”

  Linux服务器与运行Cumulus Linux的交换机之间并没有很大的差别主要差别就是每一台设备上的端口数量。一个Linux服务器可能只有2~4个2层和3层连接以太网端口,而Cumulus白盒交换机则有48个10GB端口。

  DreamHost使用DevOps工具Opscode Chef实现服务器与网络编制。由于每一个交换机都运行着版本2和版本3的最短径优先(Open Shortest Path First)协议,因此从配置到故障修复等所有网络操作都变得非常简单。DreamHost工程师根据Chef手册和秘诀(一组可重用配置说明)编程实现Cumulus Linux交换机的目录管理和配置。它的IT团队使用基于Python编写的工具Graphite来交换机。

  交换机会出现故障,而当它们出现故障时,Cumulus Linux会让DreamHost的网络保存由数据并保持正常运行,直到交换机完成更换,即从网络移除故障交换机,然后使用剩余交换机自动重建网络结构。然后,控制器会配置新交换机,然后自动将它添加到网络中。这样就可以将平均修复时间从几小时减少为几分钟。

  但是,与所有网络平台一样,Cumulus Linux也不是完美的。

  LaCour说:“在一些复杂特性上,网络操作系统仍然无法与传统交换机架构相媲美。但是,这与我们的情况没有关系,因为我们更愿意保持底层网络的简单性,同时在SDN堆叠网络上添加白盒交换机所缺少的更多特性。”