《软件定义网络》由会员分享,可在线阅读,更多相关《软件定义网络(10页珍藏版)》请在金锄头文库上搜索。
1、软件定义网络解决传统网络问题的探究摘要SDN是近年来继云计算后,学术界和产业界最为关注的网络技术。首先介绍了传统网络存在的问题;然后介绍了SDN的产生背景、体系架构以及关键技术;最后分析了SDN对传统网络问题的解决。关键词:软件定义网络;OpenFlow;开放网络第一章引言软件定义网络SoftwareDefinedNetwork,SDN,是由美国斯坦福大学CLeanState课题研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面别离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。传统网络的世界是水平标准和开放的,每个网元可以和周
2、边网元进行完美互联;电脑的世界则不仅水平标准和开放,同时垂直也是标准和开放的,从下到上有硬件、驱动、操作系统、编程平台、应用软件等等,编程者可以很容易地创造各种应用。和电脑比照,在垂直方向,从某个角度来说,网络是“相对封闭”和没有“框架”的,在垂直方向创造应用、部署业务是相对困难的。但SDN将在整个网络不仅仅是网元的垂直方向,让网络开放、标准化、可编程,从而让人们更容易、更有效地使用网络资源。所以,SDN不能丢掉网络水平方向标准、易互通、节点智能的优势。第二章传统网络存在的问题目前,随着互联网爆炸式地增长,除了规模和发展远超之前所有曾出现的数据网络,业务的快速创新也很令人眼花缭乱。近年来,随着
3、各种实时业务如视频语音、云数据中心和移动业务的迅速发展,人们突然发现,传统网络已经无法满足当前的需求:1、缺失的体验保证到目前为止,绝大多数IP网络都是基于无连接的,只有基于大宽带的粗放带宽保障措施,质量保证和监控基本处于放弃状态。其后果就是,业务只有连通,而无体验的保证,从而导致业务质量受损。2、低效的业务部署由于网络和业务割裂,目前大部分网络的配置是通过命令行或者网管、由管理员手工配置的,本身是一个静态的网络。当遇到需要网络及时做出调整的动态业务时,就显得非常低效,甚至无法实施。3、缓慢的业务适应网络无法满足业务的需求,需求持续数年的特性和架构调整、引入新设备,才能满足新业务的需求。例如:
4、云数据中心的虚拟机和虚拟网络运营业务,传统二层的VLAN机制无法满足扩展性,对交换机设备提出了新承载协议的要求,此时物理网络设备更加无法及时适应,靠软件实现的虚拟Switch、通过VxLAN或NvGRE的Overlay的方式,才绕过了物理交换机对的限制。多年来,人们确实想出了一些解决问题的方法,但是常常是解决了一个问题,另一个问题又冒出来了。因为大家忽略了这些问题是传统网络的基本属性决定的,以IP为代表以太网也在其列的这种业务无需知道网络、网络也无需知道业务的解耦模式,造就了互联网的快速业务创新,同时也造成了业务和网络的天然割裂,不从网络基础架构入手,问题很难得到根本的解决。第三章SDNfr系
5、结构3.1 SDN的产生背景SDN是起源于美国斯坦福大学实验室的研究项目的技术,并不是在其产生时就具有该名称。2006年斯坦福的学生CasadoM和他的导师McKeownN教授受其研究项目Ethane1启发,提出了OpenFlow的概念。该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通信的安全控制。在随后的2008年,McKeownN等人在ACMSIGCOMM发表了题为OpenFlow:enablinginnovationincampusnetworks2的论文。文中首次详细地介绍OpenFlow的
6、概念,即将传统网络设备的数据平面和控制平面两个功能模块相别离,通过集中式的控制器controller以标准化的接口对各种网络设备进行管理和配置。这种网络架构为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。在此基础上,基于OpenFlow为网络带来的可编程特性,McKeown教授进一步提出了SDN最早的概念3。由此可见,SDN的产生与OpenFlow协议密切相关。现在业界普遍将基于OpenFlow协议的SDN视为狭义SDN。随着SDN的发展,越来越多的厂商加入SDN的研究行列。由于不同行业、不同应用对SDN有着各自不同的需求,因此在谈论SDN时通常也有着不同的理解。
7、在网络科研领域,利用SDN快速地部署和试验创新的网络架构与通信协议;大型互联网公司希望SDN提供掌握网络深层信息的可编程接口,以优化和提升业务体验;云服务提供商希望SDN提供网络虚拟化和自动配置,以适应其扩展性和多租户需求;ISP希望利用SDN简化网络管理以及实现快速灵活的业务提供;企业网用户希望SDN实现私有云的自动配置和降低设备采购成本。基于这些需求,在思科等厂商的推动下,IETF、IEEE等标准组织去除了SDN与OpenFlow的必然联系,保留了可编程特性,从而扩展出SDN的广义概念,即泛指基于开放接口实现软件可编程的各种基础网络架构,进而将具备控制转发别离、逻辑集中控制、开放API3个
8、基本特征的网络纳入SDN的广义概念下,目前这一概念的发展由IETF主推。3.2 SDN的网络架构及关键技术3.2.1 SDN的网络架构图1是业界广泛认同的SDN模型架构。该模型架构分为3层,其中基础设施层主要由支持OpenFlow协议的SDN交换机组成。控制层主要包含OpenFlow控制器及网络操作系统networkoperationsystem,NOS。控制器是一个平台,该平台向下可以直接与使用OpenFlow协议的交换机以下简称SDN交换机进行会话;向上,为应用层软件提供开放接口,用于应用程序检测网络状态、下发控制策略。位于顶层的应用层由众多应用软件构成,这些软件能够根据控制器提供的网络信
9、息执行特定控制算法,并将结果通过控制器转化为流量控制命令,下发到基础设施层的实际设备中。根据上述论述,OpenFlow协议、网络虚拟化技术和网络操作系统是SDN区别于传统网络架构的关键技术。应用乂一一网络眼务控制发;,网络掾作系都、一整DM控制软件一M格设备网络设备基础设施层一网络谡第一一网络设备图1SDN模型架构3.2.2 OpenFlow协议从SDN的起源可看出,OpenFlow协议是SDN实现控制与转发别离的基础。业界为了推动SDN发展并统一OpenFlow标准,组建了标准化组织开放网络基金会OpenNetworkingFundation,ONF四。目前,ONF已成为SDN标准制定的重要
10、推动力量,其愿景就是使基于OpenFlow协议的SDN成为网络新标准。自2009年10月发布OpenFlow标准第一个版本以来,ONF先后发布了等版本。OpenFlow协议发表的详细情况如表1所示。表1OpenFlow协议发表情况发布时间版本情况2009年10月OpenFlow发布A个可商用的版本2011年2月OpenFlow1.1增加支持多交换表、群组、虚拟端口以及对MPLS、VLAN、QinQ等的支持2011年3月ONF成立。截至2013年3月,已成立工作组7个,讨论组4个,成员单位94家2011年10月ONF发布OpenFlow1.2,增加对IPv6报头各字段的识别功能2012年1月基于
11、OpenFlow1.2版的of-config1.0,te义OpenFlow数据路径所需基本功能2012年6月OpenFlow1.3.0版,增加重构能力协商、IPv6扩展头支持等2012年6月2012年9月OpenFlow标准主要由端口、流表、通信信道和数据结构4部分组成。由于篇幅原因,本文不对该标准做展开论述,主要介绍OpenFlow的运行原理。图2反映了OpenFlow对数据分组的处理机制。一个OpenFlow交换机包括一个或者多个流表flowtable和一个组表grouptable。流表中的每个流条目包括如下3个部分。匹配match:根据数据分组的输入端口、报头字段以及前一个流表传递的信息
12、,匹配已有流条目。计数counter:对匹配成功的分组进行计数操作instruction:包括输出分组到端口、封装后送往控制器、丢弃等操作。SDN交换机接收到数据分组后,首先在本地的流表上查找是否存在匹配流条目。数据分组从第一个流表开始匹配,可能会经历多个流表,这叫做流水线处理pipelineprocessing。流水线处理的好处是允许数据分组被发送到接下来的流表中做进一步处理或者元数据信息在表中流动。如果某个数据分组成功匹配了流表中某个流条目,则更新这个流条目的“计数”,同时执行这个流条目中的“操作”;如果没有,则将该数据流的第一条报文或报文摘要转发至控制器,由控制器决定转发端口。Dp*nF
13、|DV史黑机人士通道图2OpenFlow运行原理3.2.3 FlowVisorFlowVisor是建立在OpenFlow之上的网络虚拟化平台5,引入FlowVisor后OpenFlow网络架构如图3所示。对于控制器而言,FlowVisor看起来就是普通的交换机;从OpenFlow交换机的角度来看,FlowVisor就是一个控制器。类比电脑的虚拟化,FlowVisor就是位于硬件结构元件和软件之间的网络虚拟层。它将物理网络分成多个逻辑网络,从而允许多个控制器同时控制一台OpenFlow交换机,但是每个控制器仅仅可以控制经过这个OpenFlow交换机的某一个虚拟网络即slice。因此通过FlowV
14、isor建立的试验平台可以在不影响流的转发速度的情况下,允许多个网络试验在不同的虚拟网络上同时进行。网络切片是FlowVisor管理功能实现的要素,它是由一组文本配置文件定义的。文本配置文件包含控制各种网络活动的规则,例如允许、只读和拒绝,其范围包括流量的来源IP地址、端口号或者数据分组表头信息。通过网络切片,FlowVisor为管理员提供了广泛的定义规则来管理网络。由于FlowVisor是建立在OpenFlow控制器基础上的,因此,它与一般的商用交换机是兼容的。目前FlowVisor尚处于实验阶段,主要部署在校园网如斯坦福大学。OpenFlowOpenFlow交换机1交换机2Open Flo
15、w交换机3OpenFlow交换机4OpenFlow交换机5图3存在FlowVisor的OpenFlow网络架构3.2.4 NOS在SDN范畴中,NOS特指运行在控制器上的网络控制平台。控制器的控制功能都是通过运行NOS实现的。NOS就像OpenFlow网络的操作系统,它通过对交换机操作来管理流量,因此,交换机也需要支持相应的管理功能。图4为NOS在网络中的位置示意。为网络管理提供从整个网络的角度来看,网络操作系统应该是抽象网络中的各种资源,易用的接口。基于它,可以建立网络管理和控制的应用。因此,NOS本身并不完成对网络的管理任务,而是通过在其上运行的各种应用”实现具体的管理任务。管理者和开发者可以专注到这些应用的开发上,而无需花费时间在对底层细节的分析上。为了实现这一目的,NOS需要提供尽可能通用的接口,满足各种不同的管理需求。当流量经过交换机时,如果发现没有对应的匹配表项,则转发到运行NOS的控制器并触发判定机制,判定该流量属于哪个应用。NOS上运行的应用软件通过流量信息来