
云数据中心为多租户提供云计算业务,为了实现多租户之间的网络隔离,使用EVPN技术,将云数据中心的网络分为underlay和overlay两层网络,Underlay网络由运营商管理,Overlay网络由租户自行管理。Underlay网络和Overlay网络都采用自动化部署方式,使得网络部署简便快捷,根据用户需求的变化,快速分配或回收网络资源。分层网络部署测试,需要针对网络自动化部署的技术架构,采用合适的测试手段,进行功能测试和性能测试。
Underlay网络自动化部署测试
underlay网络自动化部署测试环境,需要用到模板编排器,DHCP Server,File Server,交换机等部件,模板编排器可以选择网络模型,按照角色制定交换机自动化部署模板,DHCP Server是为空配置交换机分配管理地址,通过OPTION选项告知交换机File Server的地址以及模板文件名,以帮助交换机获取自动化部署模板,交换机在获取到自动化部署模板后,就开始进行自动化部署。
图1.Underlay网络自动化部署测试组网图
underlay网络自动化部署功能测试,包括网络模型配置,网络角色配置,堆叠或M-LAG配置,聚合配置,underlay路由协议配置,overlay路由协议配置,地址借用配置,VTEP地址配置,设备替换等测试项,测试方法,使用真实被测设备测试,无需使用测试仪或测试工具。underlay网络自动化部署性能测试,可重点测试大量leaf的VTEP地址分配,测试方法,需要使用VTEP模拟测试工具。
网络模型,有集中式网关组网和分部式网关组网两种,集中式网关组网,网关在spine上,三层转发在spine上,leaf只有二层转发。分部式网关组网,网关在leaf上,leaf可做二层转发和三层转发。集中式网关组网功能测试,需要检查spine和leaf的硬件参数配置的差别,spine应支持overlay三层转发,leaf应支持overlay二层转发。分布式网关组网功能测试,也需要关注spine和leaf的硬件参数配置的差别,leaf需要支持overlay三层转发,而spine应支持underlay二/三层转发。
网络角色,有spine和leaf两种层级角色,有RR和border等功能角色。在spine和leaf两级网络结构中,spine下行口连接leaf,leaf上行口连接spine,leaf下行口连接计算节点。RR,即IBGP反射器,用于overlay网络路由发布。border是云数据中心的南北向边界设备。spine角色功能测试,需要检查spine下行口配置,应是三层接口,借用VTEP地址,使能underlay路由协议。leaf角色功能测试,需要检查leaf上行口配置,应是三层接口,借用VTEP地址,使能underlay路由协议,leaf下行口,应是二层聚合口或二层物理口,使能VTEP。RR功能测试,需要检查IBGP反射器配置。border功能测试,需要检查硬件参数配置等。
堆叠自动部署功能测试,需要检查堆叠口配置,堆叠分裂检测配置,堆叠框号或槽号配置是否正确,检查堆叠是否成功。M-LAG是去堆叠的一种技术,M-LAG自动部署功能测试,应检查M-LAG配置是否正确,以及M-LAG是否正确建立。
leaf下行口聚合自动部署功能测试,需要检查leaf下行口聚合口配置是否正确,以及聚合是否成功。由于leaf下行口连接的是计算节点,需要覆盖多种虚拟计算节点,容器计算节点,裸金属计算节点等。虚拟计算节点和容器计算节点,支持openvswitch端口聚合或别的vswitch端口聚合。需要根据不同的计算节点的聚合类型,来编排模板,例如计算节点使用动态聚合,则在模板里指定为动态聚合,计算节点使用主备方式,则在模板里指定为静态聚合。
underlay路由协议自动部署功能测试,需要检查交换机全局的underlay路由协议配置,以及spine下行口和leaf上行口的路由协议配置。underlay路由协议有OSPF,ISIS,BGP等多种,使用不同的模板进行遍历测试。
overlay路由协议自动部署功能测试,需要检查IBGP RR以及RR Client的配置是否正确,检查RR与各RR Client之间的邻居是否正确建立。
spine与leaf之间连接接口,使用地址借用,可简化地址规划。地址借用自动化部署功能测试,需要检查接口使能不同路由协议时,地址借用配置是否正确,功能是否可用。
VTEP地址,通常是Loopback0口配置,用来作为隧道端点地址。在模板中制定VTEP地址池,交换机自动化部署时,从VTEP地址池中取用地址。VTEP地址自动化部署功能测试,需要检查全网不同交换机VTEP地址是否存在冲突。
如果交换机设备在underlay网络自动化部署完毕,运行一段时间出现故障,需要将故障设备替换出来,那就可以使用设备替换。设备替换,需要在编排器上制定替换计划,然后运行替换计划。设备替换功能测试,需要检查设备替换后,原有配置是否生效,业务是否不受影响,需要覆盖测试单机、堆叠和M-LAG等多种组网下设备替换。
大量leaf的VTEP地址分配性能测试,需要使用VTEP模拟器,需要检查大量leaf的VTEP地址分配是否存在冲突,当VTEP地址池地址分配完后,能否停止分配,检查VTEP地址池扩容后,新地址能否正常分配,且不影响已分配地址。
非层次化overlay网络自动化部署测试
非层次化overlay网络自动化部署测试环境,需要用到云、网络控制器、虚拟计算、裸金属计算、容器计算和交换机等部件,非层次化overlay网络自动化部署功能测试,包括非层次化配置、虚拟端口、预配置下发、按需下发配置、配置审计和同步等测试项。测试方法,使用真实被测设备测试,也可用测试仪辅助。非层次化overlay网络自动化部署性能测试,可用网络测试仪测试:按需下发配置在有大量计算单元接入或迁移时的表现,可用网元模拟器测试,网络控制器纳管大量leaf。
图2. Overlay网络自动化部署测试组网图
功能测试
非层次化配置,是指租户网络的segment id与运营商网络的segment id的映射关系是静态的,例如租户网络的vlan-id与运营商网络的vxlan-id的映射关系是静态的。非层次化配置测试,需要检查网络控制器编制映射表,以及将映射表绑定到leaf或leaf下行口,需要检查网络控制器能否正确识别leaf设备及其下行口。非层次化配置,若要突破4K个segment,则配置比较繁琐,需要测试配置大量的映射表,并精确绑定到leaf甚至到leaf下行口。
虚拟端口,是网络控制管理计算单元的一种方式。当云创建了虚拟机或容器或裸金属等计算单元,云将通知网络控制器去创建虚拟端口。当leaf下行口有计算单元接入时,网络控制器也会创建虚拟端口。虚拟端口测试,需要检查虚拟端口对应的计算单元的网络属性,如IP地址,MAC地址,接入设备和端口等是否正确,需要检查虚拟端口的老化处理是否正确。
预配置下发,即不管leaf下行口有无计算单元接入,网络控制器都预先下发配置。预配置下发测试,需要检查配置下发是否正确,检查当leaf下行口不作为计算单元接入接口时,leaf下行口的配置是否被取消。
按需下发配置,是指在leaf下行口有计算单元接入,才下发配置,当无计算单元接入时,取消配置,从而释放网络资源。按需下发配置测试,应覆盖多种计算单元,如虚拟计算,容器计算,裸金属计算等,应覆盖计算单元通过ARP报文触发、DHCP报文触发和静默无触发等多种触发方式,应覆盖计算单元在leaf内和leaf间迁移。
测试静默无触发方式,当网络控制器设置为按需配置方式时,网络控制器应不会下发配置,即使leaf下行口已经UP。
测试ARP报文触发方式或DHCP报文触发方式,网络控制器在收到计算单元发出的ARP报文或DHCP报文后,根据报文中携带的信息去查映射表,找到映射表项,应下发配置,找不到映射表项,不应下发配置。在测试中,需要检查按需下发配置是否正确,检查当leaf下行口不作为计算单元接入接口时,leaf下行口配置是否被取消。在测试中,需要检查当leaf下行口最后一个计算单元被删除后,leaf下行口配置是否被取消。在测试中,需要检查,当leaf下行口收到计算单元发送的非ARP报文或DHCP报文时,应不下发配置。
测试计算单元迁移时的按需配置下发,当计算单元迁移到目的leaf的下行口,网络控制器应按照ARP报文触发或DHCP报文触发方式,来实现按需下发配置,若计算单元静默无触发,则网络控制器不应下发配置,当网络控制器按需下发配置时,应检查网络网络控制器是否同步刷新虚拟端口,检查目的leaf和目的leaf下行口配置是否正确,检查原leaf和原leaf下行口配置在最后一个计算单元被迁走后是否被删除。测试计算单元迁移,需要覆盖虚拟计算、容器计算和裸金属计算等,这三者有一些区别。虚拟计算单元热迁移,虚拟平台本身会发送RARP报文,而容器计算单元迁移,实际上是容器计算单元在源物理服务器上停止,在目的物理服务器上重新拉起,类似于虚拟计算单元冷迁移,需要有容器计算单元自身发送ARP或DHCP报文。裸金属计算单元迁移,也类似虚拟计算单元冷迁移,需要裸金属单元自身发送ARP或DHCP报文。
配置审计和同步测试,可以在leaf设备上修改网络控制器下发的配置,然后用网络控制器的配置审计功能,检查出网络控制器与交换机之间的配置差异,再用网络控制器的配置同步功能,把网络控制器上保留的配置重新下发到交换机。在配置同步测试中,需要检查是否会对交换机的正常业务有影响。配置同步测试,还需要检查网络控制器下发配置与手工配置能否共存。
性能测试
测试有大量计算单元接入leaf时的按需配置下发,可用测试仪模拟,测试仪发送ARP报文或DHCP报文,调整发送速率,以检查网络控制器和leaf可以接受的最大速率,在正常速率范围以及超过正常速率范围下,检查网络控制器的处理是否正常,检查控制器向leaf下发的配置是否完整,是否正确。
测试有大量计算单元迁移时的按需配置下发,可用测试仪模拟,测试仪先向源leaf发送大量的ARP报文或DHCP报文,然后再向目的leaf发送同样的这些ARP报文或DHCP报文,检查网络控制器向目的leaf按需下发配置是否正确是否完整,用测试仪向源leaf和目的leaf反复切换发包,检查网络控制器向源leaf和目的leaf下发配置是否正确,检查虚拟端口的属性是否及时刷新。
网络控制器纳管网元性能测试,可用网元模拟器模拟大量网元,检查网络控制器与大量网元建立连接是否正常,在网络控制器纳管大量网元的情况下,检查网元状态刷新是否及时,配置下发是否正常,配置审计和同步是否正常。
层次化overlay网络自动化部署测试
层次化overlay网络自动化部署测试环境,需要用到云、网络控制器、计算和交换机等部件,层次化overlay网络自动化部署功能测试,包括层次化配置、虚拟端口、按需下发配置、配置审计和同步等测试项,测试方法,使用真实被测设备测试,由于层次化overlay网络,需要云、网络控制器、计算和交换机等多个部件联动,因此不适合使用网络.测试仪,也是由于同样的原因,不适合用网络测试仪来做性能测试,性能测试,可使用虚拟计算模拟器和容器计算模拟器。
图3.层次化overlay网络自动化部署测试组网图
功能测试
虚拟端口测试,与非层次化类似。在层次化环境,由于不能预先知道映射关系和绑定关系,因而,也不支持预配置下发,无需做预配置测试。按需下发配置测试,与非层次化类似。配置审计和同步测试,与非层次化类似。
层次化overlay网络,简单来说,是指租户网络的segment id与运营商网络的segment id之间的映射关系是动态的,映射表与leaf下行口的绑定关系也是动态的。云创建计算单元时,最先确定运营商网络的segment id,然后,云、网络控制器和计算单元的宿主机三者协商决定租户网络的segment id,建立一个动态映射表,最后当计算单元上线时,网络控制器根据LLDP邻居信息以及ARP或DHCP报文携带的信息,决定映射表与leaf下行口绑定关系,向交换机下发配置,创建虚拟端口。层次化配置测试,无需在网络控制器上配置映射表和绑定关系,需要在云上打开层次化开关,配置租户网络segment id范围和运营商网络segment id范围,需要检查计算宿主机上租户网络的segment id的分配和回收,在新建计算单元时,应选取一个空闲的segment id,当所有计算单元删除或者迁移走以后,需要收回segment id,以用于再分配。
性能测试
层次化overlay网络自动化部署性能测试,使用虚拟计算模拟器和容器计算模拟器,模拟大量的计算单元接入leaf,模拟器可与云互动,动态分配租户网络的segment id。模拟器接入透传交换机,透传交换机接入leaf,透传交换机,需要透传模拟器与leaf之间的LLDP报文,透传交换机本身不启用LLDP。性能测试重点检查在大量计算单元接入时,租户网络segment id分配和回收是否正常。
结束语
云数据中心分层网络自动化部署功能测试,还需要考虑到一些功能的组合,例如underlay与overlay网络自动化部署同步进行,手工配置与网络控制器下发配置并存,层次化与非层次化并存等,随着网络自动化部署支持的特性增多,功能组合也会更多。云数据中心分层网络自动化部署性能测试,需要用模拟器来模拟大量网元和大量计算单元,因此模拟器的制作是关键。