云计算,SDN,虚拟化三者关系

  云计算是一种按需分配、按使用量收费的使用模式,提供了一个可配置的资源共享池,用户可以通过网络访问,获取存储空间、网络带宽、服务器、应用软件等等服务。

   NFV,即网络功能虚拟化,Network Function Virtualization。通过使用x86等通用性硬件以及虚拟化技术,来承载很多功能的软件处理。从而降低网络昂贵的设备成本。可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。

  所以说云计算其实就是虚拟化出资源池以后的应用,是以虚拟化技术为基础的。云计算、虚拟化都需要集中化控制,而SDN最重要的三个概念是:可编程(开放的API接口)、控制平面与数据平面分离,以及集中式控制模型。基于SDN的网络架构可以更容易地实现网络虚拟化。

  云计算平台本身的基础架构中,所用到的网络功能相对简单,就是普通的桥接技术,但是一般都会有用来集成第三方程序的接口,第三方的网络虚拟化平台一旦集成到云计算平台中,就可以大大增强云计算平台网络自动化部署的能力。当云计算平台部署网络服务的时候,先通过插件向这些网络虚拟化平台内置的Controller发送配置消息,然后Controller通过跟虚拟交换机或者硬件交换机之间的南向接口,比如 OpenFlow或者OF-Config、NetConf或者别的接口,去配置交换机。(比如要在两个Hypervisor(管理程序)之间创建Tunnel,并将一 些VM绑定到这个Tunnel上去,以及配置一些网络安全策略或者QoS策略等)

  Overlay是通过在现有网络上叠加一个虚拟的逻辑网络,让原有网络尽量不做改造,通过定义的逻辑网络来实现业务逻辑,解决原有数据中心的网络问题。实际上就是一种隧道封装技术,将二层网络封装在三层/四层报文中进行传递,提供了一种解决数据平面转发和多租户隔离的技术手段,VXLAN(Virtual eXtensible LAN)是当前最为主流的Overlay标准。从数量上讲,它把 12 bit 的 VLAN tag 扩展成了 24 bit。从实现上讲,它是 MAC in UDP的封装方式,可以跨 L3 边界,很巧妙地解决了 GRE tunnel 和 VLAN 存在的不足,让组网变得更加灵活,有很好的扩展性。

  网络虚拟化主要用在提供云服务的网络中。在实际部署中,有使用虚拟交换机来做Tunnel Overlay网络终结的方案,也有出于性能考虑使用硬件交换机做Tunnel Overlay网络终结的方案。 
  1)(OpenStack+) OVS 的纯软件方案,会遭受严重的性能问题,因为一台服务器里面虚拟机一多,随着网络流量的增大,网络交换部分带给CPU的压力就太大了。 
  2),(openstack+) SDN+硬件网络虚拟化的方案。用SDN硬件交换机代替了OVS纯软件方案,将Tunnel加解封装,安全过滤,基于VM的 QoS策略等网络功能放到了硬件交换机中,性能得到大幅度提升。

(一)云计算介绍

云计算是一种按需分配、按量收费的使用模式,提供了一个可配置的资源共享池,用户可以通过网络访问,获取服务器、存储、网络、应用软件等等服务。

1:云计算的特点及优势 
1,资源池化; 
2,网络访问; 
3,自助式服务; 
4,可衡量的服务量(弹性计算、按需计费); 
5,资源灵活调度

2:云计算的服务模式 
1,SaaS 【software as a service】 软件即服务 – 用户通过网络租用基于Web的软件使用。(虚拟桌面,在线游戏等) 
2,PaaS 【platform as a service】 平台即服务 – 指将软件研发的平台作为一种服务。(数据库,开发工具,web服务器,软件运行环境等) 
3,IaaS 【infrastructure as a service】 基础架构即服务 – 用户通过网络直接访问底层的计算、存储和网络资源。(虚拟机,服务器,存储空间,网络带宽等)

3:云计算的类型 
  A:公有云:通常指第三方提供商为用户提供的能够使用的云,公有云的核心属性是共享资源服务。例如:阿里云、腾讯云、百度云等等。 
  B:私有云:是为一个客户单独使用而构建的,对数据、安全性和服务质量提供最有效控制。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。 
  C:混合云:融合了公有云和私有云的优点。出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,,混合云达到了既省钱又安全的目的。

4:OpenStack

