thinktt
作者thinktt·2015-11-05 09:34
系统工程师·罗云科技

我的《云计算核心技术剖析》读书笔记之虚拟网络

字数 6887阅读 1407评论 0赞 0

一、简介

首先,虚拟化有一个非常核心的思想,那就是“一致性”。也就是说,要让客户操作系统 无法察觉它是在一个虚拟化的平台上工作的。为了达到这个目的,虚拟化管理程序就需要虚拟 出一个在功能上和物理的完全一致的虚拟网卜(Virtual Ethernet Adapter)让客户端操作系统使用。其次,虚拟化还有一个非常重要的特性,就是“超卖”(Oversubscribed)。也就是说,在大 多数倩况下,一台物理机需要承载多个虚拟机,这样虚拟网卡的数量远大于实际物理网卡的数 量,而一个虚拟网卡无法直接占有一个物理网卡,那么为了解决这个问题,需要在虚拟网长和 物理网卡之间引入新的一个抽象层,称为虚拟交换机。虚拟交换机在功能上和物理的交换机接近,主要执行虚拟网N和物理网卡之间包的转发,而且还提供诸如VLAN和安全等髙级功能来 更好地管理网络流量。还有一点需要注意,虽然虚拟交换机和物理网卡常见配比为1 : 1,但是有时候为了带宽和髙可用性的原因,虚拟交换机可以控制多块网卡。图5-8是VMwarevSphere 具体的虚拟网络架构。

4.png

二、虚拟网卡

在vSphere中,主要有3种虚拟网卡可供虚拟机选择。

□ vLance虚拟网卡。它的模型是AMDLancePCNet32网卡,它在操作系统的兼容方而表 现优异,而且能在没有安装VMware Tools的情况下使用,常用干32位虚拟机。

□ E1000虚拟网卡。它是对IntelElOOO网卡近乎100%的模拟,也能在没有安装VMware Tools的情况下使用,而且对32位系统和64位系统都有支持,但较常用于64位虚拟机。

□ VMXNET系列虚拟网卡。它是一个半虚拟化设备,专为VMware虚拟化环境设计,并 随着VMware Tools安装到虚拟机上。这个网卡主要是为髙性能“量身设计”的。同时, 随着VMware产品的不断更新,VMware已经推出了性能更好的VMXNET3,它不仅支 持诸如 MSI (Message Signaled Interrupt,信息信号中断)/MSI-X 和 VMDirectPath 等性 能优化技术,而能非常好地支持IPv6。

对于这3种网卡的选择,艽实非常简箏。如果追求速度,就选择VMXNET系列虚拟网卡, 如果嫌给虚拟机安装VMware Tools麻烦的话,那就在32位系统1:使用vLance,在64位系统 上使用E1000。

因为虚拟网卡的数量远多于实际物理网卡的数量,在管理方面让人很头疼,所以VMware 引入了一个非常重要的槪念来简化虚拟网卡的管理,而且这个槪念仅存在于虚拟网络中,那就 是端口组(PortGroup)。在物理环境中,很难找到相似的槪念,与端口组最接近的就属存在干 某些Cisco交换机中的SmartPort特性。虽然从其字眼上很难理解端口组的含义,但是可以将它 认为是虚拟M卡的配置模板。也就是说,如果两张虚拟网卡使用同一个端口组,那么这两种虚 拟网卡在网络设置上是一致的。端口组主要包含5大属性:其一是虚拟交换机的名字,其二是 VLAN的ID,其三是网卡聚合(NIC Teaming)的策略,其四是第二层的安仝选项,其五是流 最管理的参数。 

三、虚拟交换机

简单地说,虚拟交换机就是安装在vSphere主机的软件版交换机,用以管理本地虚拟机的网 络流量,比如虚拟机管理流量、vMotion流量、IP存储(iSCSI和NFS)流量和普通数据流量等。

虽然在功能上,虚拟交换机和普通的交换机非常相似,但是它们之间还是存在一些区别。首 先,虚拟交换机不需要通过探听网络流量来获知MAC地址,因为它通过诸如访问虚拟机的配置 文件等手段来获知虚拟机的MAC地址。其次,虚拟交换机不支持能减少机器之间多余冋路的生 成树协议(Spanning Tree Protocol),其原因是VMware架构强调只有一层的网络架构。也就是说, 一个主机上所有的虚拟交换机是无法直接沟通的,如果需要沟通的话,就需要通过物理交换机, 也就是主机本身的网络架构就是平的,所以主机上的交换机就没有使用生成树协议的需要。

