1、虚拟化中的网络流量

南北流量:经过交换机的流量。
东西流量:不经过交换机,只在虚拟机之间发送。

2、网络的基本概念

广播:一对多
单播:一对一
路由:不同网段的连接,路由器里面有一个路由表,路由表记录着路由信息,路由信息告诉你怎么走。
网关:网关又称为协议转换器。网关的功能是实现网络之间的相互连接。网关不仅可以让广域网之间相互连接,也可以让局域网之间相互连接。网关在计算机和设备之间起转换的作用,相当于一个翻译器,可以使不同的协议、语言、数据在不同的系统之间进行转换。
VLAN:虚拟局域网,将物理的LAN在逻辑上划分成多个广播域的通讯技术。同一个VLAN内的主机间可以直接通讯,而不同VLAN内的主机间不能直接通讯,从而将广播报文限制在一个VLAN内。
好处:
限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,一个VLAN内的用户不能与其他VLAN内的用户直接通讯。
提高了网络的健壮性(隔离):故障被限制在一个VLAN内,本VLAN内的故障不会影响其它VLAN的正常工作。
灵活构建虚拟工作组:用VLAN可以将不同的用户划分到不同的工作组,同一工作组的用户也不必局限于某一固定的物理网络范围,网络构建的维护更方便灵活。
VLAN链路类型
接入链路:用于连接用户主机和交换机的链路。
干道链路:用于交换机间或交换机与路由器之间的连接。
VLAN接口类型:
Access接口:交换机上用来连接用户主机的接口,他只能连接接入链路。仅允许唯一的VLAN ID通过本接口。
Trunk接口:交换机上用来与其他交换机连接的接口,他只能连接干道链路,允许多个VLAN的数据帧通过。

3、虚拟化中的物理网络

路由工作在传输层(三层)
VLAN工作在网络层(二层)
链路聚合技术可以在不进行硬件升级的情况下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的同时,链路聚合采用备份链路机制,可以有效提高设备间链路的可靠性
优势:
增加带宽:链路聚合接口的最大带宽可以达到各成员接口的带宽之和。
提高可靠性:当某条活动链路出现故障时,流量可以切换到其它可用的成员链路上,从而提高聚合链路的可靠性。
负载分担:在一个链路聚合组内。可实现各成员活动链路间的负载分担

4、虚拟化中的虚拟网络

image.png
网桥:把一台机器上的若干个网络接口连接起来,其中一个网口收到报文时回复指给其它网口。适用于个人。
功能:MAC学习、报文转发。
NAT:相当于是一个路由器,虚拟网卡连接的是路由器的一个端口。虚拟网卡和网桥的IPi地址不是同一网段,系统会自动生成一个网段地址,虚拟网卡与其他网络包括网桥通讯时使用三层路由抓发,并且在网桥上进行地址转换。适用于小规模场景。
优势:

  • 当物理网桥的地址不足时,使用一个新的网段来弥补这个缺陷,
  • 隐藏源地址
  • 负载均衡

Open vSwitch(OVS)是一款开源的、高质量的、支持多层协议的虚拟交换机。使大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议,支持多种Linux虚拟化技术,XEN和KVM等等。

5、华为虚拟化产品的网络特性

端口组:端口组是网络属性相同的一组端口的集合。管理员可以通过配置端口组属性(带宽、QOS、2层安全属性、VLAN)来简化对虚拟机端口属性的设置。设置端口组属性,不影响虚拟机正常工作。
上行链路:分布式交换机关联的服务器物理网口,管理员可以查询上行链路的名称、速率、模式、状态等信息。
上行链路聚合:分布式交换机关联的服务器绑定网口,绑定网卡可以包含多个物理网口,这些物理网口可以配置主备或负载均衡策略。
DVS:分布式虚拟交换机,华为OVS进行改造并且变成了闭源的软件,DVS可以跨主机,跨集群,像虚拟机提供独立的网络平面。

分布式交换机流量走向描述:

image.png
虚拟机运行在相同主机,但是端口组不同:
虚拟交换机本质是一台二层交换机,不在同一个端口组说明不在统一VLAN,所以无法通过广播找到对方,属于不同VLAN就会有不同的IP地址,所以就要使用三层交换机或路由器,就需要从主机内部传到物理接入交换机,转发到三层设备经过路由后再进入到主机内部
虚拟机运行在相同主机,且端口组相同:
属于同一端口组,则虚拟机属于同一广播域,而虚拟交换机支持广播。所以,同株机相同端口组的虚拟机之间互相通过,可以直接通过虚拟交换机完成,通信的流量不需要传出到物理网络中。
虚拟机运行在不同主机,但端口组相同:
虽然虚拟机属于同一端口组,可以通过广播找到彼此,但不同的物理服务器需要使用物理交换机才能接入到网络。当虚拟机使用相同端口组,但是运行在不同物理服务器时,流量需要通过物理服务器的网口传到物理交换机,才能完成通讯。两台虚拟机可以不经过三层设备即可正常通讯。当在不同的端口组的时,需要经过三层设备进行网关转发才能正常通讯。
同一物理服务器运行不同的DVS:
如果使用不同的DVS,两台DVS上的端口组的VLAN ID不会相同,这就意味着虚拟机会使用不同的IP地址,虚拟机之间的通讯,数据包会先到三层设备进行路由,然后才能正常通讯。
安全组:根据虚拟机的安全需求创建安全组,每个安全组可以设定一组访问规则。位于同一安全组的所有虚拟机网卡都将使用该安全组规则进行活络通讯。每块虚拟机网卡只能加入一个安全组中。

7、虚拟交换模式

华为虚拟交换机提供三种虚拟交换模式:普通模式、SR-IOV直通模式、用户态交换模式。
image.png
普通模式:普通模式下,虚拟机有前后端两个虚拟网卡设备,前端网卡连接在虚拟交换机的虚拟端口上。虚拟机的网络书包通过环形缓冲区和时间通过在前后端网卡之间传输,最终通过后端网卡连接的虚拟交换机实现转发。
SR-IOV:Intel在2007年提出的网络IO虚拟化技术,目前已是PCI-SIG的规范。支持SR-IOV的物理网卡可以虚拟出多个虚拟网卡以供虚拟机使用,对于虚拟机来说就像是使用一块单独的物理网卡一样,相比软件虚拟化提供了网络IO性能,相对于硬件直通又减少了硬件网卡数量上的要求。
用户态交换:通过虚拟端口加载用户态驱动,在vswitchd中启动线程接管内核态收发包功能,从网卡收到的数据包直接在vswitchd的线程中接收,接收到数据包后,查询vswitchd中的精确流表匹配,然后执行openflow的动作和指令,把数据从指定端口发送出去。优势在于使用DPDK技术提升了端口IO性能。收发包和基于openflow的数据转发都在用户态完成,减少了内核态与用户态间切换带来的开销,带来网络IO性能的提升,相较于SR-IOV技术,支持热迁移、热添加网卡等更多高级特性。