2.2 路由方案设计
2.2.1 物理设备路由方案
大道至简,本着这个原则,本文的设计只采用了静态路由和BGP两种路由协议。其中,静态路由配置在每个leaf上,调度目的地址为本leaf上所接服务器的业务IP的流量,每个leaf与其相连接的spine之间建立eBGP链接,将leaf上配置的静态路由同步到spine上,各leaf通过spine,也互相学习到了各自的静态路由,这样一来,每个leaf和spine上,就都可以学习到整个spine leaf网络中所有服务器的路由条目。
服务器上配置以等价多路径方式配置默认路由,下一跳指向其两个网卡对端所连leaf的网口IP地址。
如下图,同一对leaf上连接的主机间流量路径有两条(红,绿所示):
不同leaf对上连接的主机间流量会经过一个spine,等价路径数量取决于spine的数量n,为4n条,如下图红色所示:
由上图,可对该架构进行故障域分析:
- 当任一台主机故障时,只影响这台主机自身的通信,不会对整个网络的连通性造成影响;
- 当任一台leaf故障时,会影响该leaf上所连接的主机的上联通路数量,上联带宽减少一半,但连通性不受影响,网络中其他设备无影响;
- 当任一台spine故障时,不同leaf对之间的主机通信的带宽减少n分之一,n为spine数量,连通性不受影响;
- 只有当同一个leaf对中的两个leaf同时出现故障时,该leaf对所连主机通信网络会中断,其他部分不受影响;
- 只有当所有spine全部故障时,整个网络会故障;
2.2.2 虚拟机路由方案
在虚拟化的数据中心中,虚拟机承载着关键业务,其相互之间的通信必不可少,虚拟机的网卡桥接在宿主机的网桥上,以宿主机的IP地址作为默认网关,同一物理机上的虚拟机之间的通信,直接通过宿主机网桥可二层互通,不同宿主机上的虚拟机通信经过三层转发互通,需要的配置有:
- 物理机配置网桥,将虚拟机桥接到网桥上;
- 物理机开启内核转发功能;
- 物理机配置路由表,以等价多路径方式将默认路由指向两个物理网口;
- 交换机上配置虚拟机的路由条目;
下图展示了不同的物理机上的虚拟机之间的通信流程(vm0 -> vm2),红色线路为流量可用的通路:
- vm0发送到自身网关,及宿主机server0的br0;
- 在宿主机上查找路由表,经内核转发,将流量以等价多路径的方式发送到两个物理网口,进入spine leaf交换机网络;
- 交换机上查找路由表,找到目标虚拟机对应的静态路由条目,发送到目标虚拟机的宿主机server1的物理网口;
- 宿主机server1查找自身路由表,经内核转发,发送流量到br0;
- 查找路由表,经br0发送到目标虚拟机vm2;
同一物理机上的虚拟机之间的通信过程(vm4 -> vm5)如下图绿色路径所示:
- vm4的流量经默认路由发到宿主机的网桥br0;
- 查找路由表,经br0将流量发送到vm5;