干弱电15年,大型数据中心路由协议选型就这几条经验
兄弟们,今天聊聊数据中心路由协议那点事儿。你们也知道,这些年数据中心网络发展得飞快,从早期为了虚拟机、容器之间搞大二层通信,整出了TRILL、SPB这些组网技术,后来又冒出了VXLAN、NVGRE这些Overlay技术。说实话,这些技术听着高大上,但真到实际干活儿的时候,坑不少。设备能力参差不齐,技术复杂度高,最后都没大规模铺开。现在数据中心网络反倒回归本质了——简单、可靠,三层Underlay组网加上主机侧软件或智能网卡搞定的二层Overlay,业务解耦,省心。
那问题来了:大型数据中心三层组网,路由协议到底选哪个?别急,我根据15年干弱电的经验,给你捋清楚。
数据中心网络架构的演变
网络架构这东西,就像盖房子,地基决定上层。传统数据中心网络,比如图1那种核心-汇聚-接入三级结构,流量主要是南北向的,东西向流量小,收敛比高到10:1。但后来云计算、大数据一火,分布式计算、分布式存储开始大规模部署,东西向流量蹭蹭往上涨,传统架构就扛不住了:扩展能力差、收敛比高、运维还复杂。尤其是厂商那套横向虚拟化技术,升级版本时动不动就断业务,真是头疼。

后来Fabric网络架构兴起了,说白了就是借鉴了CLOS机框交换机的理念,把Line card当成柜顶交换机,Fabric card当成高速转发通道。一折起来,就是现在最火的Leaf-Spine叶脊架构(图2、图3)。这套架构扩展能力强、可靠性高、运维也方便,全球互联网巨头基本都在用。


Fabric网络用啥路由协议?
说到这儿,你可能要问:Fabric网络到底该用OSPF、ISIS还是BGP?我直接给你答案:BGP。为啥?RFC 7938里就讲了,BGP作为数据中心唯一路由协议,既成熟又通用。接下来我结合经验,给你摆摆道。
实际施工经验:别被OSPF的“简单”骗了
说句实在话,我刚开始干这行时,也迷信OSPF,觉得它配置简单、收敛快。但一碰到大型数据中心,就傻眼了。OSPF在大型网络里容易出各种问题,比如LSA泛洪导致CPU飙升,或者路由计算慢得像蜗牛。有一次,我帮一个客户搭建数据中心,用OSPF搞了600多台设备,结果一跑业务,路由收敛花了十几秒,业务直接中断。后来换成BGP,配合IBGP和RR,收敛时间降到毫秒级。兄弟们,选协议不能光看表面,得考虑实际规模。
省钱技巧:单一协议省设备、省人力
大型数据中心路由设计,有几个原则:可扩展性、带宽模型、降低CAPEX和OPEX。其中OPEX这块,我深有体会。以前我们用OSPF+BGP混合协议,运维团队得学两套知识,出了问题排查半天。后来全切到BGP,设备统一配置,故障定位快多了。而且BGP在主流交换机上都支持,不用额外花钱买专用设备。建议你们:如果预算有限,直接上BGP,别搞花里胡哨的协议组合,省下的钱够买几台好服务器了。
路由协议选型要点
总结一下,大型IDC路由协议需要满足:超大规模、简单、单一、减小故障域、负载均衡、灵活策略控制、快速收敛。对比下来,RIP和EIGRP直接排除,IBGP得配合IGP用,也不合适。OSPF和ISIS虽然也能用,但大规模部署时,OSPF的LSA泛洪和SPF计算是硬伤。而BGP,尤其是EBGP,在Fabric网络中天生适合ECMP,多链路负载均衡效果好,而且通过RR(路由反射器)可以轻松扩展。Facebook、Google这些大厂都用BGP,不是没道理的。

踩过的坑:BGP配置别贪多
最后提醒一句:BGP虽好,但别乱配。有一次我在一个数据中心,为了优化路由,加了一堆策略,结果搞出路由黑洞,排查了三天才发现是某个属性写错了。所以,BGP配置要“少而精”,尽量用默认参数,只在必要的地方加策略。经验是:先让网络跑通,再逐步优化,别一步到位。
