首页 > 技术文章 > 云计算产品vSwitch原理

xuezhimin-esage-2020 2020-12-09 13:53 原文

一、vSwitch原理

1.概要

在物理环境之中,主机是通过pSwitch连接到网络当中。而在虚拟化环境中,则使用 vswitch。虚拟机通过vSwitch来连接网络,vSwitch是通过主机上的物理网卡作为上行链路与外界网络进行连接。

跟普通服务器设备一样,每个虚拟机有着自己的虚拟网卡(virtual NIC),每个 virtual NIC有着自己的MAC地址和IP地址。 Virtual Switch(vSwitch)相当于一个虚拟的二层交换机,该交换机连接虚拟网卡和物理网卡,将虚拟机上的数据报文从物理网口转发出去。与物理交换机一样,vSwitch的作用就是用来转发数据。

2.vSwitch端口介绍

每个vSwitch都有两种接口,上联口和下联口。上联口用来连接物理网卡,每个上联口绑定一个物理网卡。一个vSwitch至少要有一个上联口,多个上联口可以进行捆绑。上联口可以配置IP地址,方便进行管理操作。下联口用于连接虚拟机,每个下联口连接一台虚拟机。与物理交换机不同的是,vSwitch下联口不会自动学习MAC地址,都是静态绑定的。上联口的IP和虚拟机的IP没有必然的关系,可以配置为不同的网段。

3.ACL策略

ACL策略与物理交换机的有些不同,在功能上有一定的限制。ACL策略能对流量进行基于目的IP的包过滤,因为下联口只有一台虚拟机,所以根本不需要基于源IP的规则。ACL支持基于ICMP、TCP和UDP协议进行操作。ACL策略应用于下联口的入方向。

4.网络策略模板

网络策略模板是对下联口和虚拟机的一些操作,可以对下联口进行出入方向的流量进行限制,规划下联口所属VLAN,设置VSI和应用ACL策略。缺省情况下,没有对下联口进行流控,端口所属VLAN为0(即数据包不带VLAN Tag)。

5.vSwitch转发模式

虚拟交换机有三种转发模式,VEB、VEPA和多通道模式。

1.1 VEB模式:

VEB是指vSwitch相对全面的网络转发功能,此模式下,同一VLAN的数据直接通过vSwitch转发,不需要通过外部网络。如果是不同的VLAN间通信,或者同一虚拟机属于VLAN但是在不同的vSwitch上,则需要通过外部网路。这样做的好处是可以减少外部网路的流量,减轻网络维护的难度,内部交换的速度也更快,只与CPU性能和内存带宽总线有关,而且对现有网络的兼容性较好。但是缺点是需要耗费更多的CPU,转发性能受制于CPU和网卡IO架构,也缺乏对流量的监控和安全控制。

1.2 VEPA模式:

VEPA是对VEB的一种修改,无论二层三层流量,统一要先发往外部网络,由物理交换机再回发到vSwitch。这种方式简化了服务器的vSwitch功能,使得内外网络相关联,服务器内部网络相当于外部网络的扩展和延伸。对于传统的交换机来说,从一个端口收到的报文是不能再从此端口发出的,这时候为了支持VEPA,交换机必须做一些修改,允许数据绕回,这种方式称为RR模式。如果是组播/广播流量,先绕回vSwitch,在服务器内部再进行数据的复制。VEPA模式可以借助于外部网络,很方便的对VM流量进行监控和安全控制管理,也减少了CPU的消耗,但是却额外增加了外部网络的流量和延迟。VEPA模式中用到了VSI(虚拟站点接口),可以看成是虚拟机网卡在交换机上的一个逻辑接口。VSI涉及到如下几个术语:

VSI管理ID:指VSI管理者的ID号,用于识别出可以访问并获取VSI类型的数据库,用IPv6地址来标识。

VSI类型ID:用来描述一个VSI的类型,对每个VSI管理者ID来说,只有唯一一个VSI类型ID。

VSI类型版本:一个整数标识符,允许VSI管理者数据库可以包含一个给定的VSI类型的多个版本。

1.3 多通道模式:

多通道模式是将交换机端口或网卡划分为多个逻辑通道,称为S通道,并且各通道间逻辑隔离。每个逻辑通道可由用户根据需要定义成VEB或者VEPA。每个逻辑通道作为一个独立的到外部网络的通道进行处理。多通道借用了QINQ标准,另外增加了一个VLAN Tag,用channel ID和VLAN ID来对不同的通道进行标识,分别称为S-channel ID和S-VLAN ID,外层的Tag只会在服务器和接入交换机之间存在,而在VEPA模式下则不需要另外添加VLAN Tag。可以说,多通道模式是VEB和VEPA的结合。在这种模式下,组播/广播流量直接在物理交换机上进行数据的复制,然后通过各个通道再发给虚拟机。

推荐阅读