连接Facebook各大数据中心的全新网络

Facebook于本周初宣布,在最近一段时间内,其数据中心之间的流量是由一个独立的骨干网,而不是由将其数据中心连至公网的骨干网进行传输的。这是社交网络的一个重大架构变革,因为10年来,社交网络都通过一个独立的骨干网传输两种类型的流量。

如今,Facebook各大数据中心之间流动的流量要比其基础设施和互联网之间(每月20亿Facebook活跃用户访问社交网络的渠道)流动的流量大上许多倍。尽管近年来,Facebook连至互联网的流量增长缓慢,但在多个数据中心之间复制丰富的内容(如照片和视频)所需的带宽的流量却得到了激增,这迫使该公司的工程师需重新构思其全球网络的设计方式。

除了新建一个名叫“快速骨干网(Express Backbone)”或EBB的全新全球骨干网,Facebook的基础架构团队还从其数据中心内的网络结构设计中得到了很多灵感,设计了一个新的控制堆栈来管理该骨干网上的流量。

Facebook并不是唯一一个拥有独立内部和外部流量骨干网的公司。谷歌设有B2这一面向互联网的骨干网,以及B4这一跨数据中心骨干网。但是,谷歌只是设有这种骨干网的一家大型公司而已。

“Big Switch Networks”这一软件定义网络初创公司的创始人Kyle Forster通过一封邮件表示:“所有的超大型企业和许多提供金融服务的企业都有自己的光纤网络,这些网络在【数据中心】之间跋涉,但并不是(直接)与公网进行连接的。” 他还补充道,内部流量往往运行于企业自己的光纤上,而与使用服务供应商相比,这种光纤对于超大型平台来说更加实惠。

面向网络的企业经常运用这种类型的网络设计来区分“肮脏”的网络活动和“干净”的网络活动,Cumulus Networks的联合创始人兼首席技术官JR Rivers解释道。Cumulus Networks公司出售了为数据中心网络设计的一个Linux操作系统。在二十一世纪中期,Rivers曾在谷歌工作过,在那里,他参与设计了该公司的本地数据中心网络。

Rivers在一封电子邮件中写道:“拥有独立的内部和外部流量骨干网可以帮助企业为客户提供高质量的服务、拒绝服务、防入侵保护以及网络地址隔离。一些企业甚至会在他们的‘内部’网络上使用优化的网络协议,而这是通过物理隔离实现的。”

Facebook此次公告中的创新部分是其工程师为管理EBB而设计的控制堆栈。 据该公司的一篇博文中所述,该控制堆栈包括:

§ 基于BGP路由器的中央(和高度冗余)集群,以便将流量移至/移下网络。

§ 基于从网络设备收集sFlow样本的sFlow收集器,可被用于满足流量工程控制器的活跃需求。

§ 根据当前需求计算和设计最佳路线的流量工程控制器。

§ 运行于网络设备的Open/R代理,以提供IGP和消息发送功能

§ 也可在网络设备上运行的LSP代理,从而与代表中央控制器转发表格的设备进行相接

Equinix的首席技术官Ihab Tarazi通过一封邮件表示:“建立这样的一个系统需要先进的技术和对创新投入大量的资金。这种架构包括开发非常复杂的自动化网络路由、管理和操作工具,还需要利用开源硬件设计。更重要的是,这是Facebook独有的全新DevOps模式。”

虽然这种方法特别适用于超大型企业,但这些企业却并不是唯一采用这种方法的企业。据Rivers所述,Cumulus公司与许多拥有相似架构,但却拥有不同规模的企业进行过合作。他说:“有些规模较小的企业将使用虚拟网络来提供这种隔离,而另一些将设立单独的物理网络。”

然而,Big Switch公司的Forster表示,这种架构在企业领域正在逐渐消失。他说:“虽然很多大型企业过去设立过这些独立的骨干网,但在近10年来,这些网络已经过时了,因为主要电信公司的网络价格已经下降 了,而且这些独立骨干网的数量也在减少。”