您的位置:计世网>软件>>安全/网络>Hyper-v之可扩展虚拟交换机

Hyper-v之可扩展虚拟交换机

发布时间:2013-04-25 13:17:13 来源:中国IT实验室

Hyper-v之可扩展虚拟交换机

  Windows Server 2012通过网络虚拟化的形式抽象了物理网络的拓扑,使得更好的实现了隔离和多租户的目标。

  而在网络虚拟化中,其中一个很重要的技术就是Hyper-V的可扩展交换机。

  (本文章的例子是在Windows 8下的Hyper-V所展示的,实际的2012也一样)

  对于初使用Hyper-V的人来说,网络是最麻烦了的,Hyper-V不像VMware Workstation或者以前微软自己的VPC那样直接点两下鼠标就能让虚拟机上网。

  在Hyper-V里引入了可扩展交换机这个概念

  

http://cisco.chinaitlab.com/UploadFiles_6776/201304/20130423203454190.png
http://cisco.chinaitlab.com/UploadFiles_6776/201304/20130423203454732.png

 

  初来乍到的人肯定觉得,不就是上个网,还弄出那么麻烦来,像VM那样点两下鼠标多好简单快捷。

  但是Hyper-V更多是应用于生产环境,跟VM(本处没特别说明都是默认指Workstation)这种更偏向实验环境的有天然的不同

  说说3个虚拟交换机的区别

  外部虚拟交换机

  在这种模式下,物理网卡会别虚拟成一个虚拟交换机,而在虚拟出一个网卡来"继承"了你的本地网卡。

  有些人会发现创建外部交换机后,自己物理网卡的所有配置信息都没了,只勾选了一个Hyper-V可扩展的虚拟交换机,如下图

  

http://cisco.chinaitlab.com/UploadFiles_6776/201304/2013042321030585.jpg

 

  然后就担心本地网卡连TCP/IP协议都没启用这如何上网?

  其实这就是把你物理网卡虚拟成了一个虚拟交换机,勾选中的Hyper-V可扩展的虚拟交换机就是做这事,而交换机除非用于管理不然本身是不需要ip或者其他的,他只是负责转发数据包的,这个有点网络基础的人应该都了解吧?

  所以其他信息都全部没勾选。

  于此同时,有另外一个虚拟出的虚拟网卡(一般名字是 "vEthernet( {你的网卡名称} 虚拟交换机)" 这个格式)则会继承你本身物理网卡的所有设置(比如静态ip,dns等设置)

  然后你物理本机就是通过这个虚拟出的网卡来上网的,其拓扑图如下

  

http://cisco.chinaitlab.com/UploadFiles_6776/201304/2013042321035970.jpg

 

  (本图片引用自微软mva里的)

  这种方式的上网,会使得虚拟机跟物理机在网络上是同级别的存在,就类似于虚拟机是一台物理机并且跟物理机接入到同一个交换机的样子。

  这样的话可以从外部的网络物理的直接访问到虚拟机。

  如果虚拟机要对外提供服务且不通过网关等形式的话,这个接入方式无疑是最好的选择。

  内部虚拟交换机

  如果还有人对vm那种上网方式恋恋不忘,其实vm就是使用这种方式让虚拟机上网的

  内部虚拟交换机,在本机虚拟出一个网卡,通过这个虚拟的网卡跟其他虚拟机通讯(这个跟上面外部虚拟交换机相比虚拟网卡类似虚拟交换机,只不过物理网卡并不接入到里面而是继续作为独立的网卡上网)

  而vm的上网方式就是通过这个虚拟网卡,然后把物理网卡的网络通过共享的方式(就是对着本地网卡,右键属性-共享 那个)

  然后物理网卡会自身作为一个DHCP服务器向虚拟机分配ip让其能上网

  而在Hyper-V里也能使用这种方式

  创建一个内部虚拟交换机后,虚拟机全部接入到这个网络,然后物理网卡用共享上网的方式供该虚拟网卡上网,则可以供虚拟机上网了

  不过这种方式是透过物理机上网,也就是常说的NAT方式。

  这样的话外部是无法访问到虚拟机内部的,因为网络是在物理机处做了一次转换。

  专用虚拟交换机

  这个跟内部虚拟交换机基本一样,但是这个不会在物理机的网络适配器那虚拟出一块网卡,而仅仅用于虚拟机内部的通讯(就是一个排除了物理机的内部虚拟交换机)

  基本上内部虚拟交换机

  虚拟VLAN

  对设置稍微注意的人应该注意到在创建虚拟交换机或者在添加网卡的时候,有一个VLAN ID的设置

  

http://cisco.chinaitlab.com/UploadFiles_6776/201304/20130423203454947.png

 

  首先关于VLAN的存在意义,诸如什么隔离流量防止广播风暴一类的,这些请自行寻找更详细的资料。

  以前要配置VLAN是必须要在交换机等网络硬件层面上进行配置,而现在,由于网络虚拟化的特性,使得能够在软件层面上也能实现VLAN

  通过此处设置,就能够使得将网络流量分割到不同的VLAN

  同时也更好的实现诸如多租户安全和隔离等要求

  扩展:

  由于VLAN有一些天然的限制,比如无法跨越多个子网以及数量的限制(理论是4096实际上貌似是超过1000都有问题了)

  所以微软还引入了IP地址的虚拟化,通过IP重写技术

  每个虚拟机有2个IP组成(提供商地址PA和客户地址CA)

  IP重写会在数据包离开虚拟机之前修改客户的IP地址然后再传往物理网络,而接收端则通过PA和CA两个地址唯一标识当前虚拟机

  这样子的优点是无需对网络适配器,交换机或者网络设备进行升级且不会牺牲性能为代价来进行部署

  可扩展的虚拟交换机

  ps:本功能仅在Windows Server 2012里有,客户端的Win8不含此功能

  Hyper-V的可扩展交换机是是基于二层虚拟网络的交换机,可以通过编程方式管理和扩展其功能,从而将虚拟机连接到物理网络。

  Hyper-V可扩展虚拟交换机的可扩展三个字就体现在此处。

  Hyper-V默认支持网络设备接口规格 (NDIS) 筛选器驱动程序和 Windows 筛选平台 (WFP) 标注驱动程序,同时还允许使用其他非MIcrosoft的Hyper-V网络扩展以增强其性能。

  其虚拟交换机通过以下属性提供一个开放的交换机API

  可扩展:您可以在保留本机功能集的同时增加新功能和增强功能。

  标准 API:您可以在 NDIS 和 WFP 上构建扩展,NDIS 和 WFP 是 Windows 开发人员熟悉的可公开使用的平台。

  实时迁移支持:您可以在 Hyper-V 实时迁移中使用扩展。

  轻松排查问题:提供对 vSwitch 及其扩展的统一跟踪支持。

  另外Hyper-V的虚拟交换机同时提供:

  Powershell和脚本的支持

  统一的跟踪和增强的诊断

  以此方便其管理

  其结构如下

  

http://cisco.chinaitlab.com/UploadFiles_6776/201304/2013042321050675.jpg
本文关键词:虚拟交换机