虚拟化的逆袭:网络虚拟化

上传人:博****1 文档编号:508312875 上传时间:2023-07-14 格式:DOCX 页数:8 大小:291.37KB
返回 下载 相关 举报
虚拟化的逆袭:网络虚拟化_第1页
第1页 / 共8页
虚拟化的逆袭:网络虚拟化_第2页
第2页 / 共8页
虚拟化的逆袭:网络虚拟化_第3页
第3页 / 共8页
虚拟化的逆袭:网络虚拟化_第4页
第4页 / 共8页
虚拟化的逆袭:网络虚拟化_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《虚拟化的逆袭:网络虚拟化》由会员分享,可在线阅读,更多相关《虚拟化的逆袭:网络虚拟化(8页珍藏版)》请在金锄头文库上搜索。

1、虚拟化的逆袭:网络虚拟化之OpenFlow和SDN从网络虚拟化说起 云计算的发展,是以虚拟化技术为基础的。云计算服务商以按需分配为原则,为客户提供具有高可用性、 高扩展性的计算、存储和网络等IT资源。虚拟化技术将各种物理资源抽象为逻辑上的资源,隐藏了各种物 理上的限制,为在更细粒度上对其进行管理和应用提供了可能性。近些年,计算的虚拟化技术(主要指 x86 平台的虚拟化)取得了长足的发展;相比较而言,尽管存储和网络的虚拟化也得到了诸多发展,但是还有 很多问题亟需解决,在云计算环境中尤其如此。OpenFlow和SDN尽管不是专门为网络虚拟化而生,但是它们带来的标准化和灵活性却给网络虚拟化的发 展带

2、来无限可能。笔者希望通过本文对OpenFlow/SDN做一个初步介绍,以期帮助大家能够进一步深入了 解和学习OpenFlow/SDN。限于笔者能力有限,文中难免纰漏错误之处,欢迎批评和指正。起源与发展OpenFlow 起源于斯坦福大学的 Clean Slate 项目组 1 。 CleanSlate 项目的最终目的是要重新发明英特网, 旨在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构。在2006年,斯坦福的学生Martin Casado领导了一个关于网络安全与管理的项目Ethane2,该项目试图通过一个集中式的控制器,让网络管 理员可以方便地定义基于网络流的安全控制策略,并将这些安全

3、策略应用到各种网络设备中,从而实现对 整个网络通讯的安全控制。受此项目(及Ethane的前续项目Sane)启发,Martin和他的导师Nick McKeown 教授(时任Clean Slate项目的Faculty Director)发现,如果将Ethane的设计更一般化,将传统网络设备的 数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller) 以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可 能性,从而更容易推动网络的革新与发展。于是,他们便提出了 OpenFlow的概念

4、,并且Nick McKeown 等人于 2008 年在 ACM SIGCOMM 发表 了题为 OpenFlow: Enabling Innovation in Campus Networks4的论文, 首次详细地介绍了 OpenFlow的概念。该篇论文除了阐述OpenFlow的工作原理外,还列举了 OpenFlow几 大应用场景,包括:1)校园网络中对实验性通讯协议的支持(如其标题所示);2) 网络管理和访问控制; 3)网络隔离和VLAN; 4)基于WiFi的移动网络;5)非IP网络;6)基于网络包的处理。当然,目前关 于 OpenFlow 的研究已经远远超出了这些领域。基于OpenFlow为

5、网络带来的可编程的特性,Nick和他的团队(包括加州大学伯克利分校的Scott Shenker 教授)进一步提出了 SDN(Software Defined Network,目前国内多直译为 软件定义网络)的概念其实, SDN的概念据说最早是由KateGreene于2009年在TechnologyReview网站上评选年度十大前沿技术时提出 5。如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操 作系统(Network OS)的概念一这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层 应用提供了统一的管理视图和编程接口。这样,基于网络操作系统

6、这个平台,用户可以开发各种应用程序, 通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。 关于SDN的概念和原理,可以参考开放网络基金会(Open NetworkingFoundation)于今年4月份发表的SDN 白皮书 Software Defined Networking:The New Norm forNetworks 6 。从上面的描述中,可以看出OpenFlow/SDN的原理其实并不复杂,从严格意义上讲也很难算是具有革命性 的创新。然而OpenFlow/SDN却引来了业界越来越多的关注,成为近年来名副其实的热门技术。目前,包括 HP 、I

7、BM、Cisco 、NEC 以及国内的华为和中兴等传统网络设备制造商都已纷纷加入到 OpenFlow 的阵 营,同时有一些支持OpenFlow的网络硬件设备已经面世。2011年,开放网络基金会(Open Networking Foundation)在Nick等人的推动下成立,专门负责OpenFlow标准和规范的维护和发展;同年,第一届开 放网络峰会(OpenNetworking Summit)召开,为OpenFlow和SDN在学术界和工业界都做了很好的介绍和 推广。今年年初召开的第二届峰会上,来自Google的Urs Holzle在以OpenFlowGoogle7为题的Keynote 演讲中宣