OpenStack 是一套框架 —— API: 
  它是一个中间层。可以创建、管理和销毁虚拟机,但是要完成这些操作需要依赖于第三方的 Hypervisor(管理程序),通过这个 Hypervisor 去完成虚拟化的工作。OpenStack 有个组件叫 Cinder(用来提供块存储服务的),但是 OpenStack 自己并不能进行数据的存储和读写,它需要依赖一个实际的块存储设备的支持,这个设备可以是一个分布式的存储系统,比如说 Ceph,也可以是一个存储设备,比如说 EMC 的 SAN,也可以是存储服务器的本地硬盘。 
  提供了完备的 API 来支持应用的开发,云计算的愿景就是让用户能够像用电一样去使用计算,OpenStack 的设计也是朝着这个愿景去做设计的,但是实际上我们平时是不能直接用电的,我们需要用的是电冰箱、电脑、电视等等这些电器。同理,对于云计算来说,提供 API 去支持开发应用这个事情就合情合理的非常的重要了,具有完备的 API 是 OpenStack 的突出优点。 
[ OpenStack 不是什么?] 
  它不是虚拟化软件(必须知道这点),OpenStack 虽然管理虚拟机,但本身不具备虚拟化的功能,它给上层提供一个虚拟化的运行环境,必须得依赖一个第三方的虚拟化软件来实现,比如默认支持的 Linux 内核虚拟机,装完 linux 之后就自动带了,集成到 Linux 内核里面了(KVM),另外它还支持 Xen,还支持微软的 Hyper-V,支持 VMware 的 Vshpere,还支持像 Linux Container 和 Docker 这样轻量级的虚拟化技术。 
  云 != 虚拟化,云化的目的是为了实现效用计算,弹性计算,动态资源调度,多租户等这样的一些特性;而虚拟化只是实现云计算的这些特性中的一个技术手段而已,而且它不是必需的。比方说 IBM 的 Softlayer 是 IBM 主推的云服务之一,它中间有一个非常大的特点就是,它支持 Bare Metal Server,直译过来就是 “金属裸机”,也就是 Softlayer 在上面不做虚拟化,而是直接用物理服务器来实现云,直接给用户、租户提供的就是物理服务器,Softlayer 也可以在上面来实现多租户 、弹性计算等等特性。总之,Softlayer 没有虚拟化,但是 Softlayer 也做了云。第二个例子是 OpenStack 也有一个项目叫作 Ironic,是为了通过管理 “金属裸机”来实现云从而提出的项目。

OpenStack基本组件:

  • Nova:管理虚拟机的创建和销毁(支持KVM, Xen,VMware ,还支持像 Linux Container 和 Docker 这样轻量级的虚拟化技术)
  • Neutron:虚拟网络管理服务,是SDN在 OpenStack 里边的一个实现,提供 Plugin 模块,这个是用户可以自己去写的。
  • Cinder:虚拟块存储服务:它需要依赖一个实际的块存储设备的支持,这个设备可以是一个分布式的存储系统,比如说 Ceph。
  • Swift:对象存储服务,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件。
  • Keystone:权限认证
  • Glance:镜像管理
  • Horizon:图形界面,控制面板

(二)虚拟化介绍

  虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 
  虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

1:虚拟化的分类 
全虚拟化、半虚拟化、平台虚拟化、硬件虚拟化(Inter vt-x/EPT) (AMD AMD-v /RVI)、软件虚拟化、桌面虚拟化、应用虚拟化、存储虚拟化、网络虚拟化

2:虚拟化的优势 
虚拟化可以虚拟出不同的虚拟操作系统。 
虚拟机之间是相互独立互不影响的。 
支持异构。 
支持快照、克隆、还原等操作

3:云计算与虚拟化的区别与联系

  • 虚拟化是一种技术,云计算是一种使用模式。
  • 虚拟化是指将物理的实体,通过软件模式,形成若干虚拟存在的系统,其实真是运作还是在实体上,只是划分了若干区域或者时域划分
  • 云计算的基础是虚拟化,但虚拟化只是云计算的一部分,云计算其实就是在虚拟化出若干资源池以后的应用,但虚拟化并不是只对应云计算的

4:KVM虚拟化

  • KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
  • 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
  • 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
  • KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
  • KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。

KVM的优势: 
1,嵌入到Linux的Kernel中 (提高兼容性) 
2,代码级资源调用(提高性能) 
3,虚拟机就是一个进程 
4,直接支持MUMA技术(NUMA(Non Uniform Memory Access Architecture)技术可以使众多服务器像单一系统那样运转,同时保留小系统便于编程和管理的优点。)

5:open vswitch虚拟化 
OpenvSwitch,是虚拟交换机,主要用于虚拟机VM环境,支持Xen/XenServer, KVM, and VirtualBox多种虚拟化技术。OpenvSwitch还支持多个物理机的分布式环境。

  • 传递虚拟机VM之间的流量
  • 以及实现VM和外界网络的通信。

OVS两种模式: 
1. standalone:这种模式下,没有运行controller的情况下,OVS会自动调回普通switch模式,如果有controller的情况,ovs会自动变成 openflow switch。 
命令:ovs-vsctl set-fail-mode ovs-switch standalone

