数据中心里面,网络虚拟化存在于两个地方
一个是前篇文章里面所说的服务器层面的vSwitch
一个是传统网络中的网络层面
就如上图所示
网络层面的虚拟化其实还可以细分
一个是传统网络技术堆叠、M-lag、虚拟系统等组成的物理设备层面的虚拟
一个是通过网络架构实现的虚拟化,就是上图的Spine-Leaf网络架构
配置EVPN+VXLAN,构建一个大二层网络
网络虚拟化模型
这里我们从流量的视角来看:
流量从虚拟机出来,经过vSwitch映射到物理服务器的网卡上
再到达物理交换机,由交换机进行数据转发,最终到目的地
从VM到vSwitch
服务器内部通过虚拟交换机识别来自不同VM的数据
他使用Local VLAN来区分一组虚拟机的流量
多个虚机可以是相同或者不同的Local VLAN
需要注意的是,Local VLAN 只用于vSwitch内部区分流量
不做对外封装
从vSwitch到物理网卡
在处理的过程中,vSwitch首先会剥离掉本地的Local VLAN
进行真实的VLAN封装,服务器与交换机链接的光口通常是做了Bond聚合
一般会透传对应的业务VLAN,而这个也分别与vSwitch有关联
从网卡到交换机
VXLAN的场景下,会使用二层子接口来识别不同的VLAN流量(感兴趣流),并映射到VXLAN隧道中
这种组网中,接入交换机一般都会成组配置,并且部署M-LAG跨设备链路聚合来提高可靠性
从交换机到交换机
这里是指数据的往返所经过的交换机
云数据中心内,通常一个Spine域内的接入交换机之间,都会跑BGP EVPN
和VXLAN,构建大二层网络
VXLAN做转发平面,隧道提供流量转发
EVPN做控制平面,负责VXLAN隧道建立、IP&MAC路由传递
另类网络虚拟化
Host Overlay这个场景云数据中心常见
在两个不同的服务器中使用vSwitch承担VTEP建立VXLAN隧道
构建供虚拟机所需的大二层网络
比如我的虚拟机在两个不同的AZ区,需要二层互通就需要这样做
服务器处理网络的流程
本质来说,他们同样遵循OSI参考模型
但与交换机等网络设备还是有一定区别
他的网络协议栈是在Linux内核空间区实现的
同样也有封装与解封装
Linux中是先要有网卡在内核中注册后才会有,也就是打驱动
我们使用nmtui或者nmcli以及本地networkscript配置的接口ip掩码信息,都是存在于内核的网络协议栈中
由内核来驱动完成数据的处理加工
总结
如果你觉得这篇文章对你有帮助,欢迎转发给需要的朋友!
如果有写的不好的地方,欢迎各位指正~
我们下期文章见
往期内容:
本文使用图片素材来源于华为官网,仅用于学习分享

