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

第二层转发(Layer 2 Forwarding)

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

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

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

VLAN

创建和管理VLAN的功能也堪称虚拟机的标配,那么Virtual Switch也当仁不让地提供这个功能。

首先,介绍一下VLAN,VLAN是让一群身处不同地点的主机集合在一个广播域下。一个VLAN在功能上和LAN是一致的,但可以将隶属于不同交换机下的主机组合起来成为一个LAN。

VLAN主要在下面三个方面和传统的LAN相比有一定的优势:

  1. 灵活,因为VLAN能基于逻辑分区而不是物理位置进行分区,所以能使用户能过不通过重新设置网络就能将机器转移到新的地点。这将不仅使网络设置更灵活,而且能减少设置网络的时间。
  2. 速度快,在传统网络中,因为都属于一个广播域的原因,使得一个以太网帧需要被发送到一个LAN内所有的主机,这将极大地影响速度,对于一个用户特别多的LAN影响更大。通过VLAN能够将一个大的广播域分开,这不仅能减少网络带宽的消耗,而且能减少对CPU的使用。
  3. 节省开支,在过去,一般都通过添加路由器来分割大的广播域,而VLAN的诞生,则免去这一大笔开支。

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

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

在Virtua Switch层面主要有三种构建VLAN的方式:

  1. Virtual Guest Tagging(VGT)模式 – 在这个模式下,由Guest OS来处理网络包并添加VLAN标记(Tagging)来实现VLAN的功能。
  2. External Swicth Tagging (EST)模式 – 这种模式,常被用于物理网络环境中,主要由物理的交换机来处理VLAN标记,而主机接收到的包是没有VLAN信息的。
  3. Virtual Switch Tagging (VST)模式 – 这是在VMware环境最常用的模式,由Virtual Switch来处理VLAN标记,并对Guest OS是透明的,使得Guest OS所接收和发送的包都不包含VLAN信息。

下图是一个VLAN的示例:

图1 VLAN的示例(来源于参[2])

安全功能

Virtual Switch的安全工作主要在三个方面做文章:

  1. Promiscuous mode(混杂模式),这个模式也是物理网卡的运行模式之一,网卡通常被设定为只接收发送到该地址的数据包,即使通过以太网接收到传送给其他地址的数据包,也不会读取而直接废弃。但如果网卡设定为混杂模式,那么网卡一概捕捉发送给它的数据包,不论数据包发送到哪个地址,并将其发送到上层软件,通过这个模式可以监视到流经这块网卡的所有数据。在虚拟环境中,这个模式也能起到类似作用,虚拟网卡能收到所有经过这个VLAN的网络包。如果打开这个模式的话,一个虚拟机的信息极有可能被另一台恶意的虚拟机探知。
  2. MAC Address Change(改变MAC地址),因为对MAC地址的修改是ARP Poisoning攻击中非常重要的一步,需要在虚拟机运行的过程中锁定MAC地址,不让它被修改。
  3. Forged Transmit(伪造的传输),这个攻击和上面非常相似,也是和修改MAC地址相关的,只不过这种攻击发动方不是之前来自外网的,而是来自于虚拟机内部。

综上所述,Virtual Switch是通过关闭Promiscuous mode,锁定MAC地址和屏蔽Forged Transmit来提高安全性。

除了上面这样,Virtual Switch还支持一些和安全相关的特性,比如。Virtual Switch不信任通过它的网络帧中的用户数据,Virtual Switch会复制它受处理所有的网络帧以便于转发和过滤,Virtual Switch 不支持Dynamic Trunking (802.3ad)和“native VLAN”, 同时因为Virtual Switch不需要通过网络来获知和它相连虚拟机的MAC地址,所以它能很好地抵挡MAC flooding的攻击。

流量管理

虽然分组交换在成本和灵活性这两方面,比电路交换有优势,但是因为分组交换所面对流量的大小不确定的情况,使其不得不对流量进行复杂的管理。而Virtual Switch作为分组交换的延伸,自然也要处理这个问题。VMware的Virtual Switch也提供了流量管理功能,它能控制Virtual Switch流量的大小,但只针对发出流量(outbound traffic only),共可设置三个选项,其一是Average Bandwidth,也就是能保证的带宽。其二是Peak Bandwidth,控制的是发出流量所占带宽的最大值,其三是Burst Size,指的是每次超过Average Bandwidthd的大小。

NIC Teaming

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

负载均衡

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

vMotion

vMotion是VMware版本的动态迁移。动态迁移堪称虚拟化技术的一个杀手锏,它能在虚拟机运行的时候将虚拟机从一台主机迁移到另一台主机,这不仅能将虚拟机从出现情况或者性能不佳的主机移出,而且能通过将多个虚拟机动态进行整合来优化资源。关于动态迁移的细节,将会在今后讲述,敬请期待。而Virtual Switch会参与到整个迁移过程中,并起到传输内存页面等作用。

其他功能

除了上面这些功能之外,Virtual Switch还提供有用的两个功能:

  1. 网络失效侦查(Network Path Failure Detection ),主要支持两种模式,其一是Beacon Probing,其二是Link State。
  2. 支持Cisco Discovery  Protocol(CDP),这个协议用来获取相邻设备的协议地址以及发现这些设备的平台信息。在虚拟环境中,它的作用是获得Virtual Switch上面的物理交换机的配置信息,比如port的设置。