2.secure:这种模式下,无论有没有controller, ovs都会作为openflow switch运行, 也就是所有interface在bridge上,等待controller或者用户添加flow到switch来进行通信 
命令:ovs-vsctl set-fail-mode ovs-switch secure

 
ovs-vswitchd是主要模块,实现switch的 daemon(守护进程),包括一个支持流交换的Linux内核模块; 
ovsdb-server轻量级数据库服务器,提供ovs-vswitchd配置信息; 
  
ovs-vsctl 查询和更新ovs-vswitchd的配置; 
ovs-ofctl查询和控制 OpenFlow交换机; 修改OVS 中的流表项,对 OVS 的运行状况进行动态监控。 
ovs-dpctl 用来配置switch内核模块; 
ovs-appctl 发送命令消息,运行相关daemon; 
ovs-brcompatd让 ovs-vswitch替换 Linuxbridge,包括获取 bridgeioctls 的 Linux内核模块;

(三)SDN介绍

  SDN是一种新型网络创新架构,通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,让网络成为一种可灵活调配的资源。SDN最重要的三个概念是:可编程(开放的API)、控制平面与数据平面分离,以及集中式控制模型。 
  在SDN中很重要的两个实体是Switch跟Controller。 
  Controller知道网络中所有的消息,对整个网络进行管理和控制,可以给交换机下发流表,对所有网络设备运行状态进行监控。 
  Switch就是一个实现Controller指令的实体,只不过跟传统的交换机不一样,它的转发规则由流表指定。Switch由两部分组成:  

  • Secure Channel,是与控制器通信的模块,通过socket连接。
  • Flow table,里面存放这数据的转发规则。当数据包进入switch之后,寻找对应的流表进行匹配,并执行相应的action,如果没有匹配的数据包则将其封装在packet_in中发给控制器进行处理(丢弃、泛洪等)

每条流规则分为基本字段、条件字段和动作字段三部分:

  • 基本字段包括生效时间duration_sec、所属表项table_id、优先级priority、处理的数据包数n_packets,空闲超时时间idle_timeout等,
  • 条件字段包括输入端口号in_port、源目的mac地址dl_src/dl_dst、源目的ip地址nw_src/nw_dst、数据包类型dl_type、网络层协议类型nw_proto等,可以为这些字段的任意组合
  • 动作字段包括正常转发normal、定向到某交换机端口output:port、丢弃drop、更改源目的mac地址mod_dl_src/mod_dl_dst等,一条流规则可有多个动作,动作执行按指定的先后顺序依次完成。

SDN与网络虚拟化: 
网络虚拟化是一种网络技术,可以在物理拓扑上创建虚拟网络。传统的网络虚拟化部署需要手动逐跳部署,其效率低下,人力成本很高。SDN通过集中控制的方式,网络管理员可以通过控制器的API来编写程序,从而实现自动化的业务部署,大大缩短业务部署周期,同时也实现随需动态调整。基于SDN的网络架构可以更容易地实现网络虚拟化。

1、SDN技术的优点。 
(1)提供网络结构的统一视图:对整个网络架构实现统一的查看,从而简化配置、管理和优化。 
(2)高利用率:集中化的流量工程使得我们能够有效地调整端到端的流量路径,从而达到网络资源的高效利用。 
(3)快速故障修复:链路、节点故障都能实现快速修复。而且系统能够快速的聚合网络资源,实现平均分配,并且对于一些网络行为可进行预测。 
(4)平滑升级:控制平面和转发/数据平面的分离可以做到软件平滑升级的同时保证没有数据丢包或者性能衰减。 
(5)弹性计算:大规模的计算、路径分析都被集成在子控制器中,由最新代的服务器 完成。

2、OpenFlow与SDN的联系与区别。 
SDN是一种新型网络创新架构,通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,让网络成为一种可灵活调配的资源。 OpenFlow实现了SDN可编程网络的思想,是控制平面和数据平面的一种通信协议,是连接两者之间的桥梁。

3、当前SDN技术主要应用于哪些领域。 
数据中心网络、数据中心间的互联、政企网络、电信运营商网络、互联网公司业务部署。

SDN在数据中心网络中的优势: 
(1)在数据中心网络中,通过SDN可以使得网络和计算资源更加紧密的联系起来并实现有效的控制。如果数据流量很大,不能合理分配传输路径很容易造成数据拥塞,通过SDN实现路径优化以及负载均衡,从而使得数据交换更加迅速。 
(2)网络管理和安全控制方面。所有经过OpenFlow交换机的数据流都必须由控制器来做出转发决定。在控制器中可以对这些流按照预先制定的规则进行检查,然后更改数据流的传输路径或者拒绝某些数据流来增强内网的安全性。 
(3)在SDN中,交换设备的数据转发层和控制层是分离的,因此网络协议和交换策略的升级只需要改动控制层。在openflow网络中实现了软硬件的分离以及底层硬件的虚拟化,从而提供了一个良好的发展平台。