因为虚拟交换机采用了模块化的架构,所以能非常方便地添加或者删除功能,这样虚拟交 换机不仅能保持其轻量的体积,而且能提供不逊于交换机的功能。接下来,就跟大家介绍一下 虚拟交换机的主要功能。

1 .第二层转发(Layer 2 Forwarding)

第二层转发堪称交换机最重要的功能,而虚拟交换机身为交换机的一个变种,肯定也具备 这个功能。那么,虚拟交换机是怎么实现这个功能的呢?

虚拟交换机自带一个核心转发引擎(Core Layer Forwarding Engine),这个引擎首先会主动 学习接入虚拟机的MAC地址,从而生成转发表(ForwardingTable)。接着,在处理以太网帧时, 引擎会先査看每个以太网帧的MAC地址,之后将这个帧转发给相对应的端口。因为它只处理 以太网帧的头部,所以在架构上既保持了精简,又可支持很多扩展功能。

还有一点值得注意,那就是一个主机上的所有虚拟交换机是无法直接沟通的,如果需要沟 通的话,就要使用上层的物理交换机。虽然这个设计有一个非常明显的缺点,那就是在同一主 机上关联的虚拟机必须通过外部的交换机才能进行通信,从而会产&多余的网络开支,但是这 种做法却能简化架构。现在,在vSphere 4中已经推出了半虚拟化技术VMCI (Virtual Machine Communication Interface,虚拟机间通信接口)来解决这个问题。VMCI主要提供-个基于Socket 的APIit虚拟器内的程序來调用。通过VMCI这个接口,一个主机上的多个虚拟机通过一条总 线来直接进行通信,而且无需经过虚拟交换机和更上层的交换机,这样将有效降低同一主机上 虚拟机之间网络通信所产生的开支。但是使用VMCI时,需要修改虚拟机上的软件,所以相对 麻烦,并且VMCI只适用于对同一主机上虚拟机之间通信要求非常高的情况。

2. VLAN

创建和管理VLAN的功能也堪称普通物理交换机的标配,那么虚拟交换机也当仁不让地会 提供这个功能。

首先,介绍一下VLAN。VLAN是让一群身处不丨司地点的主机集合在一个广播域下,它在 功能上和LAN基本一致,但可以将隶厲于不间交换机下的主机组合成一个网段。与传统的LAN 相比,VLAN主要在下面这3个方面有一定的优势。

□灵活。因为VLAN能基于逻辑分区而不是物理位置进行分区,所以用户不用重新设置网 络,就能将机器转移到新的地点。这将不仅使网络设置更灵活,而且能减少设置网络的 时间。

口速度快。在传统网络中,因为都属于一个广播域的原因,一个以太网帧需要被发送到一 个LAN内所有的主机,这将极大地影响速度。对于一个用户特别多的LAN,更是如此。 通过VLAN,能够将一个大的广播域分幵,这不仅能减少网络带宽的消耗,而且能减少 对CPU的使用。

□节省开支。在过去,一般都通过添加路由器来分割大的广播域,而VLAN的诞生则免去 了这一大笔开支。

使用VLAN时最常用到的协议是IEEE 802.1Q (常被称为VLAN Tagging,也就是VLAN 标记),它是通过整合 Cisco 的 ISL (Inter-Switch Link)和 3Com 的 VLT (Virtual LAN Trunk) 这两个私有协议发展而来的。简单地来说,VLAN主要是利用Ethernet II帧的“Ether Type”字 段来实现K功能。

那么,虚拟交换机的VLAN和交换机的VLAN有什么区別呢?在功能方面两者某本一致, 但是虚拟交换机的范围更小。

在虚拟交换机层面,主要有3种构建VLAN的方式:其一是虚拟客户机标记(Virtual Guest

Tagging)模式,这个模式主要由客户操作系统来处理网络包并添加VLAN标记来实现VLAN

%

的功能!其二是外部交换机标记(External Switch Tagging)模式,这个模式常被用于物理网络 环境屮,主要由物理交换机来处理VLAN标记,而主机接收到的包是没有VLAN信息的,其三 是虚拟交换机标记(Virtual Switch Tagging)模式,这是在VMware环境中最常用的模式,由 虚拟交换机来处理VLAN标记,它对客户操作系统是透明的,客户操作系统所接收和发送的包 都不包含VLAN信息。

