局域网SDN技术硬核内幕 二 从软件Overlay到硬件Overlay
在前一阶段的文章中,我们介绍了Neutron和NSX中的几个基本概念:
- IRB(Integrated Routing & Bridging)或DAG (Distributed Anycast Gateway),实现全网所有VM的同网段和跨网段转发;
- VTEP,位于IRB的边缘,各VTEP需要互相同步相关网段中所有VM的MAC和IP地址信息;
- Overlay,让各VTEP跨域三层IP网络实现二层互联互通。Overlay的实现可以是VXLAN或NVGRE。
- VXLAN Bridging (VXLAN L2 Gateway)和VXLAN Routing (VXLAN L3 Gateway),实现从VLAN到VXLAN的同网段二层映射,以及跨网段三层路由。
- EVPN,用于各VTEP之间同步VM的MAC和IP地址信息。
也就是说在部署了OpenStack的云数据中心中,虚拟机通过由这些组件构成的SDN网络实现互联互通。
我们发现,在Neutron的默认实现中,这些功能均由运行在各宿主机上的虚拟交换机OVS实现,因此,宿主机的CPU资源中,相当大的一部分将用于实现VXLAN封装/解封装,以及基于EVPN的表项同步。这种实现叫做软件Overlay,或主机Overlay。
随着宿主机网络从10G-25G-100G的演进,软件Overlay消耗的CPU资源也会同步增加。在现代的高性能数据中心中,软件Overlay消耗的CPU资源,与业务对计算通信效率的需求之间的矛盾