转载于:https://www.cnblogs.com/qyddbear/articles/3449970.html

(ZZ) 剖析系统虚拟化(6)——Virtual Switch功能介绍相关推荐

  1. (ZZ) 剖析系统虚拟化(4)——VMware ESX架构介绍

    上篇文章已经向大家介绍了VMware vSphere,而本篇将继续把重点放在vSphere身上,并向介绍大家vSphere之核心ESX的架构,虽然关于ESX架构的公开资料较少,但是基于这些已公开的资料 ...

  2. 剖析系统虚拟化(2)- X86虚拟化技术

    系列目录 漫谈虚拟化技术 剖析系统虚拟化(1)- 简介 剖析系统虚拟化(2)- X86虚拟化技术 剖析系统虚拟化(3)- VMware vSphere 的简介 剖析系统虚拟化(4)- VMware E ...

  3. Android系统源码目录及功能介绍

    Android的移植按如下流程:     1.android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来.     2.正确挂载文件系统,确保内核启动参数和 android 源代码 ...

  4. web短信系统平台软件搭建后台功能介绍|移讯云短信系统

    国际短信系统平台软件搭建后台功能介绍|移讯云短信系统 平台外放接口介绍 支持接入CMPP接口,支持smpp通道接入,支持外放CMPP接口(其他平台可以通过CMPP接入我平台),支持HTTP API J ...

  5. WhatsApp拓客云控系统-SendWS群控管理后台功能介绍(三):WhatsApp多账号管理记录查询

    WhatsApp云控系统有什么意义? 利用WhatsApp在海外进行营销引流推广,会出现多方面的问题,例如账号过多难以管理的问题. 实现WhatsApp云控群控系统,协助客户云控管理多个WhatsAp ...

  6. 会员卡充值系统小程序开发制作功能介绍

    最近很多粉丝朋友想要给自己的店铺做个会员卡小程序,让用户通过微信小程序开通会员卡进行充值,充值多少就送一定的充值费用,然后通过出示会员卡小程序里面的二维码进行支付.本文就为大家介绍一下成熟的小程序会员 ...

  7. 酒店预定系统开发步骤_分享酒店预订系统小程序开发制作功能介绍

    酒店预订系统就是针对酒店业务的商家,利用此系统进行线上酒店销售与宣传,可以对酒店产品的发布.修改.报价.游客通过商家搭建的小程序拼团,可以查看酒店产品,在线预订酒店产品,帮助商家将传统线下酒店销售转移 ...

  8. 电脑技巧:Win11系统新增的磁盘分区功能介绍

    很多用户发现,新买的电脑中出厂自带的硬盘只有一个分区,目前只有少部分电脑机型出厂会有分多个分区的. 磁盘的单一分区往往不能满足我们的使用需要,Win7/8/10我们都知道可以在磁盘管理下通过压缩卷的方 ...

  9. 华为鸿蒙os游戏,华为鸿蒙系统怎么更新?HarmonyOS2更新教程与功能介绍[多图]

    华为鸿蒙系统怎么更新?华为已经开启了鸿蒙系统的正式版本更新,本次更新方法很简单,按照文章流程逐步进行即可,小编来给各位介绍下鸿蒙系统的更新教程与功能介绍. HarmonyOS2升级安装教程 打开手机设 ...

最新文章

  1. 个人所得税计算器2016 by Jacksile
  2. 为什么我从Python转战到Node.js
  3. es Root mapping definition has unsupported parameters解决方法
  4. selenium之如何使用cssSelector定位页面元素
  5. 【POJ - 2663】Tri Tiling (简单dp)
  6. 23. Yii 组件事件
  7. libtool: Version mismatch error
  8. wav转mp3的最简单方法
  9. 常用网络命令:ping命令的使用
  10. 小型微利企业税收筹划策略探析
  11. 输入法自定义短语笔记/md常用配置/搜狗输入法自定义词库推荐
  12. (python)基于GUI编写摄氏度转华氏度
  13. Android Studio Build failed(出现 gradle sync failed 问题)解决方法
  14. Cadence 中贴片元件焊盘的制作
  15. python中namedtuple函数用法详解
  16. 阿里云大数据之MaxComputer简介
  17. flickr slack_Slack&Flickr的创始人如何将巨大的失败变成十亿美元的公司
  18. 关于电脑硬盘的二三事(SATA接口)
  19. 基于51单片机的水质检测系统开发
  20. 安装软件显示服务器地址,怎样查看安装软件访问的服务器地址

热门文章

  1. Flutter TextField常见属性设置
  2. 2021年质量员-土建方向-通用基础(质量员)考试及质量员-土建方向-通用基础(质量员)考试内容
  3. 最实用30个电脑技巧(高手必备)
  4. 【Jmeter】Win10 下载安装Jmeter 5.5
  5. windchill按钮更改
  6. Node.js v13 window7
  7. 8.向窗口输出文字 : TextOut 和 DrawText 函数
  8. [灯火阑珊] 关于cmd命令里的findstr匹配多个关键词
  9. 机器学习(二)——竞争神经网络-SOM
  10. CCTC大宗商品链CEO果果受邀出席《2019CAN大会·区块链赋能产业研讨会》