3. 安全功能

虚拟交换机的安全工作主要在3个方面做文章。

□混杂模式(Promiscuousmode)。这个模式也是物理网卡的运行模式之一,网卡通常被 设定为只接收发送到该地址的数据包。也就是直接废弃那些通过以太网接收到的但是是 传送给其他地址的数据包。如果网卡设定为混杂模式,那么网卡一槪捕捉发送给它的数 据包(不论数据包发送到哪个地址)并将其发送到上层软件。通过这个模式,可以监视 到流经这块网卡的所有数据。在虚拟环境中,这个模式也能起到类似作用,虚拟网卡能 收到所有经过这个VLAN的网络包。如果打开这个模式的话,一个虚拟机的信息极有可 能被另一台恶意的虚拟机探知。

□改变MAC地址。因为对MAC地址的修改是ARP投毒(Poisoning)攻击中非常重要的 一步,需要在虚拟机运行的过程中锁定MAC地址,不让它被修改。

□伪造的传输(Forged Transmit)。这个攻击和上面非常相似,也是和修改MAC地址相 关的,只不过这种攻击发动方不是来自外网,而是来自虚拟机内部。

综上所述,虚拟交换机是通过关闭混杂模式、锁定MAC地址和屏蔽伪造传输来提髙安全 性的。

除了上面这些,虚拟交换机还支持一些和安全相关的特性,比如虚拟交换机不信任通过它 的网络帧中的用户数据,虚拟交换机会复制它处理过的所有网络帧以便于转发和过滤,虚拟交 换机不支持动态中继协议(Dynamic Trunking)和本征VLAN (Native VLAN)。另外,因为虚 拟交换机不需要通过网络来获知和它相连的虚拟机的MAC地址,所以它能很好地抵挡MAC 漫溢(MAC Hooding)的攻击。

4. 流量管理

虽然分组交换在成本和灵活性这两方面比电路交换有优势,但是因为分组交换所面对的流 量的大小不确定,所以它不得不对流量进行复杂的管理。而虚拟交换机作为分组交换的延伸, 自然也要处理这个问题。VMware的虚拟交换机也提供了流量管理功能,它能控制虚拟交换机 流量的大小,但只针对发出流量(Outbound Traffic),有3个选项可供设置:其一是平均带宽 (AverageBandwidth),也就是能保证的带宽,其二是峰值带宽(PeakBandwidth),控制的楚发 出流量所占带宽的最大值;其三是突发尺寸(Burst Size),指的是每次超过平均带宽的大小。

5. 网卡聚合

网卡聚合是VMware在其第三代企业级虚拟机产品(VMwareInfrastructure3)中发布的一 个特性,它能让一个虚拟交换机连接多个物理网卡,这样能达到负载均衡和故障转移的效果。

6. 负载均衡

在普通的物理环境中,会经常使用硬件形式(比如F5)或者软件形式(比如LVS)的负载 均衡器来将大最的负载分发给不同的主机。在虚拟环境中,实现负载均衡的方法也是比较类似 的。虚拟交换机会作为一个网关来接收请求,之后按照选定的模式发送给相应的虚拟机。主要 有4种模式:其一是基于虚拟交换机的端口,其一是基于MAC地址,其三是基于IP地址的散 列值,其四是使用明确故障切换顺序(Explicit Failover Order)。

7. vMotion

vMotion是VMware版本的动态迁移。动态迁移堪称虚拟化技术的一个杀手锏,它能在虚 拟机运行的时候将虚拟机从一台主机迁移到另一台主机匕这不仅能将虚拟机从出现状况或者 性能不佳的主机上移出,而且能通过将多个虚拟机动态进行整合来优化资源。在动态迁移方面, 虚拟交换机会参与到其整个迁移过程中,并起到传输内存页面等作用。

8. 其他功能

除了上面这些功能之外,虚拟交换机还提供两个有用的功能。其一是网络失效侦査 (Network Path Failure Detection),它主要支持两种模式,信标探査(Beacon Probing)和 Link State。其二是支持Cisco发现协议(Cisco Discovery Protocol),这个协议用来获取相邻设备的 协议地址以及发现这些设备的平台信息。在虚拟环境中,它的作用是获得虚拟交换机上面的物 理交换机的配置信息,比如端口的设置。