时间: 2024-11-09 10:22:44

云计算,SDN,虚拟化三者关系的相关文章

云计算与虚拟化的关系:应用与支撑

云计算与虚拟化的关系:应用与支撑 虚拟化是云计算的重要支撑技术.是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.通过虚拟化,可以将应用程序和数据在不同层次以不同的方式展现给客户,为的使用者和开发者提供便利.的虚拟化过程为组织带来了灵活性,从而改善IT运维和减少成本支出. 是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似.这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统

三分钟读懂:云计算与虚拟化的关系

云计算,虚拟化,这是现代计算科技的两项技术,那么,云计算与虚拟化有什么关系呢?这是本文所要讨论的问题.云计算将计算当做是公共资源,而非具体的产品和技术.早在20世纪70年代,大型计算机就一直在同时运行多个操作系统实例,每个实例也彼此独立.不过直到当今,软硬件方面的进步才使得虚拟化技术有可能出现在基于行业标准的大众化x86服务器上.云计算的基础设施功能在数字经济时代愈发显现.传统行业逐步迁云带来的存量市场,以及互联网行业的深入发展快速裂变带来的增量市场.中亚硅谷智能云计算在如此大环境下,对云计算服

云计算与虚拟化

什么是云计算 云计算是一种基于互联网的计算方式,提供了灵活的计算能力 和高效的海量数据分析方法,企业不需要构建自己专用的数据中心 就可以在云平台上运行各种各样的业务系统. 云计算目前分为公有云和私有云.两者的区别只是提供的服务 的对象不同,个是企业内部使用,一个则是面向公众.目前企业中 的私有云都是通过虚拟化来实现的. 云计算的三大服务模式 #即: 软件即服务 平台即服务 基础设施即服务 虚拟化分类 虚拟化目前分为服务器虚拟化(以VMware为代表).桌面虚拟化 (思杰要比vmware的优势要大

云计算与虚拟化的区别0.0

1.传统数据中心面临的问题 在讲云计算和虚拟化之前,在没有云计算之前我们传统统数据中心面临的问题. 1.1.传统IDC托管 买台机器-放到IDC-安装系统-部署应用-买个域名-绑定上去-对外访问-ICP备案-ICP证(电子商务)-文网文(文化部备案)--公安局备案-接入备案(机房接入备案,备案现在机房管 ) 注销备案 -- 各种坑 北京不支持个人备案转公司备案. 域名转让(官方要求最多72小时)坑 72小时中有可能会出现 两方都给停了的风险. 一般招代理去做 1.2.IDC租用 IDC连续租三年

Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自[张鸿洋的博客] 很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论. 1. 概述 Handler . Looper .Message 这三者都与Android异步消息处理线程相关的概念.那么什么叫异步消息处理线程呢?异步

云计算与虚拟化快速发展下的产业断链

近几年来要IT行业什么东西最火,那莫过于虚拟化.云计算,但一个东西的快速发展,必然带来一系列的问题.而产业链断链是虚拟化与云计算最关键的一个问题,之所以断链的原因在于上层开发商的快速发展,下层系统集成商的响应速度过慢(这是说的过慢是指工程师知识面未能得到及时的填充)及开发商.培训厂商的系统培训与管理机制问题. 一.公司能力 自从虚拟化与云计算火了以后,所以的系统集成商都希望能够从这个大锅里面分到一羹汤,为此虚拟化公司如雨后春笋,增长速度之快让人愕然,他们自己本身公司有没有这个能力不管先做了再说.

云计算与虚拟化概述-你不得不知的云计算与虚拟化基础知识

本文主要灵感来自老男孩架构师班-赵班长实战讲解KVM,以及speedy Cloud云公司CEO董伟(董总)云计算与虚拟化讲座,综合整理而来.--为表示感谢--特整理此文分享给大家. 1.1云计算概述 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用程序,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互. 在云计算之前的模式和技术 1.IDC托管 2.IDC租用 3.虚拟主机

Android 异步消息处理机制Looper、Handler、Message三者关系

Looper,Handler,Message三者是我们常常用来再子线程跟新UI的,我们把Message发给Handler,然后,handler调用HandlerMessage()方法,我们在这个方法里面更新UI.那么Looper呢,又是什么,下面我来给大家介绍一下三者的关系. 首先要说明的是,每个线程最多只有一个Looper,在线程里面调用Looper.prepare()就是为这个线程设置了一个Looper,所以在子线程,我们使用这个三者前,一定要调用Looper.prepare()方法,而主线

javascript中函数调用,函数实例化,函数三者关系

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> <script type="text/javascript" ></script> <script type="text/javascript"> // a