数据中心网络架构演进 — 从物理网络到虚拟化网络

目录

文章目录

  • 目录
  • 前文列表
  • 什么是网络的虚拟化?
  • 云计算时代,网络虚拟化需要解决的问题
  • 网络设备的虚拟化
  • 网络 I/O 的虚拟化

前文列表

《数据中心网络架构演进 — 从传统的三层网络到大二层网络架构》

什么是网络的虚拟化?

网络虚拟化技术使得动态化和多元化网络成为可能,借助网络虚拟化可以解决现有网络体系僵化问题,是构建下一代网络最好的方案。

与服务器虚拟化类似,网络虚拟化技术在一个共享的物理网络资源上创建多个虚拟网络(Virtual Network),同时每个虚拟网络可以独立地部署以及管理。作为虚拟化技术的分支,网络虚拟化本质上还是一种资源共享技术

有鉴于此,网络虚拟化应当泛指任何可用于抽象物理网络资源的技术,这些技术使物理网络资源功能池化,达到资源任意的分割或者合并的目的,用以构建满足上层服务需求的虚拟网络

网络虚拟化的一般结构下图所示。在这种网络架构之下,用户可以根据需要定制自己的网络,用户的需求会被一个虚拟网络层接纳,虚拟网络层完成虚拟网络与底层物理网络资源之间的映射,再将网络以服务的形式返回给用户。这种模式很好地屏蔽了底层的硬件细节,简化了网络管理的复杂性,提升了网络服务的层次和质量,同时也提高网络资源的利用率。
数据中心网络架构演进 — 从物理网络到虚拟化网络_第1张图片
网络虚拟化的进程中主要诞生过 4 种核心技术:

  1. 虚拟局域网络(VLAN)
  2. 虚拟专用网络(VPN)
  3. 主动可编程网络(APN)
  4. 覆盖网络(Overlay)

网络虚拟化的研究现在主要集中于 3 个领域:

  1. 云计算应用
  2. 平台化实现
  3. 软件定义网络

网络虚拟化的发展趋势在性能保障、可靠性、易用性和完备性等方面。为此,网络虚拟化技术需要优化自身的服务结构,并向无线网络、光网络等领域推进,此外还需要提供更加友好的可编程接口(API)以及网络功能。
数据中心网络架构演进 — 从物理网络到虚拟化网络_第2张图片

云计算时代,网络虚拟化需要解决的问题

  • 第一部分是服务器内部。随着越来越多的服务器被虚拟化,网络已经延伸到 Hypervisor 内部,网络通信的端已经从以前的服务器变成了运行在服务器中的虚拟机,数据包从虚拟机的虚拟网卡流出,通过 Hypervisor 内部的虚拟交换机,在经过服务器的物理网卡流出到上联交换机。在整个过程中,虚拟交换机,网卡的 I/O 问题以及虚拟机的网络接入都是研究的重点。

  • 第二部分是服务器到网络的连接。10Gb 以太网和 InfiniBand 等技术的发展使一根连接线上承载的带宽越来越高。为了简化网络拓扑,通过一种连接技术聚合互联网络和存储网络成为了一个趋势。在传统的企业级数据中心 IT 构架中,服务器到存储网络和互联网络的连接是异构和分开的。存储网络用光纤,互联网用以太网线(iSCSI 虽然能够在 IP 层上跑 SCSI,但是性能与光纤比还是差的很远)。网络连接技术一直都在追求更高的带宽中发展,比如 InfiniBand 和 10Gb 以太网。数据中心连接技术的发展趋势是用一种连接线将数据中心存储网络和互联网络聚合起来(统一存储网络和 IP 网络),使服务器可以灵活的配置网络端口,简化 IT 部署和网络拓扑。以太网上的 FCoE 技术和 InfiniBand 技术本身都使这种趋势成为可能。

  • 第三部分是网络交换,需要将物理网络和逻辑网络有效的分离,满足云计算多租户,按需服务的特性,同时具有高度的扩展性。当虚拟数据中心开始普及后,虚拟数据中心本身的一些特性带来了对网络新的需求。物理机的位置一般是相对固定的,虚拟化方案的一个很大的特性在于虚拟机可以迁移。当虚拟机的迁移发生在不同网络,不同数据中心之间时,对网络产生了新的要求,比如需要保证虚拟机的 IP 在迁移前后不发生改变,需要保证虚拟机内部运行在第二层(数据链路层)的应用程序也在迁移后仍可以跨越网络和数据中心进行通信等等。在这方面,Cisco 连续推出了 OTV,LISP 和 VxLAN 等一系列解决方案。