虽然前面介绍了很多虚拟交换机的优点,但是虚拟交换机还是存在一定缺陷的。虚拟交换 机的不足之处主要是使网络架构更复杂,N时也加大了数据中心的管理难度,接F来将分别介绍这两个不足。

1. 使网络架构更复杂

在数据中心的网络设计方面,普遍使用核心(Core)、汇聚(Aggregation)和接入(Access) 这三层架构,但是随着虚拟交换机的出现,数据屮心的网络虽然还能维持三层架构,但是接入 层将从原先常见的机架(Rack)或者刀片机箱(Blade Chassis)级別降至主机(Host)级别, 这不仅影响这三层架构,而且打破了之前每个网口对应唯一一个物理机的假设。同时,虚拟交 换机又打破了另一个操作系统无法移动的假设,其原因是髙级的虚拟化技术(比如vMotion) 使一个操作系统在多个物理机乃至多个数据中心之间移动。这种移动性的变化对整个网络架构 产生了非常大的影响。皆先,部分属于汇聚层的网络服务需要修改以支持虚拟机的移动性。其 次,在接入层,vMotion需要动态迁移的发起者和接受者都必须位于一个统一的第二层M段内, 而且为了迁移方便,会有过多的主机接入到同-个第二层的网段内,这种方式极大地违反了经 典的网络设计理念。最后,在普通物理环境F,每个网口和接入它的物理机的网络设置[比如端 U的安全设置、ACL (AccessControiList,访问控制列表)和VLAN等]都是固定的,但是在虚 拟环境屮,因为系统会不断迁移,导致上面提到的这些网络配置也需要做相应迁移来保持统一, 这个工作也是很麻烦的。

2. 加大管理难度

虽然虚拟交换机的诞生带来了很多方便,但是如果数据中心部署了许多虚拟主机的话,这 将会带来很多管理问题。首先,每个虚拟交换机都是一个独立的管理点,如果需要管理它的话, 那就需要耗费很多精力,所以经常被忽视;其次,因为现在虚拟交换机属于主机这个层次,普 遍由服务器管理员负责,而不是由网络管理员控制,所以虚拟交换机的设置和维护都脱离了数 据中心整体的网络架构,再加上虚拟机的移动性,更加大了管理工作的难度。

为了解决上面提到的那些虚拟交换机的不足,VMware在vSphere4中推出了分布式虚拟交 换机(vDS)。vDS堪称VMware新一代的虚拟网络技术,它是能横跨多个主机的分布式交换机, 而不是像虚拟交换机那样只能在一台主机上活动。

它的实现机制是分离了交换机的数据功能和控制功能。虽然数据功能还是由主机上的虚拟交 换机来处理的,但是控制功能都被集中起来移至主机之外,并将其安装在一个特制的虚拟机内(比 如 Cisco Nexus 1000V)、Virtual Center 内或者•个特制的物理机上(比如 Cisco Nexus 1010)。

引入vDS最大的好处就是简化了管理。它通过一个能横跨多个主机的数据中心级分布式交 换机来替代很多主机层次的虚拟交换机。通过这个方式,不仅能对虚拟环境的网络资源进行统 一管理,而且可以通过Virtual Center来进行管理。

在vSphereA中,VMware还推出了主机配置(HostProfile)和分布式虚拟端口组(Distributed Virtual Port Groups)这两个功能来进一步简化vDS的部署和管理,同时能更好地维护网络配置 的一致性。另外,vDS还支持其他一些网络功能,具体如下。 

□私有VLAN。它主要采用两层VLAN隔离技术,其作用是只有上层VLAN才能仝局可 见,下层VLAN之间需相互隔离。通过这个技术,不仅能提升和当前企业网络环境的兼 容性,而凡能减少对子网的使用。

□网络vMotion。在进行vMotion的时候,支持将虚拟机相关的网络配黃进行相应的迁移。

□提供vNetworkAP丨。其他供应商能通过这个API来幵发第三方工具,最出色的例子莫 过于 Cisco 的 Nexus 1000V。

□双向网络流量建模(Bi-directional Traffic Shaping)。在流量管理方面,vDS也有一定 的提升,从原本Virtual Switch的单向建模提升到现在的双向建模,这样不仅能监控从 虚拟机到网络的流量,而且能监控从网络到虚拟机的流量。


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广