Google使用Openflow技术来部署自己的数据中心网络的传说由来已久,但是一直没机会看到资料介绍相关的情况,今天终于看到了一个google的PPT文档,介绍它的部署情况,不算太详细,但已经足以透露不少信息了。闲来无事,分析一下,这个文档透露了以下信息:
1.Google的Openflow目前看起来仅仅用于WAN网络,包括面向Internet的和他们的不同数据中心之间的网络,貌似还没涉及到一个数据中心内部的网络。我觉得这是很明智的,内部的更复杂,可以一步一步来。
2.Google所用的Openflow交换机是定制的交换机,这些交换机所用的芯片都是商业ASIC,这意味着什么呢?意味着转发面的实现并不是使用标准的Openflow Spec的方式,而是TTP的方式,即向上提供Openflow标准接口,但是芯片转发面并不是用标准的openflow流表,而是组合使用传统表项(Mac, IP, ACL等)包装出Openflow flow来,估计做了不少扩展。(关于这第二点,这个PPT没提,是我从另外一个Nick McKeown写的paper看到的,那个paper提到了一句话,说google的Openflow交换机使用了商业ASIC)
3.Google这个网络架构是标准的SDN的架构,使用集中化controller,controller之上运行了很多application,包括一些标准网络协议,他们明确提到的包括OSFP, BGP, ISIS,这些路由协议都来自于开源的quagga协议栈(也就是商业协议栈ZebOS的前身,现在仍在维护中)。
4.Google在这个事情上展现出了其强大的软件实力,他们用软件模拟了完整的数据中心网络,可以模拟任意拓扑,并且也仿真了交换机和交换芯片,用于模拟网络测试,同时完成了复杂的应用程序和控制器来控制网络。
交换机还支持Hitless upgrade,也就是说在线升级软件,应该说Google的网络模型别人也能模仿,但是这种强大的软件实力就不是别人轻易能模仿的了的,BTW他们的交换机的OS是Linux。
5.他们的部署分为三个阶段,第一阶段是2010年春天完成的,把Openflow交换机引入到网络里面,但是这个时候Openflow交换机对同网络中的其它非Openflow设备表项的就像是传统交换机一样,只是网络协议都是在controller上完成的,外部行为来看表现的仍然像传统网络。第二阶段是到2011年中完成,这个阶段引入更多流量到Openflow网络中,并且开始引入SDN管理,让网络开始向SDN网络演变。第三个阶段在2012年初完成,整个WAN backbone网络完全切换到了Openflow网络,引入了Traffic Engineering,完全靠Openflow来规划流量路径,对网络流量进行极大的优化。看的出来,他们使用Openflow,最主要做的事情就是Traffice Engineering,优化转发路径,其它的相对次要。
6.他们目前已经看到该网络带来的一些好处包括:网络带宽利用率大大提高,网络更稳定,管理简化了,Cost降低了,其它好处有待于进一步观察。
7.但是他们认为Openflow的部分潜在机会机已经得到验证和肯定,包括对整个网络的视图可以看得很清楚,可以更好地来做Traffice Engineering从而更好的进行流量管控和规划,更好的路由规划,能够清楚地了解网络里面发生了什么事情,包括monitering, alert。
8.他们也总结除了Openflow仍然需要提高改进的地方,包括OF协议仍然不成熟,Master的选举和Control plane的责任划分仍有很多挑战,对于大型网络flow的programming会速度比较慢,到底哪些功能要留在交换机上哪些要移走还没有一个很科学的划分,但是他们认为,这些问题都是可以克服的。
9.最后他们得出了几个结论: Openflow is ready for real-world use. SDN is ready for real-world use. Google的数据中心WAN网络已经成功地基于Openflow搭建起来了。
总的看来,Google的报告对SDN和Openflow是正面的,积极向上的,用经济术语来说,是重大利好。