在网络技术领域,Overlay是一种网络架构上叠加的虚拟化技术模式,可以对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离。而SDN作为一种将网络设备控制面和数据面分离的一种新型网络创新技术,可以与Overlay完美结合。H3C的SDN Overlay包含网络Overlay、主机Overlay和混合Overlay三种组网方案,混合Overlay是网络Overlay和主机Overlay的混合组网,它融合了两种Overlay方案的优点,既可以支持虚拟化的服务器,也可以支持利旧的未虚拟化物理服务器,以及必须使用物理服务器提升性能的数据库等业务。
随着SDN方案从OpenFlow演进到EVPN,混合Overlay也从最初的强控混合Overlay演进到弱控混合Overlay,由于主机侧虚拟交换机不支持EVPN,所以就需要解决主机侧OpenFlow和设备侧EVPN的互通问题,H3C通过新增vBGP组件实现了OpenFlow流表与EVPN路由转换,完美解决了这个问题。
图1 EVPN混合Overlay整体组网图
EVPN混合Overlay组网角色说明:
云平台:CloudOS或OpenStack等云平台管理软件。
SNA Center:SNA(SeerNetwork Architecture,先知网络架构)是紫光旗下新华三集团推出的下一代智慧网络架构,SNA Center是数字化网络的核心组件,它具有对网络进行全局统一管理、控制和智能分析、业务编排的能力。
SeerEngine:数据中心控制器,部署在SNA Center上,它类似一个网络操作系统,为用户提供开发和运行SDN应用的平台。SeerEngine可以控制OpenFlow网络中的各种资源,并为应用提供接口,以实现特定的网络转发需求。
vBGP:BGP集群,部署在SNA Center上,是控制器实现OpenFlow流表与BGP路由互转的核心组件。
Spine:交换机设备,作为网络中BGP的RR。
Leaf:接入设备,在网络中承担分布式网关和接入设备功能。
Border:边界设备,在网络中承担边界网关的功能。
FW/LB:防火墙和负载均衡设备,用来提供防火墙和负载均衡网络服务。
OVS:装有H3C S1020V的主机设备。
EVPN混合Overlay实现了数据中心内EVPN网络Overlay组网和主机Overlay组网间流量的互通,其主要原理是通过控制器对主机Overlay的虚机信息进行封装并作为路由发布到EVPN设备侧,同时将EVPN设备侧的BGP路由通过流表形式下发至主机Overlay网络,从而实现网络Overlay和主机Overlay下的虚机流量互通,本方案具有以下特点:
保持现有的EVPN网络Overlay的流量转发模型。
新增vBGP组件和Spine建立对等体,发布路由到EVPN网路并将收到的路由通过NETCONF上报给控制器。
控制器通过路由注入,将OVS主机侧上线的虚机信息转化为BGP路由并通过vBGP发布到EVPN网络。
控制器通过路由订阅,将vBGP上报的路由信息转化为流表指导主机Overlay的流量转发。
OVS主机扮演分布式网关角色,跨Overlay的流量不需要经过Border,可以减轻Border的负担。
当OVS主机侧虚机上线时,控制器根据虚机MAC、IP和OVS主机VTEP等相关信息需要向vBGP注入BGP路由。相反当OVS主机侧虚机下线时,就需要撤销对应的BGP路由。当OVS主机侧有虚机迁移时,需要更新已下发的BGP路由。所涉及的BGP EVPN路由分为两类:二类路由和三类路由。
OVS主机上Network下第一个虚机上线后,需要注入携带L2 VNI的三类路由,EVPN设备通过该三类路由建立到OVS的二层隧道。
Subnet未绑定Router,OVS主机下有虚机上线时,需要注入仅携带L2 VNI的二类路由,EVPN设备通过该二类路由,学习MAC表和ARP表项。
Subnet绑定Router后,三层卸载开启情况下,OVS主机下有虚机上线时,需要注入携带L2、L3 VNI的二类路由,EVPN设备通过该二类路由,建立到OVS的三层隧道,同时学习到该虚机的Fib表项和ARP表项。三层卸载关闭情况下,由于所有三层流量全部去往Border,OVS主机上仅作二层转发,因此OVS下有虚机上线后,仅需要注入携带L2 VNI的二类路由,EVPN设备通过该二类路由,学习MAC表和ARP表项。
EVPN设备侧虚机上线后,控制器通过vBGP,可以学到对应的BGP EVPN二类路由、三类路由和五类路由,然后控制器根据这些BGP路由信息下发流表到OVS主机上指导流量转发。EVPN设备侧虚机下线或迁移时,控制器对应删除或更新流表。
同网段流量,控制器根据学习到的二类路由,根据L2 VNI信息在OVS主机上下发MAC流表,封装L2隧道,指导流量转发。
不同网段流量,包括跨VPC和外网流量,根据学习到的二、五类路由,根据L3 VNI信息在OVS主机上下发IP流表,封装L3隧道,指导流量转发。
图2 跨Overlay同网段流量互访
如图2所示,VM1是OVS主机侧的虚机,VM2是EVPN Leaf侧的虚机,两者属于同一网段。VM1虚机上线后,控制器根据VM1上线的MAC、IP和主机VTEP这些信息,转换成二三五类路由(如图3所示)下发到vBGP上,再由vBGP发布至EVPN网络,这时候Leaf就可以学习到这些路由并建立对应的隧道,如图4所示。
图3 二三五类路由
图4 隧道配置
VM2上线后,控制器通过vBGP上报的二三五类路由信息,下发MAC流表(如图5所示)和IP流表(如图6所示)到OVS主机上。
图5 MAC流表
图6 IP流表
VM1跨Overlay访问同网段VM2的转发流程为:
去程流量在OVS主机上匹配MAC流表,封装L2VNI后经过VXLAN隧道转发到Leaf设备,Leaf设备解封装后根据本地学习的二层表项(如图7所示)把流量转发至VM2。
图7 二层MAC表项
回程流量通过在Leaf设备上匹配控制器注入路由生成的二层表项(如图8所示),封装L2VNI后经VXLAN隧道转发到OVS主机上,解封装后根据OVS主机上的流表(如图9所示)转发至VM1。
图8 二层MAC表项
图9 MAC流表
图10 跨Overlay跨网段流量互访
如图10所示,VM3是OVS主机侧上线的虚机,VM2是EVPN Leaf侧上线的虚机,两者属于不同网段,VM3上线后,控制器根据VM3上线的MAC、IP和主机VTEP这些信息,转换成二三五类路由(如图11所示)下发到vBGP上,再由vBGP发布至EVPN网络,之后Leaf就可以学习到这些路由并建立对应隧道(如图12所示)。
图11 二三五类路由
图12 二三五类路由
VM2上线后,控制器通过vBGP上报的二三五类路由信息,下发相应的流表(见图13)到OVS主机上。
图13 IP流表
VM2跨Overlay访问跨网段VM3的转发流程为:
去程流量在OVS主机上匹配IP流表,封装L3VNI后经过VXLAN隧道转发到Leaf设备,Leaf设备解封装后根据本地学习的二层表项(如图14所示)把流量转发至VM2。
图14 二层MAC表项
回程流量通过Leaf设备上匹配控制器注入路由生成的三层表项(如图15所示),封装L3VNI后经VXLAN隧道转发到OVS主机上,解封装后根据OVS主机上的流表(如图16所示)转发至VM2。
图15 三层路由表项
图16 IP流表