谷歌SDN典型案例分析

2020-07-01 19:35:23 云杰通信 103

谷歌SDN典型案例分析

  谷歌SDN应用主要用于其世界各地的数据中心之间流量传输。其传输的数据可以分为三大类:(1)用户数据备份,包括视频、图片、语音和文字等;(2)远程跨数据中心计算资源和存储资源访问;(3)因分布式访问负载均衡而进行的大规模数据同步。这三类从前往后数据量依次变大,对延时的敏感度和优先级依次降低。

  B4网络从低到高分为三个层次,分别是物理设备层(Switch Hardware)、局部网络控制层(Site Controllers)和全局控制层(Global)。第一层的物理交换机和第二层的Controller在每个数据中心出口的地方部署,而第三层的SDN网关和TE服务器是在一个全局统一的控制池。第一层是谷歌自行设计并请其他厂商代工的物理交换机,运行OpenFlow协议,把BGP/IS-IS协议报文送到Controller层进行处理。第二层在每个数据中心出口有一个Controller服务器集群,下层交换机可连接到多个Controller,由Paxos来选出leader(即决定工作状态的Controller)。第三层中全局的TE Server通过SDN Gateway从各个数据中心的控制器收集链路信息、路径信息。这些路径被以IP-In-IP 隧道的方式创建,通过Gateway到Onix Controller,最终下发到交换机中。当一个新的业务数据要开始传输时,应用程序会评估该应用所需要耗用的带宽,为它选择一条最优路径(如负载最轻的但非最短路径,不丢包但延时大),然后把这个应用对应的流,通过Controller安装到交换机中,并跟选择的路径绑定在一起。B4网络整体架构图如图1所示。

  改造前,谷歌使用基于静态Hash的负载均衡方式,需使用过量链路,提供比实际需要更多的带宽,实际链路带宽利用率只有30%-40%,网络无法对上述三大类数据进行精细匹配分流,数据传输路径无法做到最优。改造后,通过使用程序来控制网络,实现流量大小及方向的控制。链路数量减少,成本明显降低,但B4网络链路带宽利用率提高了3倍以上,达97%,并且简化了网络的流量管理和控制。