[云计算]HCIE-Cloud 网络虚拟化
网络架构
传统DC与云DC的区别
- 传统数据中心的特点:
- 一个物理网口对应一台计算机
- 计算机与网络关系固定,很少变动
- 云计算数据中心的变化:
- 一个物理网口对应若干虚拟机
- 虚拟机与网络关系不定,会频繁的进行跨主机迁移
- 传统南北向流量为主的数据中心架构不再满足未来发展
- 热迁移使得计算能力不再固定在具体的物理位置
流量走向
- 南北向流量:指数据中心外部用户和内部服务器之间交互的流量
- 东西向流量:指数据中心内部服务器之间交互的流量
网络虚拟化
网络模式
NAT模式
原理:做两次NAT转换,第一次在虚拟交换机,第二次在路由器,访问外部网络。
桥接模式
原理:可以看作在局域网中创建了一台独立的主机
Linux Bridge(网桥)
- 原理
- Linux Bridge(网桥),工作于二层的虚拟网络设备,类似交换机
- 网桥可以绑定其他的Linux设备作为从设备,并将接入设备虚拟化为端口,当设备被绑定到Bridge上时,就相当于往真实网络中的交换机端口上插入了一个网线
Bridge设备br0绑定了实际设备eth0与虚拟设备tap0/tap1,此时,对于Hypervisor的网络协议栈上层来说,只看得到br0,并不会关心网桥的细节,当这些从设备接收到数据包时,会将其提交给br0决定数据包的去向,br0会根据MAC地址与端口的映射关系进行转发。
OVS(虚拟交换机)
-
Open vSwitch(OVS)是一款基于软件实现的开源虚拟以太网交换机
-
OVS能够支持多种标准的管理接口和协议,还可以支持跨多个物理服务器的分布式环境
-
OVS提供了对OpenFlow协议的支持,并且能够与众多开源的虚拟化平台相整合
-
两个主要作用:传递虚拟机之间的流量、实现虚拟机与外部网络的通信
EVS(弹性虚拟交换机)
-
EVS(Elastic Virtual Switch,弹性虚拟交换机),华为改进版OVS
-
基于OVS转发技术,提升了其IO性能的一种弹性虚拟交换
-
EVS关键技术:
- 物理网卡访问:DPDK高速数据通道
- 报文处理:使用大页内存
- 交换业务处理
- 轮询转发,减少调度开销
- 多核(线程)并行处理
- Openflow流表转发优化
- 前后端:vhost-user技术
DVS(分布式虚拟交换机)
-
主要组件
- DVSA
- DVSM
- 通过DVSA-OVS(API)-OVS管理
-
作用
- 分布式虚拟交换机在所有关联主机间作为单个虚拟交换机使用
- 分布式虚拟交换机一端是与虚拟机相连的虚拟接口,另一端是虚拟机所在主机上的物理以太网连接的上行链路
- 分布式虚拟交换机是关联多台主机的虚拟交换机,可以保证虚拟机在主机之间进行迁移时保持一致的网络配置。
OVS、EVS、DVS的区别
-
OVS:单节点的虚拟交换机,服务器内部的虚拟交换,VM与外部的通信
- 不足:1.单线程 2.内核态
-
EVS:华为增强版本vSwitch,单节点的虚拟交换机,服务器内部的虚拟交换,VM与外部的通信
- 改进:1.多线程 2.用户态
-
DVS:分布式虚拟交换机,由VRM(DVSM)逻辑将各个CNA节点上的EVS(OVS)组合成DVS
- DVS的组成
- 端口:连接虚拟机
- 端口组:一组属性(VLAN,QoS等)相同的端口,不同端口组可有相同VLAN
- 上行链路:在创建DVS的时候,流量出服务器,通过上行链路,将DVS与网口绑定,独占该网口
- DVS的组成
FusionCompute网络架构
架构图
- 虚拟网卡:虚拟网卡就是用软件来模拟网络环境,提供类似真实网卡的功能。
- 虚拟交换端口:虚拟交换机上的端口,用来连接虚拟网卡,为虚拟机提供接入网络的服务。
- 端口组:为了方便管理,将具有同样属性的一组虚拟交换端口成为端口组。
- 上行链路:上接虚拟交换机,下接物理网卡,打通虚拟机与外部的网络。
- 虚拟交换机OVS :上接虚拟网卡,下接上行链路。
- 物理网卡:与物理交换机连接,使虚拟机发出的数据能够转发到物理网络。
- 分布式虚拟交换机DVS:在所有关联主机间作为单个虚拟交换机使用。
华为分布式交换方案
- 特点:
- 集中管理,简化用户的管理和配置
- 开源Open vSwitch
- 丰富的虚拟交换二层特性,包括交换、QoS、安全隔离等。
- 华为的分布式虚拟交换支持基于开源Open vSwitch的纯软件的虚拟交换的功能,同时提供支持完整虚拟交换卸载的智能网卡的虚拟交换。
- 开源Open vSwitch与智能网卡的虚拟交换提供的功能完全一致,虚拟交换管理通过不同的插件管理Open vSwitch和智能网卡。
端口组
- 作用
- 端口组是分布式虚拟交换机(DVS)中虚拟端口的集合。
- 端口组主要是为了方便用户同时对端口组中的多个端口进行配置,以减少重复配置工作。
- 连接在同一端口组的虚拟机网卡,具有相同的网络属性。
如:带宽限速、优先级、VLAN、DHCP隔离、IP和MAC绑定等。
- 端口组可设置属性
- 端口类型
- 普通(Access)
- 中继(Trunk)
- VLAN
- 流量整形
- 发送流量整形
- 接受流量整形
- 广播抑制
- ARP广播抑制
- IP广播抑制
- 安全属性
- DHCP隔离
- IP和MAC绑定
- 端口类型
- 注意事项
- 虚拟交换端口的属性包含速率、VLAN ID 和QoS等
- 多个端口组可同属于一个分布式交换机DVS
- 端口组不可以跨分布式交换机
上行链路
- 作用
- 上行链路是虚拟交换机的一部分,通过与CNA主机的物理网卡关联来连接物理网络
- 上行链路聚合
- 分布式交换机关联的服务器绑定网口,绑定网口可以包含多个物理网口,这些物理网口可以配置主备或负载均衡策略。
- 注意事项
- 同主机,不同DVS,不能共用上行链路
- 与上行链路关联的物理网卡可以是单独的一个网口,也可以是多个网卡绑定后的一个逻辑通道
- 同一台DVS的所有上行链路组成了上行链路组
安全组
安全组:流量过滤规则
虚拟交换机管理
VSP:虚拟交换端口
vNIC:虚拟网络接口
虚拟网络流量走向
- 分布式交换机的交换网络中
- 相同端口组,不同主机内,走物理网络
- 相同端口组,相同主机内,不走物理网络
- 不同端口组,无论是否相同主机,都需要走物理网络
网络虚拟化特性
华为虚拟交换模式
华为虚拟交换机提供三种虚拟交换模式:普通模式、SR-IOV直通模式、用户态交换模式
- 普通交换:普通模式下,虚拟机有前后端两个虚拟网卡设备,其中,前端网卡连接在虚拟交换机的虚端口上。虚拟机网络数据包通过环形缓冲区和事件通道在前后端网卡之间传输,并最终通过后端网卡连接的虚拟交换机实现转发。
- SR-IOV:一个网卡虚拟化成多个网卡供虚拟机使用
- 用户态交换:通过使用DPDK(Data Plane Development Kit,数据平面开发套件,DPDK是一系列库和驱动的集合)技术,用来在x86平台进行快速的数据包处理。它通过环境抽象层旁路内核协议栈、轮询模式的报文无中断收发、优化内存/缓冲区/队列管理、基于网卡多队列和流识别的负载均衡等多项技术,实现了在x86处理器架构下的高性能报文转发能力,提高虚拟机网络性能。
网络安全策略
二层网络安全策略
-
防止用户虚拟机IP和MAC地址仿冒(IP和MAC绑定)
- 防止虚拟机用户通过修改虚拟网卡的IP、MAC地址发起IP、MAC仿冒攻击,增强用户虚拟机的网络安全。通过生成IP-MAC的绑定关系,基于IP源侧防护(IP Source Guard)与动态ARP检测(DAI)对非绑定关系的报文进行过滤。
-
防止用户虚拟机DHCP Server仿冒(DHCP服务隔离)
- 禁止用户虚拟机启动DHCP Server服务,防止用户无意识或恶意启动DHCP Server服务,影响正常的虚拟机IP地址分配过程。
广播报文抑制
- 减少过量广播报文对二层网络带宽的消耗
- 管理员可以通过系统Portal,基于虚拟交换机端口组对象,配置报文抑制开关和报文抑制带宽阈值
安全组
- 用户通过在创建虚拟机时选定要加入的安全组来对自身的虚拟机进行安全隔离和访问控制。
位于同一个安全组的所有虚拟机网卡都将使用该安全组规则进行网络通信。虚拟机一块网卡只能加入一个安全组中。
Trunk口
-
虚拟机网卡通过虚端口接入虚拟交换机进行网络数据包的收发。
-
虚拟交换机虚端口支持配置为Trunk类型,并允许设置Trunk的VLAN ID范围,之后虚端口便具备了同时收发携带不同VLAN标签的网络数据包的功能,从而满足了虚拟网卡支持Trunk类型端口的需求。
网络QoS
- 基于端口组成员接口发送方向与接收方向的带宽控制。
- 基于端口组的每个成员接口提供流量整形、带宽优先级的控制能力。
网口绑定
- 管理员可以通过FusionCompute绑定CNA主机的网口,以提高网络的可靠性。
- 针对普通网卡和DPDK驱动的物理网卡均可以设置端口绑定。
- 对于普通网卡,绑定模式可以选择以下几种:
- 主备
- 轮询
- 基于源目的IP和端口负荷分担
- 基于源目的MAC的负荷分担
- 基于源目的MAC的LACP
- 基于源目的IP的LACP
- 对于支持DPDK驱动的物理网卡,绑定模式可以选择以下几种:
- DPDK驱动的主备模式
- DPDK驱动的基于源目的MAC的LACP模式
- DPDK驱动的基于源目的IP和端口的LACP模式