精华内容
参与话题
问答
  • 什么是网络虚拟化

    千次阅读 2013-06-10 01:18:13
    什么是网络虚拟化? 数据中心存在的唯一目的就是部署应用。这些应用可以自动处理商务上的流程、更好地服务客户、进入新的市场等等的作用,这些都是应用做的事情。 应用是由计算机和网络资源组成的,缺一不可。...
    
    

    什么是网络虚拟化?

    数据中心存在的唯一目的就是部署应用。这些应用可以自动处理商务上的流程、更好地服务客户、进入新的市场等等的作用,这些都是应用做的事情。

    应用是由计算机和网络资源组成的,缺一不可。但是在过去的十年,这两者的关系却有了些变化,计算机的发展已经超越网络很多年了。因此这两者之间的关系也不再那么平衡。

    举个例子来说,目前我们可以很容易地在几秒钟之内就部署好一台虚拟服务器,服务器虚拟化可以在常规硬件上通过强大的自动化软件来完成这一操作。然而另一方面,虚拟网络仍然需要手工配置,在一些专门硬件上面通过键盘和命令行进行。因此应用的部署时间往往会拖上几天、几周甚至更长,直到网络部署好。


    服务器虚拟化给计算机带来了很cool的特性,比如移动性、快照、一键灾难恢复等等。可是网络却没有这些能力。网络没有移动性,因为他的配置是和硬件绑定在一起的。应用的网络结构快照也是几乎不可能,因为网络配置状态广泛散布在不同的网络设置上(物理设备和虚拟设备)。并且在另一个数据中心(灾难恢复)再造应用的网络结构是不切实际的。如果这一切并非是不可能的,一样的自动化,不受限制的移动性,还有快照。那么应用中计算机的那部分和他所具有的各种虚拟化特性将会发挥他具有的所有潜力。

    网络虚拟化可以解决在计算机&网络这两者关系的对称性问题。通过网络虚拟化,应用的虚拟网络和虚拟计算一步步地进行分配,同样水平的速度、自动化、移动性。计算机和网络保持对称和均衡,通过服务器&网络虚拟化,计算机和网络可以同时进行部署,而不再是一个等另一个。应用就可以完全解除耦合,完全自动化进行提供和完全的移动性。


    什么是虚拟化?

    虚拟化是从物理设备上解除基础设施服务的耦合,即让基础设施服务不依赖于具体的物理硬件。这里说到被使用的服务(比如计算资源,网络)并不是依赖于任何硬件设备进行描述、识别甚至是连接。取而代之的是,这些服务是通过数据结构和已经已经完全存在的软件抽象层进行描述定义的,这些描述定义可以运行在任何运行虚拟软件的物理资源上。服务的生命周期、标示、位置和配置属性存在于软件中,并通过AP接口进行调用。从而可以完全释放自动化资源调配的潜力。

    一个典型的例子是服务器虚拟化,物理服务器的很多类似的属性在虚拟化软件(如hypervisor)中解除了耦合并进行了再生,比如虚拟CPU、虚拟RAM,虚拟网卡等等,可以在几秒钟任意组合出一台唯一的虚拟服务器。

    通过网络虚拟化,网络同样也可以像服务器虚拟化一样解除耦合性并实现自动启动。


    什么是网络?

    虚拟机支持下得应用通常是需要网络连接(交换机和路由器)来连接其他虚拟机的,不管是内部的还是外部的(wan/internet),同时还要提供安全和负载均衡。虚拟机所连接的第一个网络设备就是虚拟化软件上的虚拟交换机。我们想要虚拟化的“网络”是相对于虚拟机而言的完整的2-7层服务(OSI 七层参考模型),并且在应用的网络架构部署中所有的网络配置状态信息都是必需的(比如分布式多层体系架构)。和虚拟机相关的网络有时比纯粹的虚拟网络更特别。


    通过服务器虚拟化技术,虚拟服务器已经完全和物理服务器解除了耦合性。然而虚拟网络仍然未能完全和物理网络解除耦合。正因为如此,音乐的虚拟网络需要很小心地配置以便顺利地穿过许多的物理和虚拟交换机和L4-L7层服务设备。 不论服务器虚拟化技术再怎么努力,应用仍然与硬件耦合。

    网络虚拟化的目的是把所有这些网络服务、功能和应用的虚拟网络所必需的配置(VLANS、VRFS、防火墙规则、负载均衡池、路由、隔离等等)都从物理网络上解除耦合,并将他们移到一个虚拟软件层上面,以实现快速的自动部署。

    一旦虚拟网络解除了耦合,那么物理网络配置仅仅是简单地在虚拟化管理设备之间转发包。物理网络的包转发和虚拟网络分离,并且实现细节上也并不复杂.虚拟网络和物理网络可以各自独立发展,虚拟网络的的特性和能力可以像软件发布那样快速迭代(月份数量级上),而物理网络的包转发保持一般硬件那样发展速度(年的数量级)。

    包转发也并不是应用配置上的阻力。当前一般的物理交换机已经做的相当不错,他们以10/40/100G速率和标准的IP协议(OSPF,BGP)。包转发不是个问题。问题是网络虚拟化当前需要手工地部署网络的策略,特性和服务构建等这些应用的计算资源(虚拟机)需要的网络架构。


    网络虚拟化

    正如软件虚拟层托管着应用的虚拟机一样,网络虚拟化提供应用的虚拟网络所需的l2-l7层网络服务,通过管理程序内核和他的可编程虚拟交换机。和服务器虚拟化提供的虚拟CPU,虚拟内存和虚拟网卡一样,网络虚拟化软件提供逻辑上的交换机和路由器(L2-L3),逻辑负载均衡器,逻辑防火墙(L4-L7)等等,并且可以以任何形式进行组装,从而为虚拟机提供一个完整的L2-L7层的虚拟网络拓扑。

    应用的虚拟网络部署所需的所有功能配置现在都能通过软件虚拟交换层的API提供。现在不在需要在物理网络上为应用的在控制台进行各种配置。物理网络仅仅提供普通的包转发基础功能。可编程的虚拟交换层为每个应用提供完整的虚拟网络功能,并可以做到每个应用独立配置和多任务。

    通过网络虚拟化,虚拟网络完全由软件和API提供,就可以拥有和服务器虚拟化同样速度和敏捷的发展。 的软件工具以及能够提供应用的虚拟机,同时也提供网络和计算资源一起(通过模板), 随后使整个应用架构生效,让计算资源和网络在一起。

    下一步,不仅可以对虚拟机进行快照,而是可以对整个应用架构(计算资源和网络)进行快照,这样就可以拷贝一份以备灾难恢复。应用的网络变得可移动并且和计算资源一样运行得很快。

    网络虚拟化是有意义的音服务器虚拟机。计算资源和网络他们是共生的,在部署的时候也是同步相互对称的。

    这并非胡说八道。


    Brad


    展开全文
  • 网络虚拟化

    千次阅读 2019-03-23 15:32:43
    网络虚拟化(一):简介 目前,软件定义的数据中心是一大热门技术,VMware作为全球最大的虚拟化厂商实现了通过软件可以定义应用及其所需的所有资源,包括服务器、存储、网络和安全功能都会实现虚拟化,然后组合...

    • 网络虚拟化(一):简介
    目前,软件定义的数据中心是一大热门技术,VMware作为全球最大的虚拟化厂商实现了通过软件可以定义应用及其所需的所有资源,包括服务器、存储、网络和安全功能都会实现虚拟化,然后组合所有元素以创建一个软件定义的数据中心。通过虚拟化可以减少服务器部署的时间和成本,可以实现灵活性和资源利用率的最大化,可以在调配虚拟机时对环境进行自定义,在软件定义的数据中心里虚拟机可以跨越物理子网边界。
      传统的网络在第2层利用VLAN来实现广播隔离,在以太网数据帧中使用12位的VLAN ID将第二层网络划分成多个广播域,VLAN数量需少于4094个。但随着虚拟化的普及,4094个的数值上限面临着巨大压力。此外,由于生成树协议(STP)的限制,极大的限制了可以使用的VLAN 数量。基于VXLAN的网络虚拟化解决了传统物理网络面临的诸多难题。
      网络虚拟化可将网络抽象化为一个广义的网络容量池。因此便可以将统一网络容量池以最佳的方式分割成多个逻辑网络。您可以创建跨越物理边界的逻辑网络,从而实现跨集群和单位的计算资源优化。不同于传统体系架构,逻辑网络无需重新配置底层物理硬件即可实现扩展。VMware网络虚拟化是通过虚拟可扩展局域网(VXLAN)技术,创建叠加在物理网络基础架构之上的逻辑网络。
      VMware网络虚拟化解决方案满足了数据中心的以下几大需求:
    • 提高计算利用率
    • 实现集群的扩展
    • 跨数据中心内多个机架利用容量
    • 解决IP寻址难题
    • 避免大型环境中VLAN数量剧增问题
    • 实现大规模多租户

    在这里插入图片描述
    通过采用网络虚拟化,可以有效的解决这些问题并实现业务优势:
    • 加快网络和服务的调配速度,实现业务敏捷性。
    • 将逻辑网络与物理网络分离,提供充分的灵活性。
    • 大规模隔离网络流量并将其分段。
    • 自动执行可重复的网络和服务调配工作流。
    在这里插入图片描述
    虚拟交换机
    虚拟交换机在许多方面都与物理以太网交换机相似。每个虚拟交换机都是互相隔离的,拥有自己的转发表,因此交换机查找的每个目的地只能与发出帧的同一虚拟交换机上的端口匹配。它可以在数据链路层转发数据帧,然后通过以太网适配器出口连接到外部网络。虚拟交换机能够将多个以太网适配器绑定在一起,类似于传统服务器上的网卡绑定,从而为使用虚拟交换机提供更高的可用性和带宽。它还支持端口级别的VLAN分段,因此可以将每个端口配置为访问端口或中继端口,从而提供对单个或多个VLAN的访问。
      但是与物理交换机不同,虚拟交换机不需要生成树协议,因为它强制使用单层网络连接拓扑。多个虚拟交换机无法进行互连,在同一台主机内,网络通信流量无法在虚拟交换机之间直连流动。虚拟交换机通过一个交换机提供用户需要的所有端口。虚拟交换机无需进行串联,因为它们不共享物理以太网适配器。
    虚拟交换机可提供二种与主机和虚拟机相连接的类型:
      • 将虚拟机连接到物理网络。
      • 将VMkernel服务连接到物理网络。VMkernel服务包括访问IP存储(如:NFS或iSCSI)、执行vMotion迁移以及访问管理网络。
    设计网络连接环境时,您可以通过VMware vSphere将所有网络都置于一个虚拟交换机中。或者,您也可以选择多个虚拟交换机,每个虚拟交换机具有一个单独的网络。具体作何选择在某种程度上取决于物理网络的布局。例如:您可能没有足够的网络适配器,无法为每个网络创建一个单独的虚拟交换机。因此,您可能会将这些网络适配器绑定在一个虚拟交换机上,然后使用VLAN来隔离这些网络。
    虚拟网络支持二种类型的虚拟交换机:
    • 虚拟网络标准交换机:主机级别的虚拟交换机配置。
    标准交换机可以将多个虚拟机连接起来,并使它们彼此可以进行通信。每个标准交换机最多有4088个虚拟交换机端口,而每台主机最多有4096个虚拟交换机端口。下图显示了几个标准交换机的不同用途。这些交换机从左到右依次为:

    1. 配置绑定网卡的标准交换机。绑定的网卡可自动分发数据包以及执行故障切换。
      
    2. 仅限内部使用的标准交换机,允许单个ESXi主机内的虚拟机直接与其他连接到同一标准交换机的虚拟机进行通信。VM1和VM2可使用此交换机互相通信。
      
    3. 配置一个出站适配器的标准交换机。该交换机提供VM3使用。
      
    4. VMkernel用来实现远程管理功能的标准交换机。
      
    5. 在这里插入图片描述
    6. 虚拟网络分布式交换机:虚拟网络分布式交换机是一款数据中心级交换机。标准交换机基于主机工作,交换机配置保存在ESXi主机上面。而数据中心交换机能够独立于物理结构实现统一虚拟化管理。虚拟网络分布式交换机配置通过vCenterServer管理,并且所有虚拟网络配置的详细信息都存储在vCenter Server数据库中。VXLAN网络可在一个或多个vSphereDistributed Switch上进行配置。
        另外,vNetwork分布式交换机具有以下特征:
    7. 独立于物理结构的统一网络虚拟化管理。
    8. 针对整个数据中心管理一台交换机与针对每台主机管理若干标准虚拟交换机。
    9. 支持VMware vSpherevMotion,因此统计数据和策略可随虚拟机一同转移。
    10. 独立的管理界面。
    11. 高级流量管理功能。
    12. 监控和故障排除功能,如NetFlow和端口镜像。
    13. 主机级别的数据包捕获工具(tcpdump)
    14. 在这里插入图片描述
    15. VXLAN虚拟可扩展局域网(上)
    16. 2011年的VMworld大会上,VMware提出了VXLAN(virtual Extensible LAN虚拟可扩展局域网)技术。VXLAN技术是VMware、CISCO、Arista、Broadcom、Citrix和Redhat等厂商共同开发用于虚拟网络的技术,与之抗衡的有Microsoft联合Intel、HP和Dell开发的NVGRE标准(Network Virtualization using Generic Routing Encapsulation)。本文将重点介绍VXLAN的优势、VMware的VXLAN组件和应用案例分析。
      VXLAN逻辑网络有以下几项优于传统物理网络的明显优势:
      1、突破了传统VLAN的数量限制。
      物理网络使用VLAN来限制和隔离第2层广播域,VLAN的数量上限为4094个。随着主机虚拟化技术的兴起,4094个VLAN数已经远不能满足云数据中心的需求。不同于VLAN的4094限制,VXLAN网络可以支持多达1600万个VLAN标识符。
      2、突破了传统的物理界限,满足多租户环境和规模扩展的需求。
      VXLAN网络是一个创建叠加在物理网络基础架构之上的逻辑网络,实现了在底层硬件上的独立配置。VXLAN网络大大减少了数据中心网络管理和配置所花费的时间,它提供的多层次网络拓扑结构和企业级安全服务,可将部署、调配时间从几周减少到数小时。同时,在VXLAN网络部署的虚拟机可以实现跨物理机迁移,例如:北京数据中心的虚拟机可以和上海的数据中心的虚拟机在二层网络上进行通信,打破了传统的二层网络的界限。
      3、解决STP(生成树协议)高负荷
      VXLAN 中使用了新技术替代STP(生成树协议), 因此解决了汇聚层交换机由于STP高负荷导致的压力过大问题。
      在这里插入图片描述
      在vSphere 5.5版本中,VXLAN实现组件包括:
      • vShield Manager
        vShield Manager是vShield的集中式网络管理组件,可作为虚拟设备安装在vCenter Server 环境中的任意ESX主机上。vShieldManager可在与安装vShield代理不同的ESX主机上运行。使用 vShield Manager用户界面或vSphere Client插件,管理员可以安装、配置和维护vShield组件。vShield Manager可以定义并管理VXLAN网络,包括:定义VXLAN网络的延展范围、配置vSphere承载VXLAN网络的VDS和配置VTEP等。
      • vSphere分布式交换机
        在VXLAN网络中vSphere分布式交换机用于连接主机和互连。
      • vSphere主机
        在VXLAN网络中每台vSphere主机上需要配置虚拟安全加密链路端点(VETP)模块,每个主机VEP会分配到一个唯一的IP地址,在vmknic虚拟适配器上进行配置,用于建立主机之间的通信安全加密链路并承载VXLAN流量。VTEP由以下三个模块组成:
        1). vmkernel模块
        此模块负责VXLAN数据路径处理,其中包括转发表的维护以及数据包的封装和拆封。
        2)、vmknic虚拟适配器
        此模块用于承载VXLAN控制流量,其中包括对多播接入、DHCP和ARP请求的响应。
        3)、VXLAN端口组
        此端口组包括物理网卡、VLAN信息、绑定策略等。端口组参数规定了VXLAN流量如何通过物理网卡进出主机VTEP。
      创建VXLAN虚拟网络案例演示
      此方案的情形如下:在数据中心的两个群集上有多个 ESX 主机。工程部门和财务部门都在Cluster1 上。市场部门在Cluster2 上。两个群集都由单个vCenter Server 5.5进行 管理。
      在这里插入图片描述
      Cluster1 上的计算空间不足,而 Cluster2 未充分利用。老板要求IT管理员将工程部门的虚拟机扩展到 Cluster2上,实现工程部门的虚拟机位于两个群集中,并且能够彼此通信。如果 IT管理员使用传统方法解决此问题,他需要以特殊方式连接单独的 VLAN 以便使两个群集处于同一二层域中。这可能需要购买新的物理设备以分离流量,并可能导致诸如 VLAN 散乱、网络循环以及系统和管理开销等问题。
      通过 VXLAN技术,IT管理员可以通过跨dvSwitch1 和 dvSwitch2 构建VXLAN 虚拟网络,在不添加物理设备的情况下达到要求。
      在这里插入图片描述
      VXLAN虚拟可扩展局域网(下)
      VXLAN传输数据包
      VXLAN虚拟可扩展局域网是一种overlay的网络技术,使用MAC in UDP的方法进行封装,在封装包中间添加了一层共50字节的VXLAN Header,然后以IP数据包的形式通过3层网络进行传输。位于VXLAN安全加密链路任何一端的虚拟机不知道这个封装包。同时,物理网络中的设备也不知道虚拟机的源或目的MAC或IP地址。VXLAN的封装结构如下图所示:
      在这里插入图片描述
    17. VXLAN Header:
        共计8个字节,目前被使用的是Flags中的一个标识位和24bit的VXLAN Network Identifier,其余的部分没有定义,但是在使用的时候必须设置为0×0000。
    18. 外层的UDP报头:
        目的端口使用4789,但是可以根据需要进行修改。同时UDP的校验和必须设置成全0。
    19. IP报文头:
        目的IP地址可以是单播地址,也可以是多播地址。
        单播情况下,目的IP地址是VXLAN Tunnel End Point(VTEP)的IP地址。
        在多播情况下引入VXLAN管理层,利用VNI和IP多播组的映射来确定VTEPs。
      从封装的结构上来看,VXLAN提供了将二层网络overlay在三层网络上的能力,VXLAN Header中的VNI有24个bit,数量远远大于4096,并且UDP的封装可以穿越三层网络,因此比的VLAN更好的可扩展性。
      VXLAN协议网络工作原理
      (1)、网络初始化
      在VXLAN协议工作前需要进行网络初始化配置。网络初始化就是让虚拟网络中的主机加入到该VXLAN网络所关联的多播组。例如:VM1和VM2连接到VXLAN网络,那么二台VXLAN主机(ESXi1和ESXi2)就需要先加入IP多播组239.119.1.1。VXLAN的网络标识符(VNI)就是网络ID。
      在这里插入图片描述
      2)、ARP查询
      下图描述了VXLAN协议中二个连接到逻辑2层网络的虚拟机(VM1和VM2)ARP查询流程。
    20. VM1以广播形式发送ARP请求;
      
    21. VTEP1封装报文。本例中,VXLAN 100关联在IP多播组239.119.1.1中,VNI为100;
      
    22. VTEP1通过多播组将数据包发送给VTEP2;
      
    23. VTEP2接收到多播包。VTEP2将验证VXLAN网段ID,拆封数据包,然后将通过2层广播包的形式其转发到虚拟机VM2;
      
    24. VM2收到广播包后发送ARP响应。
      
    25. 在这里插入图片描述
    26. 注意:VTEP1只会在VTEP转发表中没有虚拟机MAC与该MAC地址的VTEP IP之间的映射时,才会生成多播包。在广播数据包时,如果MAC转发表中没有与帧目的MAC地址相匹配的条目,2层交换机会执行ARP查询操作。在发现虚拟机MAC地址与VTEP IP地址的映射条目并将其更新到转发表中后,任何与该特定虚拟机通信的请求都将通过点到点安全加密链路传输。
      (3)、ARP应答
      ARP应答处理流程类似于ARP请求,不同之处在于VM2将通过单播包进行ARP响应。因为VTEP2已经获得了VM1的MAC地址、IP地址以及VTEP1的信息。VTEP2将建立一个转发条目,以后交换数据包操作会使用该转发条目。
      在这里插入图片描述
      (4)、VXLAN网关
      如果需要VXLAN网络和非VXLAN网络连接,必须使用VXLAN网关才能把VXLAN网络和外部网络进行连接。下图描述了VXLAN网关的工作原理:
    27. VM2通过网关MAC地址向网关发送数据包;
      
    28. VTEP2封装数据包,通过多播(第一次)发送给VTEP1;
      
    29. VTEP1拆封数据包,并发送到网关;
      
    30. 网关将IP数据包路由到Internet。
      

    31.在这里插入图片描述
    案例(一)
    当二台虚拟机在同一逻辑2层网络中时,如果二个虚拟机都在同一台vSphere主机上,那么数据包无需封装。如果二个虚拟机在不同vSphere主机上,一台vSphere主机上的源VTEP将虚拟机数据包封装到一个新UDP标头中,并通过外部IP网络将其发送到另一台vSphere主机上的目标VTEP。
    在这里插入图片描述
    案例(二)
    图中显示了二个虚拟网络VXLAN-A和VXLAN-B。二个网络分别属于192.168.1.0/24网段和192.168.2.0/24网段,二个网络通过VXLAN网关进行连接。以下是可能情况:
    (1)、当所有虚拟机和VXLAN网关位于同一vSphere主机上时。虚拟机将流量导向各自逻辑网络子网的网关IP地址,VXLAN会根据防火墙规则在二个不同接口之间进行路由。
    (2)、当所有虚拟机不在同一台vSphere主机上,而VXLAN网关部署在其中一台vSphere主机时。虚拟机的流量将被封装到数据包,然后进过物理网络传送到VXLAN网关,之后将由网关将数据包路由到正确的目标。
    (3)、当所有虚拟机和VXLAN网关不在同一台vSphere时。数据包传输将类似于情况2。
    在这里插入图片描述
    2.4.5 通过划Zone来提高虚拟网络的安全性
      虚拟环境面临的最常见威胁是不安全的接口和网络、过高的权限、错误配置或不当管理,以及未打补丁的组件。由于虚拟机是直接安装在服务器硬件上的,因此许多常规安全漏洞并不存在太大的安全威胁。在vSphere环境中,必须保护好以下基本组件:
    • 物理网络和虚拟网络
    • 基于IP的存储和光纤通道
    • 物理和虚拟应用服务器以及应用客户端
    • 托管虚拟机的所有ESXi系统
    • 数据中心内的所有虚拟机
    • 虚拟机上运行的应用程序
    划Zone是保护物理网络和虚拟网络的一种有效方法。Zone定义了一个网段,在网段中的数据流入和流出都将受到严格的控制。在虚拟网络中,常见的划Zone方式有以下三种:
    1)、通过物理设备实现分离
    在这种配置中,每个区域都采用单独的ESXi物理主机或集群,区域隔离是通过服务器的物理隔离和物理网络安全设定来实现的。这种配置方法较为简单,复杂度较低,不需要对物理环境进行调整,是一种将虚拟技术引入网络的好办法。但是,这种配置方法会制约虚拟化提供的优势,资源整合率和利用率较低,使用成本较高。
    在这里插入图片描述

    2)、通过虚拟技术实现分离
    在这种配置中,通过使用虚拟交换机可以将虚拟服务器连接到相应的区域,在同一台ESXi主机上设置不同信任级别的虚拟服务器,这种区域是在虚拟化层中实施的。虽然这种方法可以实现在物理机和虚拟领域实施不同的安全设定,但是仍然需要通过物理硬件来确保区域之间的网络安全。虽然在每个区域中都显示了不同的虚拟交换机,但是用户仍然可以使用VLAN以及单个虚拟交换机上不同的端口组实现相同的目的。
    这种方法较好的整合了物理资源,能较好地利用虚拟化优势,成本较低。然而,与采用物理设备实现分离相比,这种配置较为复杂,必须明确配置人员,需要定期审核配置。

    在这里插入图片描述
    3)、完全合并再分离
    这是一种建立在完全虚拟前提下的隔离。用户可以将不同安全级别的虚拟机置于不同物理服务器上,并将网络安全设备引入虚拟基础架构。通过虚拟网络设备实现管理和保护虚拟信任域之间的通行。例如:通过VMware的vShield组件,可以为不同区域建立通信,同时监控通信。
    这种配置中,所有的服务器和安全设备都进行了虚拟化,用户可以隔离虚拟服务器和网络,使用虚拟安全设备管理不同区域之间的通信。这是配置能够充分利用资源,减低成本,通过单个管理工作站管理整个网络,但是配置和管理最为复杂,出错几率较高。在这里插入图片描述

    展开全文
  • 云计算的那些事之网络虚拟化

    万次阅读 2017-04-22 13:56:18
    网络虚拟化是一种重要的网络技术,该技术可在物理网络上虚拟多个相互隔离的虚拟网络,从而使得不同...关于网络虚拟化,这里面有很多概念需要搞清楚网络虚拟化和SDN有些人认为SDN和网络虚拟化是同一个层面的,然而这是

    网络虚拟化是一种重要的网络技术,该技术可在物理网络上虚拟多个相互隔离的虚拟网络,从而使得不同用户之间使用独立的网络资源切片,从而提高网络资源利用率,实现弹性的网络。其实很早之前就有的一个网络隔离方法vlan,vlan就是一种网络虚拟化,在原有网络基础上通过vlan tag划分出多个广播域。关于网络虚拟化,这里面有很多概念需要搞清楚

    网络虚拟化和SDN

    有些人认为SDN和网络虚拟化是同一个层面的,然而这是一个错误的说法。SDN不是网络虚拟化,网络虚拟化也不是SDN。SDN是一种集中控制的网络架构,可将网络划分为数据层面和控制层面。而网络虚拟化是一种网络技术,可以在物理拓扑上创建虚拟网络。传统的网络虚拟化部署需要手动逐跳部署,其效率低下,人力成本很高。而在数据中心等场景中,为实现快速部署和动态调整,必须使用自动化的业务部署。当然,你可以通过SDN实现网络虚拟化。下图展现了SDN的结构,主要分为三层:基础架构层(数据转发层)、控制层、应用层,关于SDN和openflow我讲在单独的blog里面介绍。
    这里写图片描述

    隧道技术

    隧道技术是一种常用的实现网络虚拟化的技术,它将其他的协议或封装格式的数据帧进行重新的封装后发送或接受。其中以overlay最为著名,overlay技术是将整个以太网报文作为DATA封装到新的报文中,隧道报文封装新的二层头、三层头甚至是新的TCP或者UDP报文头,这些技术有VPLS/VXLAN/NVGRE等。简单的介绍一下VXLAN,它本质就是MAC-in-UDP,将原始报文封装到UDP数据包中,如下图;
    这里写图片描述

    vxlan还支持隔离,每个租户一个VNID,它是24为的,这边比以前vlan的12位扩展了很多,它能提供一个跨数据中心的大二层。

    网络虚拟化与云计算

    云计算就是通过网络虚拟化技术为每个租户提供一个至多个虚拟网络,不局限于物理数据中心网络拓扑,如下图。当然在虚拟网络中还有虚拟防火墙、虚拟负载均衡、虚拟路由等。
    这里写图片描述

    展开全文
  • 网络虚拟化技术

    千次阅读 2014-06-02 15:47:14
    网络虚拟化似于服务器虚拟化,可以在一个物理网络上创建多个虚拟网络。网络虚拟化出现的时间并不长,是随着IaaS的出现而出现。 IaaS中的核心技术是虚拟化,包括服务器虚拟化,存储虚拟化和网络虚拟化。其中服务器...
    网络虚拟化似于服务器虚拟化,可以在一个物理网络上创建多个虚拟网络。网络虚拟化出现的时间并不长,是随着IaaS的出现而出现。

    IaaS中的核心技术是虚拟化,包括服务器虚拟化,存储虚拟化和网络虚拟化。其中服务器虚拟化和存储虚拟化出现的时间远远早于IaaS的概念,可以说非常成熟,有很多产品。成熟的关键标识就是行业巨头(们)的出现,行业巨头一般会占据绝大多数的市场份额。有一个结论是,在IT行业,行业的前两名会占据80%以上的市场份额。

    网络虚拟化出现的时间并不长,市场没有出现行业巨头。另外目前网络虚拟化的市场应该还处在开发阶段,应该还没有很多用户开始在自己的IT基础设置中施行网络虚拟化。不过随着IaaS的逐渐推广,网络虚拟化也会随之普及。当前的网络虚拟化处于一个群雄并起的阶段,最终谁能赢得战争犹未可知。

    目前的网络虚拟化技术主要有这么几种:
    VEB技术,代表产品是OpenvSwitch,背后是VMware
    VEPA技术,背后是HP,Juniper,brocade等
    vn-tag技术,背后是Cisco

    二层(L2)网络拓扑结构
    本文讨论的网络指二层网络,L2网络拓扑主要有flat和vlan两种:
    flat:
    平坦结构。所有接入网络的节点(node)都处于单一的地址空间中,网络节点之间可以互相通信。一个节点可以和网络中的任意节点通信。
    vlan:
    网络被划分为若干个地址空间,每个地址空间形成一个vlan。vlan形成了一个二维地址空间,(vlan id, mac address)。只有出于一个vlan中的节点才能互相通信,vlan实现了一定程度的网络隔离。vlan的上限是4094个,对于私有云来说是足够的,但对于公有云则不足。业界又有了vxlan,gre等技术来克服vlan的数量限制。

    网络虚拟技术所解决的问题
    一个是虚拟接入:
    将虚拟机接入到接入交换机中,并且交换机可以识别虚拟机。目标是交换机能够像管理物理机一样管理虚拟机,包括配置网络策略,监控虚拟机流量等。传统交换机对物理机的管理,都可以应用到虚拟机上。目前的交换机中是无法实现对虚拟机的管理的。关键问题是数据帧不能发往收到改数据帧的端口。这个限制是STP协议的主要规则,而传统交换机都是采用STP协议工作的。虚拟环境中,一个交换机端口(port)上可以接入多个虚拟机(传统方式中,一个端口只能接入一台物理机,端口和物理机一一对应),当这些虚拟机之间需要通信的话,导致该端口接受的数据帧被发往该端口,违背了STP原则。后面会介绍目前的 技术方案如何解决这个问题。

    虚拟通道
    解决如何让虚拟机连到物理接入交换机上。虚拟机无法直接连接到接入交换机。目前的多种虚拟化结束中,都 采用一种叫做虚拟交换机(VEB,virtual ethernet bridging)的方式来实现虚拟机到接入交换机的连接。VEB可以通过软件或硬件方式来实现。
    软件VEB
    软件VEB可以直接实现在Hypervisor中,也可以独立于Hypervisor独立实现。前者如Vmware exsi, MS hypervisor等,后者如linux bridge,open vswitch等。系统上的所有虚拟机接入虚拟交换机,虚拟交换机通过本机网卡接入交换机。一个系统中可以存在多个虚拟交换机,虚拟机也可以接入不同的虚拟交换机来实现不同的网络拓扑结构和网络隔离。
    硬件VEB
    有些虚拟软件中支持bypass with Harware 功能,这个就是指硬件VEB。硬件VEB通常在网卡上实现(SR-IOV(Single Root I/O Virtualization)技术),虚拟机直接接入网卡提供的端口。
    硬件VEB比软件VEB有更好的转发效率和转发延迟,同时有更低的CPU占用率。

    下面谈谈主流的网络虚拟化技术:
    VEB技术:
    VEB技术解决了前面所说的虚拟通道问题,但没有解决虚拟接入问题。采用VEB技术,传统的接入交换机还是无法对虚拟机进行管理,识别虚拟机流量。VEB技术不在使用传统交换机进行虚拟机管理,而是完全采用虚拟交换机取代传统交换机的角色,传统交换机只用来承载流量。这种方案采用虚拟交换机解决虚拟接入问题,采用VEB解决虚拟通道问题。

    VEB根据数据帧目的地址决定如何处理:
    该目的地址是该节点上的另一台虚拟机,直接转发;
    是其他节点上的虚拟机,通过物理网卡转发L2网络上,这个虚拟机所在节点的VEB会接受该数据包并转给虚拟机。

    VEB技术的代表是Open vswitch。Open vswitch中完全采用虚拟交换机(open vswtich)对虚拟交换机进行管理和流量控制,传统的物理交换机只用来连接个网络节点。物理交换机的角色类似于传统的集线器(Hub),其上不在进行任何网络配置(这导致了VEB无法和已有的L2网络配置兼容)。Open vswitch本身提供了强大的功能来替代传统的物理交换,支持多种管理界面包括远程管理等,支持openflow协议。可以参考Open vswitch官网网站。

    VN-Tag技术:
    由cisco提出的技术方案,基本思想是在传统的以太网数据帧中加入一个新的标签(vn-tag)以便让物理交换机识别虚拟机并进行管理。这种方案中采用vn-tag技术解决虚拟接入问题,采用VEB解决虚拟通道问题。

    VEB对虚拟机发出的数据帧添加vn-tag,然后发送到接入交换机。接入交换机根据vn-tag决定数据转发目的地;目的地上的VEB根据vn-tag转发数据到相应的虚拟机上。这种方案中,需要通信的两台虚拟机即使都在一台物理机上,他们的数据交换也需要经过接入交换机处理。VEB可以通过软件或硬件方式实现。在vn-tag方案中,这个VEB被叫做port extender,只提供虚拟通道,不在处理路由寻址。

    这项技术主要包括如下设备:
    vn-tag网卡,用来实现VEB(port extender)。
    vn-tag交换机,管理虚拟机,识别虚拟机流量。
    支持vn-tag技术的hypervisor,将虚拟机虚拟网卡接入到vn-tag网卡中。目前vmware的产品可以支持vn-tag网卡。

    vn-tag对现有的数据帧做出了改变,所以这套技术和目前的L2网络无法兼容。目前的交换机不能识别vn-tag数据帧。cisco已经将这项技术提交成了技术标准802.1BR - Bridge Port Extension http://www.ieee802.org/1/pages/802.1br.html

    VEPA技术:
    由HP提出的技术方案,全称是virtual ethernet port aggregator。vepa包括了标准版和增强版。
    标准版
    标准版没有实现虚拟接入技术,交换机无法识别虚拟机。标准版允许接入同一个端口的虚拟机之间通过该端口实现数据交换,不在需要VEB实现数据交换。标准版通过改写STP协议,允许来自同一个端口的数据被转发回去,叫做发卡弯。
    标准版对现有的数据帧没有修改,只要升级VEB和交换机的软件,就可以实现。vepa不需要采购新的网络设备,只需要升级软件即可。

    增强版
    实现对虚拟机的管理和流量监控。vepa的思路也是利用在数据帧中加入标签还识别虚拟机,但是vepa利用了已有的技术标准,而不是引入新的标签。vepa采用了802.1ad标准在vlan标签外增加了S-Tag,以实现虚拟机识别。这个技术可以实现vn-tag的一切功能,有点还是不需要采购新的网络设别,只需要升级软件即可。

    为了使用vepa,也需要相应hypevisro的支持。linux中的macvtap驱动可以支持vepa技术,http://virt.kernelnewbies.org/MacVTap

    vepa也有相应的技术标准提交,802.1Qbg - Edge Virtual Bridging
    http://www.ieee802.org/1/pages/802.1bg.html
    除了HP,该阵营还有诸如juniper,brocade的支持。

    本文只是简要介绍了网络虚拟化技术,如需深入了解,还请查找相应资料。这几种技术之间的战争只是刚刚开始,尤其是vepa和vn-tag之间的交锋。


    参考书
    云计算和大数据时代网络技术揭秘 徐立冰著,文中的图片均来自此书。

    补充资源,大家可以看看这篇文章
    http://download.csdn.net/detail/zhengleiguo/7436301
    
    
    
    
    展开全文
  • 网络虚拟化—概念

    千次阅读 2019-03-06 16:04:42
    如果要实现软件定义数据中心的愿景,网络虚拟化将会是旅程中的最后一公里。IDC估计网络虚拟化市场会从2013年360 million美金增长到2016年的3.7 billion。众多巨头接连大手笔,而很多新创公司也纷纷瞄准了这个方向。...
  • 网络功能虚拟化NFV

    万次阅读 多人点赞 2019-05-07 21:21:07
    网络功能虚拟化(NFV)技术是为了解决现有专用通信设备的不足而产生的。通信行业为了追求设备的高可靠性、高性能,往往采用软件和硬件结合的专用设备来构建网络。比如专用的路由器、CDN、DPI、防火墙等设备,均为...
  • Docker网络-虚拟化网络

    2018-12-15 12:01:04
    Linux的3.12内核支持6种Namespace: UTS: hostname IPC: 进程间通信 ...虚拟化 NET:网络名称空间: 描述:主要是网络设备、协议栈等实现,假设物理机上有四块网卡,需要创建两个名称空间,这些设备可以单...
  • 网络虚拟化 软件定义网络 软件定义网络(SDN)是一种动态,可管理,具有成本效益和适应性强的联网技术,适用于当今应用程序的高带宽,动态性质。 通过使用SDN架构,IT运营团队可以通过集中面板控制复杂网络拓扑中的...
  • 网络虚拟化技术发展及未来影响

    千次阅读 2016-11-21 09:38:17
    近几年,软件定义网络(Software Define Network,SDN)技术的发展与成熟,使得网络虚拟化可以不再基于物理网络设备实现,大大扩展了网络虚拟化的“边界”。需要强调的是,SDN 不等于网络虚拟化,只是SDN 这种技术...
  • 笔者现在在做云计算的...Linux的网络虚拟化是LXC项目中的一个子项目,LXC包括文件系统虚拟化,进程空间虚拟化,用户虚拟化,网络虚拟化,等等 LXC内核命门空间 " class="footnote">[1],这里使用LXC的网络虚拟化来模
  • 网络虚拟化技术要点及实践

    千次阅读 2012-08-01 13:38:24
    摘 要:云计算网络作为云计算...关键 词: 云计算、虚拟化虚拟化网络、数据中心 前言 云计算技术是IT行业的一场技术革命,已经成为了IT行业未来发展的方向,这种趋势使得IT基础架构的运营专业化程度不断集中和
  • 虚拟化技术已经成为数据中心必备的技术之一,那什么叫虚拟化技术呢?虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新...
  • 虚拟化是计算、存储、网络等资源的一种逻辑表示,并不拘泥于这些资源的实现方式、物理包装和物理位置等限制。 虚拟化包括: 1) 在一个单独的物理设备上创建多个虚拟资源; 2)管理许多虚拟资源就像管理一台服务器...
  • 网络团队经常要处理铺天盖地的配置请求,这些配置请求可能需要数天或数周来处理,所幸的是,现在有几种方法可以帮助企业提高网络灵活性,主要包括网络虚拟化[注](NV)、网络功能虚拟化[注](NFV[注])和软件定义网络[注...
  • KVM网络虚拟化(一)

    千次阅读 2017-03-01 16:39:25
    KVM与QEMU网络虚拟化属于IO虚拟化
  • 图解网络虚拟化之概念篇

    千次阅读 2013-04-14 19:24:46
    如果要实现软件定义数据中心的愿景,网络虚拟化将会是旅程中的最后一公里。IDC估计网络虚拟化市场会从2013年 360 million美金增长到2016年的 3.7 billion。众多巨头接连大手笔,而很多新创公司也纷纷瞄准了这个...
  • 云计算数据中心网络虚拟化技术

    千次阅读 2013-04-09 10:09:09
    云计算数据中心网络虚拟化技术 2013-02-28 10:21:45 来源:CIO时代网 互联网 摘要: 云计算最重要的技术实现就是虚拟化技术,计算虚拟化商用的解决方案得到了较成熟的应用,而存储虚拟化已经在SAN上实现得很...
  • [编者注:这是一篇来自周伦 EMC中国研究院云基础构架实验室高级研究员的文章。] A revolution has started to free data center networks fromthe tyranny of inflexibility, complexity, vendor stranglehold, ...
  • 数据中心网络虚拟化技术 概要

    千次阅读 2015-06-17 14:34:04
    随着云计算和大数据等新兴应用的快速发展,“数据中心即计算机”(data center as a computer)的技术发展趋势逐渐明朗。数据中心作为一台计算机,与传统的高性能计算机具有很大的不同。在高性能计算领域,因为...
  • 近年来,云计算随着无所不在的宽带互联技术以及服务器虚拟化技术在商业模式上的创新性运用而兴起,IT的使用方式正在发生一个革命性的变更:以按需租用服务为主的IT使用新方式正在逐步,也必将会,取代作为财产拥有的...

空空如也

1 2 3 4 5 ... 20
收藏数 344,487
精华内容 137,794
关键字:

网络虚拟化