㈠ 什么是网络虚拟化和SDN
SDN与网络虚拟化
由于早期成功的的SDN方案中网络虚拟化案例较多,有的读者可能会认为SDN和网络虚拟化是同一个层面的,然而这是一个错误的说法。SDN不是网络虚拟化,网络虚拟化也不是SDN。SDN是一种集中控制的网络架构,可将网络划分为数据层面和控制层面。而网络虚拟化是一种网络技术,可以在物理拓扑上创建虚拟网络。传统的网络虚拟化部署需要手动逐跳部署,其效率低下,人力成本很高。而在数据中心等场景中,为实现快速部署和动态调整,必须使用自动化的业务部署。SDN的出现给网络虚拟化业务部署提供了新的解决方案。通过集中控制的方式,网络管理员可以通过控制器的API来编写程序,从而实现自动化的业务部署,大大缩短业务部署周期,同时也实现随需动态调整。
随着IaaS的发展,数据中心网络对网络虚拟化技术的需求将会越来越强烈。SDN出现不久后,SDN初创公司Nicira就开发了网络虚拟化产品NVP(Network Virtualization Platform)。Nicira被VMware收购之后,VMware结合NVP和自己的产品vCloud Networking and Security (vCNS),推出了VMware的网络虚拟化和安全产品NSX。NSX可以为数据中心提供软件定义化的网络虚拟化服务。由于网络虚拟化是SDN早期少数几个可以落地的应用,所以大众很容易将网络虚拟化和SDN弄混淆。正如前面所说,网络虚拟化只是一种网络技术,而基于SDN的网络架构可以更容易地实现网络虚拟化。
SDN实现网络虚拟化
通过SDN实现网络虚拟化需要完成物理网络管理,网络资源虚拟化和网络隔离三部分工作。而这三部分内容往往通过专门的中间层软件完成,我们称之为网络虚拟化平台。虚拟化平台需要完成物理网络的管理和抽象虚拟化,并分别提供给不同的租户。此外,虚拟化平台还应该实现不同租户之间的相互隔离,保证不同租户互不影响。虚拟化平台的存在使得租户无法感知到网络虚拟化的存在,也即虚拟化平台可实现用户透明的网络虚拟化。
虚拟化平台
虚拟化平台是介于数据网络拓扑和租户控制器之间的中间层。面向数据平面,虚拟化平面就是控制器,而面向租户控制器,虚拟化平台就是数据平面。所以虚拟化平台本质上具有数据平面和控制层面两种属性。在虚拟化的核心层,虚拟化平台需要完成物理网络资源到虚拟资源的虚拟化映射过程。面向租户控制器,虚拟化平台充当数据平面角色,将模拟出来的虚拟网络呈现给租户控制器。从租户控制器上往下看,只能看到属于自己的虚拟网络,而并不了解真实的物理网络。而在数据层面的角度看,虚拟化平台就是控制器,而交换机并不知道虚拟平面的存在。所以虚拟化平台的存在实现了面向租户和面向底层网络的透明虚拟化,其管理全部的物理网络拓扑,并向租户提供隔离的虚拟网络。
㈡ 如何理解网络的虚拟化 免费硕士博士论文
网络虚拟化作为一种时下热门的网络技术,大有掀起新一轮IT基础架构革命之势。为了更好的了解现今流行的网络虚拟化技术和理念,就必须先介绍一下SDN,即软件定义网络。
如今SDN已经席卷了各种规模的数据中心,影响力日渐深远,但我们似乎依然无法准确的定义什么是SDN。其实SDN并不是一种技术,也不是一种协议,它只是一种体系框架和设计理念。在SDN的理念下,网络系统的控制平面和转发平面是必须分离的。在转发平面,它期望脱离与协议的关联,使得管理员的意志成为核心要素。管理员借助软件来执行自己意志,从而控制转发行为,并驱动整个网络。此外,在SDN的理念中,控制器和转发平面的接口是标准化的,这种接口通常称为南向接口。这是为了尽可能让软件作为转发行为的绝对主导,尽可能少的依赖专门的硬件。而控制器除了能控制硬件设备,也应该可以对网络中的应用程序进行集中控制,通常这是通过硬件提供的可编程特性来实现。这种控制应用程序的接口称为北向接口。
下面总结一下目前公认的SDN特性:
控制平面与转发平面分离;
开放的可编程接口;
集中化的网络控制;
网络业务的自动化应用过程。
顺带一提,OpenFlow作为当前主流的南向接口协议经常被误认为就是SDN本身,或者说是SDN中的一种技术,这种理解是不正确的。OpenFlow仅仅是实现SDN框架理念的一种协议。限于篇幅,关于SDN的介绍就到此为止,详细资料和专业叙述可以在专业书籍中找到,本文最后会有推荐。
话题回归网络虚拟化。网络虚拟化是云计算和SDN发展到一定阶段的产物,也可以把网络虚拟化理解为SDN理念新一代的技术实现。大家都知道服务器虚拟化技术发展的较早,也趋于成熟。在这一拔虚拟化浪潮中,主要的目的直指:抽象化、池化和自动化三个目标。首先发展的是服务器虚拟化,其结果是用户无须关注虚拟化位于哪台物理Host,当该Host故障时,虚机会自动在其他有效的Host上重启,或可以不中断业务的模式迁移到其他Host,甚至可以迁移到千里之外的其他位置。当虚机位置发生改变时,仍然需要访问网关,这使得网络需要配合虚机的变化,提供位于另一位置的网关。这导致了对网络虚拟化的需求。
当资源池越多越大时,已经超越了传统的二层网络范围,需要在更大的范围内建设资源池,这也需要在三层上层叠出逻辑的二层来成为刚性需求。
网络做为共享资源,当其中一部分用户需要对网络做出改变时,会影响到其他用户的使用,因为需要有一种方式,只对该用户的网络做出改变,而不影响剩余用户。这在传统的网络架构中难以实现,而虚拟化网络则很好的匹配了这一需求。
当实现云计算时,自动化部署成为关键技术。虚拟化网络以其软件实现、可编程、容器化等特点,被云管理平台方便调用,用户可以同时申请虚拟机和网络、安全等资源。
因此在实际建设投入生产中发现,当服务器虚拟化运用的如火如荼时,网络环境并没有发生革命性的变化,这使得用户对于构建一个快速部署的、灵活扩展的、稳健可靠的数据中心的需求依然不能得到完全的满足。针对这样的问题,借鉴了服务器虚拟化的理念,当前的网络虚拟化技术随之诞生,它是一种基于Overlay(叠加平面)的技术。
图1 Overlay的网络模型
Overlay以服务的形式,运行在底层物理网络上,设备到设备间的访问无需关心物理路径。这就使得数据中心中建立了大范围的一套二层链路。这种工作机制是通过物理网络设备完成的隧道封装来实现的。
经过几年的发展,网络虚拟化经历了从基于主机虚拟化的Overlay技术到现在的网络虚拟化平台(NVP)的演进。逐渐从基于硬件或者特定的虚拟交换机变为了内部消除五元组的TCP/IP协议,打通大二层网络,发展出真正的控制与转发分离的新一代SDN实现技术。
在新一代的网络虚拟化技术中,基本分为纯软件方案与软硬件结合的解决方案,下面首先介绍下软件方案的代表,由VMware公司提出的NSX解决方案。
NSX方案概述
NSX解决方案分为三个平面,分别是数据平面、控制平面、管理平面。
数据平面主要由NSX虚拟交换机组成,通过将内核模块安装在Hypervisor上实现VxLAN、分布式路由、分布式防火墙等服务,还包含了边界网关设备,在虚拟网络与外界通信时都由其处理。
控制平面中的主要组件是NSX Controller,以虚拟机的形式安装并与NSX Manager进行集成,只发布信令给数据平面,再由数据平面进行工作。
管理平面的主要组件是NSX Manager,通过NSX Manager提供WEB界面配置和管理整个NSX网络虚拟化环境的所有组件。NSX Manager还提供REST API为VMware云管平台或第三方云管平台(如OpenStack)提供接口。
凭借这几大组件,NSX实现了交换、路由、防火墙、逻辑负载均衡、VPN服务、物理网络连接。
ACI方案概述
ACI是Cisco提出的SDN和网络虚拟化解决方案,主要组件包含有应用策略基础设施控制器(APIC)和ACI交换矩阵。
APIC在解决方案中负责实现交换矩阵、策略实施、健康状态监控、自动化和进行中央管理的统一平面。APIC需要以软件形式安装在Cisco UCS服务器上。
Cisco推出Nexus 9000系列交换机实现ACI环境下的底层物理网络。该交换机混用了商用芯片和自主研发的芯片。商用芯片处理普通流量,自主研发芯片处理ACI流量,即SDN和网络虚拟化中的流量。APIC控制器直接将指令发布给交换机的自主芯片,再由芯片分布式地处理数据流量。
对于传统SDN集中网络复杂性的问题,ACI引入了一个完全与IP无关的策略模型用来解决。