8、布Google已经在其全球各地的数据中心骨干网络中大规模地使用OpenFlow/SDN,从而证明了 OpenFlow不再仅仅是停留在学术界的一个研究模型,而是已经完全具备了可以在产品环境中应用的技术成 熟度。最近,Facebook也宣布其数据中心中使用了 OpenFlow/SDN的技术。OpenFlow 标准和规范QF13.0 (cancu):Flenb liable自2010年初发布第一个版本(V1.0)以来,OpenFlow规范已经经历了 1.1、1.2以及最近刚发布的1.3等版 本。同时,今年年初OpenFlow管理和配置协议也发布了第一个版本(OF-CONFIG 1.0 & 1.1)。

9、下图8列出 了 OF和OF-CONFIG规范各个版本的发展历程及变化,从图中可以看到目前使用和支持最多的仍然是1.0 和 1.1 版本。OF-TeEt 1.0 (07/2012)!Int-erspierabililvlt pracessei,.res I suites(03f?010-sVael widel/ deed versioruMAt. iP-i, &i n gle Ublfe. WPL3 bajs/tiinfleESj rmsltiple tables j 3训1【R聘rOF-Ganfif 1A 14pa B supportIPrt.pr-slonBw it cor.figurati

10、on! 口回苗卩or託I.error h2indliRjB tunnel n-nFifHttp 场在这里,我们将详细介绍一下OpenFlow Switch的最新规范(即OF-1.3) 9。下图选自Nick等人的论文 OpenFlow:EnablingInnovation in Campus Networks 4 。这张图常被用来说明 OpenFlow 的原理和基本架构。 其实,这张图还很好地表明了 OpenFlow Switch规范所定义的范围一从图上可以看出,OpenFlow Switch规 范主要定义了 Switch的功能模块以及其与Controller之间的通信信道等方面。Control

11、lerFlow TableOpen RowSwitrhOpenFtort Prot&coJSSLww SecureChannelOF 规范主要分为如下四大部分,1. OpenFlow 的端口 (Port)OpenFlow 规范将 Switch 上的端口分为 3 种类别:a)物理端口,即设备上物理可见的端口;b)逻辑端口,在物理端口基础上由Switch设备抽象出来的逻辑端口,如为tunnel或者聚合等功能而实现的 逻辑端口;c)OpenFlow 定义的端口。OpenFlow 目前总共定义了 ALL、CONTROLLER、TABLE、IN_PORT、ANY、 LOCAL、NORMAL和FLOOD等

12、8种端口,其中后3种为非必需的端口,只在混合型的OpenFlow Switch(OpenFlow-hybrid Switch,即同时支持传统网络协议栈和OpenFlow协议的Switch设备,相对于 OpenFlow-only Switch 而言)中存在。2. OpenFlow的FlowTable (国内有直译为流表的)OpenFlow通过用户定义的或者预设的规则来匹配和处理网络包。一条OpenFlow的规则由匹配域(Match Fields)、优先级(Priority)、处理指令(Instructions)和统计数据(如Counters)等字段组成,如下图所 示。rif;hts I Prin

13、rily CVmiHrrs在一条规则中,可以根据网络包在L2、L3或者L4等网络报文头的任意字段进行匹配,比如以太网帧的源 MAC地址,IP包的协议类型和IP地址,或者TCP/UDP的端口号等。目前OpenFlow的规范中还规定了 Switch 设备厂商可以选择性地支持通配符进行匹配。据说, OpenFlow 在未来还计划支持对整个数据包的任 意字段进行匹配。所有OpenFlow的规则都被组织在不同的FlowTable中,在同一个FlowTable中按规则的优先级进行先后匹 配。一个OpenFlow的Switch可以包含一个或者多个FlowTable,从0依次编号排列。OpenFlow规范中定

14、 义了流水线式的处理流程,如下图所示。当数据包进入Switch后,必须从FlowTable 0开始依次匹配; FlowTable可以按次序从小到大越级跳转,但不能从某一 FlowTable向前跳转至编号更小的FlowTable。当 数据包成功匹配一条规则后,将首先更新该规则对应的统计数据(如成功匹配数据包总数目和总字节数等), 然后根据规则中的指令进行相应操作-比如跳转至后续某一 FlowTable继续处理,修改或者立即执行该数据 包对应的Action Set等。当数据包已经处于最后一个FlowTable时,其对应的Action Set中的所有Action 将被执行,包括转发至某一端口,修改数

15、据包某一字段,丢弃数据包等o OpenFlow规范中对目前所支持的 Instructions 和 Actions 进行了完整详细的说明和定义。姑 adun amryC|pdBte amrAers Ekbcuis nSPUCLant:-picwfrTuct me IwidbPacket 1n Sinri tabte 口EKeckils actionDrop packjelhttp:/bbB另外,OpenFlow规范中还定义了很多其他功能和行为,比如OpenFlow对于QoS的支持(即MeterTable 和 Meter Bands 的定义等),对于 GroupTable 的定义,以及规则的超时处

16、理等。3. OpenFlow 的通信通道这一节中,OpenFlow规范定义了一个OpenFlow Switch如何与Controller建立连接、通讯以及相关消息类 型等。OpenFlow规范中定义了三种消息类型:a) Controller/Switch 消息,是指由 Controller 发起 Switch 接收并处理的消息,主要包括 FeaturesConfiguration、 Modify-State、Read-State、Packet-out、Barrier 和 Role-Request 等消息。这些消息主要由 Controller 用来对 Switch 进行状态查询和修改配置等操作。b) 异步(Asynchronous)消息,是由Swi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号