网络设备的虚拟化

在传统网络基础架构中,为了实现物理服务器间的通信,每个服务器都包含一个或者多个网络接口卡(NICs),它们连接到一个外部网络设施上。带有网络软件栈的 NIC 通过网络设施支持端点间的通信。正如下图所示,这个在功能上表示为一个交换机,它支持参与其中的端点间的高效数据包通信。

数据中心网络架构演进 — 从物理网络到虚拟化网络_第3张图片

采用服务器虚拟化技术(Hypervisor)之后,服务器可以划分为多个 VM,虚拟化管理程序为每个 VM 创建一个或者多个 vNIC。管理程序也允许虚拟网络的动态构建,由虚拟交换机完成,支持可配置的 VM 端点间的通信。最后,管理程序还允许和物理网络基础架构的通信,通过将服务器的物理 NIC 连接到管理程序的逻辑设施,允许管理程序中 VM 间高效的通信,以及和外部网络的高效通信。

数据中心网络架构演进 — 从物理网络到虚拟化网络_第4张图片

虚拟化网络的关键技术之一就是虚拟交换机。虚拟交换机连接 vNIC 到服务器的物理 NIC,并且连接服务器中的其他 vNICs,从而进行本地通信。在一个虚拟交换机中,所受通信的限制和网络速度无关,而是与内存带宽有关,它允许本地 VM 之间高效的进行通信,并且最小化网络设施的开销。

与 Linux Bridge 不同,分布式虚拟交换机支持跨服务器间的桥接。一个服务器中的虚拟交换机能够透明地和其他服务器中的虚拟交换机连接在一起,使 VM 在服务器之间迁移变得更加简单,因为它们可以连接到另一个服务器的分布式虚拟交换机,并且透明地连接到它的虚拟交换网络。

数据中心网络架构演进 — 从物理网络到虚拟化网络_第5张图片

Open vSwitch 就是一个分布式虚拟交换机,在 Apache 2.0 许可下可用作为开放资源。截止 2010 年 5 月,Open vSwitch 已有版本 1.0.1 可用,并且支持一系列有用的功能。Open vSwitch 支持领先的开源管理程序解决方案,包括基于内核的 VM(KVM),VirtualBox,Xen 和 XenServer。

网络 I/O 的虚拟化

多个虚拟机共享服务器中的物理网卡,需要一种机制既能保证 I/O 的效率,又要保证多个虚拟机对用物理网卡共享使用。I/O 虚拟化的出现就是为了解决这类问题

从 CPU 的角度看,要解决虚拟机访问物理网卡等 I/O 设备的性能问题,能做的就是直接支持虚拟机内存到物理网卡的 DMA(直接存储器存取)操作。Intel 的 VT-d 技术和 AMD 的 IOMMU 技术通过 DMA Remapping 机制来解决这个问题。DMA Remapping 机制主要解决了两个问题,一方面为每个虚拟机创建了一个 DMA 保护域并实现了安全的隔离,另一方面提供一种机制是将虚拟机的 Guest Physical Address 翻译为物理机的 Host Physical Address。

从虚拟机对网卡等外部设备访问角度看,传统虚拟化的方案是虚拟机通过 Hypervisor 来共享的访问一个物理网卡,Hypervisor 需要处理多虚拟机对设备的并发访问和隔离等。这样 Hypervisor 容易行成一个性能瓶颈。为了提高性能,一种做法是虚拟机绕过 Hypervisor 直接操作物理网卡,这种做法通常称作 PCI-Passthrough,VMware,Xen 和 KVM 都支持这种技术。

但这种做法的问题是虚拟机通常需要独占一个 PCI 插槽,不是一个完整的解决方案,成本较高且扩展性不足。另一种做法是设备,如:网卡,直接对上层操作系统或 Hypervisor 提供虚拟化的功能,一个以太网卡可以对上层软件提供多个独立的虚拟的 PCIe 设备并提供虚拟通道来实现并发的访问。这种方法也是业界主流的做法和发展方向,目前已经形成了标准,主要包括 SR-IOV(Single Root IO Virtualization)和 MR-IOV(Multi-Root IO Virtualization)。SR-IOV 带给网络虚拟化的好处就是性能。

你可能感兴趣的:(计算机网络)