软件定义网络受到网络工程师和行业媒体的高度关注,但很少有SDN部署实例。在为数不多的部署实例中就包括谷歌,这家搜索巨头在2013年开放网络峰会上介绍了其软件定义网络细节,让我们去看看。 谷歌运行着一个庞大的网络,在2010年Arbor Networks公司在其研究中总结道:“如果谷歌是一个互联网服务供应商,它将是发展最快的全球第三大网络运营商。只有两家公司比谷歌贡献更多的跨域流量,这两家供应商都承载着谷歌庞大的流量。” 在开放网络峰会上,谷歌杰出工程师Amin Vahdat介绍了谷歌如何结合Quagga开源软件以及OpenFlow来优化其数据中心互连,他还介绍了谷歌在其内部数据中心使用OpenFlow的细节信息,谷歌称其SDN网络为“B4”。 谷歌为何选择SDN? Vahdat指出,谷歌后端(东西)网络的增长迅速超越了其前端面向用户的网络。这种增长非常昂贵,因为网络并不能像存储和计算一样以符合成本效益的方式来扩展。计算和存储的运营成本会随着规模的扩展而更加便宜,但网络并不是如此。 Vahdat介绍了谷歌选择软件定义网络的理由。首先,通过从软件分离硬件,该公司可以基于所需的功能选择硬件,同时能够对软件时间线进行创新和部署。其次,它提供逻辑上的集中控制,这将会更具确定性、更高效以及更容错。第三,自动化允许谷歌分离、监控、管理和操作。所有这些元素能够提供灵活性以及创新性。 在这个项目开始时,谷歌使用商用芯片建立了自己的交换机(见图片)。谷歌构建自己的硬件,因为当时市场上并没有硬件能够满足其需求。
Vahdat并没有提到现在市场上是否存在满足于谷歌部署SDN硬件需求的交换机,这通常涉及供应商固件升级到纳入OpenFlow代理。 然而,Vahdat指出,虽然OpenFlow并不是且仍然部署完美的协议,但谷歌将继续使用OpenFlow用于流量实例,因为它受到各种厂商的支持。笔者认为,这意味着谷歌并不打算推出其自己的硬件,并且,OpenFlow支持将会是未来硬件购买的采购要求。 谷歌B4网络的混合迁移分三个阶段 Vahdat接着讨论了谷歌的SDN迁移路径,从完全分布式的单片控制和数据平面硬件架构转移到物理分散的(尽管逻辑上集中)控制平面架构。 谷歌B4网络的混合迁移分三个阶段进行:
|