《SDN网络架构技术及其局域网的方案设计》14000字(论文)_第1页
《SDN网络架构技术及其局域网的方案设计》14000字(论文)_第2页
《SDN网络架构技术及其局域网的方案设计》14000字(论文)_第3页
《SDN网络架构技术及其局域网的方案设计》14000字(论文)_第4页
《SDN网络架构技术及其局域网的方案设计》14000字(论文)_第5页
已阅读5页,还剩17页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SDN网络架构技术及其局域网的方案设计目录TOC\o"1-3"\h\u107061绪论 2105081.1选题背景及意义 242751.2研究现状 2211641.3本文研究内容 5264022传统局域网现状分析 628282.1传统网络的发展 6271642.2传统网络部署管理困难 6246952.3设备不可编程性 799713SDN网络架构研究 8272053.1SDN架构 8250053.2SDN的关键技术 9261853.2.1数据平面关键技术 9192443.2.2控制平面关键技术 10273443.3OpenFlow 11280813.3.1OpenFlow概述 1165493.3.2OpenFlow架构 12108853.3.3OpenFlow交换机 13254263.4SDN控制器 13147874SDN架构局域网设计方案及实施 15104534.1SDN局域网设计 15260114.2SDN局域网实施 15117174.2.1网络拓扑的搭建 15175424.2.2启动Ryu控制器 17129164.2.3进行OpenFlow流表分析 1746765结论 20300755.1总结 2014315.2展望 208940参考文献 221绪论1.1选题背景及意义传统网络是分布式架构,每个设备都有自己独立的控制平面和数据平面,而且传统网络通常采用网管系统来作它的管理平面,控制平面和数据平面又分别在每个设备上工作运行,因为在大型的网络系统中流量要进行调度将会非常复杂,因为调度的流量路径必须通过在网元上设置流量策略实现,这样就导致了它的选择路径并不灵活。传统网络部署困难主要因为其设备在来自不同厂商且它们的配置方式各不相同。传统网络的控制平面不是开放式的,当用户需要使用一些新的功能,它的部署时间太长。在这样的环境下SDN也就是软件定义网络便以运用而生了,软件定义网络是一个数据与控制平面分离的新型网络架构,它通过一个核心控制器来控制整个网络,当需要对设备进行配置时,不需要像传统网络那样一个一个进行配置操作,只要对控制器配置便可;而且还可以让一些特定人员通过SDN的程序快速分配、管理这些网络资源,也可以自行编写程序[1]。本文主要对软件定义网络的体系以及OpenFlow协议的工作原理,进行研究;基于Ubuntu、Ryu控制器及Mininet虚拟仿真平台,构建仿真环境;创建局域网,通过设置流表来实现对网络的管理。此网络架构集中式控制、可编程、部署灵活,可以解决传统网络中网络设备配置复杂,管理难度大的不足。1.2研究现状SDN技术是起源于美国斯坦福大学实验室的一个项目的新技术。二零零六年斯坦福的一位学生CasadoM和其老师McKeowNN教授在他们一个名为Ethane的研究项目中获得灵感,并规定了OpenFlow的概念。该项目的主要内容是使用一种总控制器,让负责网络安全管理的工作人员可以简便的设定和网络流的网络安全管理相关的策略,并且可以将这种安全措施运用于各式各样的网络安全系统中,以便完成对整个网络通讯系统的安全控制[2]。在之后的二零零八年,McKeowNN等人又在ACMSIGCOMM上刊登了题为OpenFlow:enablinginnovationincampusnetworks的文章。本文将首先详尽地阐述OpenFlow的定义,将传统网络装置的数据平面与控制平面二个功能模块相互隔离,并采用集中式的管理控制台(controller)以标准化的接口对多个网络设备资源进行统一管理与分配,这个网络结构将给网络资源的设计、控制与调度带来很大的便利,从而更容易推动网络的创新和进展[3]。而在此基础上,针对OpenFlow及其为网络所提供的可程序设计特性,McKeown教授又更进一步给出了对SDN最早的定义。但是,SDN的产生过程与OpenFlow协议之间还是有很大的关系的。所以,SDN的产生和OpenFlow协议是有很强的关联性的。现在,业内一般都将采用了OpenFlow协议的SDN看作狭义SDN,业内也逐渐将它默认的为SDN[4]。在SDN框架下,交换器功能简化并逐渐的趋向同一性能,也降低它的市场收入。因此,对一部分的传统机械设备商来说,SDN很大程度的冲击了它们目前的市场优势地位。同时,在SDN的影响下网络虚拟化也变成了趋势,而传统设备商将无从抵制或规避[5]。所以它们几乎都采用二种方式进行应对,一方面,通过收购大量处于发展期的SDN公司、在现有的设备基础之上进行与SDN相关的升级等一系列的手段并且时时注意SDN的发展动态;另一方面,公司主动提出了自身的SDN策略,力争用已有优势把握SDN技术发展的主导权,使其纳入已有网络结构当中。这也正是思科公司要积极推进SDN技术和OpenFlow解藕合的最深层因素。由于网络的高速发展,互联网内容的提供商所带来的应用也日益丰富,使得在其背后承载这些服务的数量与规模也开始呈现指数型上升。当前,谷歌、微软、腾讯等网络企业的数据中心数量均超过了上万套物理服务器的量级。在此趋势下,中国传统数据中心网络结构己经完全失去了与SDN争夺市场发展的实力。所以在数据中心内,利用SDN实现了高速延展性,并努力去增强在网络资源的技术基础上的应用能力,支持虚拟化、多服务、多租户形成了新的趋势。国际上,自二零一零年出发,google公司就在B4的部署上引入了SDN技术框架和OpenFlow南向协议交换机,与此同时一方面支撑基本的路由协议一方面也支撑了动态流量工程的功能。谷歌公司于二零一四年四月表示将同时开发采用SDN和NFV信息技术的Andromeda虚拟化网络平台,用以创造、建立和控制将虚拟网络和数据包在互联网上处理的节业务流程点。二零一四年六月,Facebook发布了最新的开源网路交互技术,包含典型的交换器Wedge和一个Linux的网路操作系统FBOSS。在国内,腾讯集团也根据实际运行中出现的情况,在其广域网中全面部署了采用SDN技术的广域网流量调度方法。在其解决对策中,分布式系统被集中式控制系统慢慢蚕食。集中控制器采用了全局路由算法、全局路由设备统一设计、对互联网资源有效调节等,并实现链路的自主调节,有效节约了带宽租用费用。而百度和阿里等也均在自身数据中心内,不约而同的使用了SDN技术。据CCWResearch(计世信息)的有关调查结果研究报告表明,目前中国SDN控制器和有关的应用解决方案以及SDN技术应用市场的发展体量均已超过十三亿,其中年增长率从二零一七年开始,按照百分之三十四稳定上升。从中国当前的SDN技术在世界市场竞争格局来看,对SDN概念比较敏锐的公司主要有新华三、华为集团、中兴、诺基亚贝尔、思科五家公司,主导着中国国内SDN场的百分之八十点一,但新华三公司在SDN市场解决对策提供商中,仍展现了强大的发展势头。除数据中心和广域网的应用之外,蓝盾网络安全有限公司研发了一个以SDN为基础的防护系统,它有效的解决了云计算场景中产生的资源安全问题。它的出现不仅仅是展现SDN的可行性更带动了各种行业的发展[6]。在传统网络中对于接口的管理主要是通过某些命令行以及部分网络协议,或者通过一些脚本去完成对设备的管理或者检测,这些都是一些比较低级的网络编程方式。然而现在网络流量的暴增以及业务要求的不断提高,就需要使用到更高级的编程方式,例如软件编程,这种方式的编程在将网络功能抽象化之后是可以面向整个网络编程的,不需要在对设备进行一一编程,早在SDN问世之前,整个学术界都在密切关注网络的可编程性且对其进行了很程度研究,其中最符合当时学术界主要思想的要数主动网络和4D架构了。主动网络的中心思想是从网络的节点上开放可编程的接口,让网络节点基于用户的数据对用户的需求来运行计算,而4D就是重新将网络平面划分,在原来的网络平面上分为了四个平面即数据平面、发现平面、扩展平面、决策平面。学术界当时的研究为后来SDN的可编程提供了参考。将新兴的SDN信息技术运用到智能城市建设当中,将可以有效提高中国城市信息化建设水平,并提供了各行各业更多的优势和便捷。SDN控制平面和数据平面分离的特性,能够让一些硬件设备通用化、简单化,生产成本也自然大幅的下降;而由于SDN控制逻辑信息集成的特性,使SDN在全域布网技术方面更具备优越性;由于SDN控制器具备网络系统全域拓扑的特性,可以进行网络系统端到端的全面部署工作、维护、测试等;而且SDN控制器还可以集中控制各种层级的网络系统,从而进行了网络系统的各种多域的协调和最佳优化;而由于SDN则具备开放网络的特性,使网络系统不仅是一个基础建设,更作为一个公共服务,进而扩大了SDN的使用范围。目前移动通讯技术发展迅速,我国的云计算技术和SDN以及NFV科技也取得了不小的成果,但是根据与之有关的先进科技进行对比就能够得知,中国现阶段较为领先以及受到人们普遍青睐的科技便是5G移动通信科技,因为这种科技能够有效地联系SDN以及云计算能力。采用这种形式的网络模块设计,其所具有的最大优点便是能够让网络管理变得更为快捷,同时也能够让核心网络设计变得更为简单。5G的云架构能够分为接入云、集中式本地云以及分布式局域性云,以至于分布式局域云需要利用接入云中的所有数据,设置一个结构健全的数据中心,然后再利用这种数据中心来针对顾客的移动终端来实现分布式管理,使5G移动通信技术能够获得更加广阔的应用[7]。SDN主要应用于自治环境,可以使用集中编程控制法实现各个层次的网络系统管理工作,并且在不同网络系统层次之间还可以设定控制器,从而优化了整个网络系统管理效率。而现如今,SDN已经在IP网、无线网络智能管理系统、数据中心网、光联网集成管理工作等方面都获得了不错的应用成效,由于传统互联网技术中针对云计算技术所提供的各种需求都可以片面的实现一些,而这也为我们SDN应用领域创造了生存空间,在大规模的互联网数据中心可以使用二层网性质实现流量监测,同样,对虚拟化的设备性能问题也可得以高效处理,从而大幅度提高了虚拟机器的信息传输速率。SDN广泛应用于无线网络环境,一般采用OpenFlow技术进行网络系统有序化管理工作,这样不但会节约电力资源,而且还可以增加网络系统安全性,从而实现对网络流量的高效配置。SDN尽管可以克服传统网络技术的缺点,但它在实践运用的过程中仍面临着一些问题,常见问题主要有:控制器接口缺乏标准、计算任务较为繁琐、网络控制稳定性没有保证、网络系统稳定性低下、市场收益分配不均影响了SDN研究与应用等[8]。根据当前的现状,可以看到SDN的很多优势,比如灵活快捷的管理,高效的利用率以及可编程性给用户带来的方便,可以解决传统网络的许多问题,比如传统网络部署困难的问题以及不可编程的问题。1.3本文研究内容本文主要对SDN的集中式控制和可编程性俩个方面进行研究。本文通过在模拟平台搭建局域网拓扑结构,使用python编程搭建来实现。通过仿真测试数据来对设计方法和思想进行验证,仿真测试结果表明,此网络架构集中式控制、可编程、部署灵活,可以解决传统网络中网络设备配置复杂,管理难度大的不足。本文将从软件定义网络的集中性控制和可编程性等基本的理论及技术等几个方面,进一步分析了SDN的体系构成、处理过程和工作模式等,并通过对流表规则进行的深入探究与分析,设计并且实现了SDN的集中控制和可编程的功能,进一步验证了SDN的集中式控制与可编程性的有效性和可行性。本文大体结构主要分为五部分:第一部分:绪论。主要介绍了SDN的研究背景和研究现状,以及本文研究方向和框架。第二部分:传统网络的研究现状。重点研究了传统网络的有关概念和理论基础。第三部分:SDN网络架构的分析。主要研究SDN的数据平面、控制平面、控制器和OpenFlow的相关概念以及关键技术;介绍了SDN的控制器。第四部分:SDN架构局域网设计方案及实施。主要实现了在Mininet环境下搭建SDN局域网,测试了测试了控制器的流表规则转发,并验证了SDN的集中控制性及可编程性的有效性。第五部分:结论。总结了论文研究工作,提出了后续研究工作。

2传统局域网现状分析2.1传统网络的发展传统网络的发展可以分为三个大的阶段,第一个阶段是在1969年美国的国防部创建出了世界上第一个交换网络也就是分组交换网ARPSNET,因为当时的技术并不成熟所以它也只能是一个特别单一的分组交换网,其所有连接线的连接方式都是用最简单的方式用就近原则来将它们连起来,为了解决这个问题,ARPA做出了一个大胆的尝试,把多种网络相互连接起来,这就促使了后来的互联网诞生,也就是现在的因特网相似。随着二十世纪八十年代TCP/IP网络控制协议正式代替NCP,自此1983年就被人们称为因特网的诞辰同时也得到了大多数人的认可,在随后的一年成为了大多数计算机用户认定的标准,此阶段是单个网络向互联网的方向发展过程;第二个阶段是三级结构网络的出现,分为主干网、区域网、和校园网,美国的政府机构意识到互联网的发展不可能停在当前的规模将来一定会扩大其应用的规模,绝不会单单仅限于大学和研究机构的使用,随后世界上越来越多的公司都加入进来后,网络的通讯量猛然暴涨,于是因特网的主干网便在这样的背景下被美国政府交给当时的一些私人公司进行运营。当时并没有网络协这个概念,所以不同计算机网络在传输信息时极易出现冲突,导致其规模很小。第三个阶段,发生在1986年NSF在全国按照区域的划分建立起了计算机广域网,并将每个区域的网络和大型计算机连接。也就是多层ISP结构的互联,于是ISP这个名词便开始进入大众视野。从传统网络发展的三个阶段不难看出它存在的一些问题,主要问题有:传统网络部署管理困难;流量控制很难真正实现;设备不可编程性,本文通过SDN架构着重解决传统网络部署困难以及设备不可编程性这俩个问题,下面重点对这俩个问题进行介绍。2.2传统网络部署管理困难传统网络的部署问题主要还是要从它的网络设备说起,不同厂商的网络设备要通过不同的方式进行部署,这就使得对这些网络进行统一配置是很难的,不同厂商的网络设备混在一起使用导致了网络的部署困难。当下的网络管理大多数还是通过搭建在服务器上的网管软件来管理,例如一些小型单位使用的就是网管软件,通常把它部署在服务器中,网管软件生成网络拓扑图,就可以清楚哪一台PC在什么位置,出现故障能够进行报警。主流的SNMP(网络管理协议),则更多侧重于监控过程,而不是分发与部署。也就是说,如果网络当中出现了部分故障,就算通过网管报警,也还是需要人为修理。如今的网络设备种类可谓是鱼龙混杂,要对这些网络设备进行统一的配置绝非易事。网络设备之间,基本上都是使用IGRP;VTP;RIP交换协议来进行信息的交互的。协议的逻辑基础:邻居建立,消息共享,以及选择路径。大多数网络都使用的是经典的分布式网络结构:在装置内与设备间彼此交换路由信息,而后基于这个消息形成拓扑信息库,并按照某些选路的算法来设计实现路由的计算,其实就是接力的一种交流方式。每个设备都有独立的CPU,独立运算。协议是网络设备的语言,相当于人类沟通的语言。那么如果网络发生动荡,设备又是如何进行交互的呢?网络设备以接力的方式来不停的传递给下一跳的邻居网络设备信息,然后处理故障的链路,但这个过程中就有一个很大的问题出现,可能出现毫无作用的信息。现在的虚拟化,以及人工智能等网络科技的发展,也使得网络信息指数式增长,这会导致底层网络设备的数量不断增加,压力愈来愈大,路由收敛的时间越来越长,效率越来越低。2.3设备不可编程性当前的网络设备大多数都是以传统互联网协议为参考而设计的,传统网络的不开放导致了用户无法对其进行功能扩展,因此用户很难通过在已有互联网设施上部署最新的协议来按需求定制业务,而只能耗费巨资地从互联网设施厂商处订购个性化的定制业务。传统网络设施在当前由大批的异构网络设施所构成,包含了路由器,交换机以及各种专用中间件[9]。因此无法完全按照实际使用要求,对转发设施的策略进行定制,而SDN为用户提供了网络产品的二次开发,也就是通过编程来实现用户的需求。

3SDN网络架构研究3.1SDN架构SDN也叫软件定义网络,它是一种新型的网络架构,它主要具备三个特点:拥有集中式的逻辑控制平面,虚拟抽象化的数据平面,以及快速便捷的可编程性。数据平面与控制平面分离,且它们之间有统一的开放接口,能让网络变得灵活多用。它的出现有效的弥补了传统网络的部署困难和不可编程性。SDN的总体结构主要包括三种平面即数据平面、控制平面和应用平面,具体如图3-1所显示。其中数据平面是由一些网路元素构成,而每一网路元件中又可以包括一些个户DataPath。SDNdataPath主要承担对数据的处理和转发工作[10]。而控制平面则是一种逻辑集成的实体,首先,控制层会将从运行层中用户所提出的要求信息提供给SDN数据信息路径。然后,控制器层又会将从数据层收集的各种数据消息和动作信息提供给SDN应用层。控制台同时发挥着大脑和桥梁的功能。而应用平面则是由若干个户SDN应用领域组成,SDN应用领域中包括了由一组SDN应用逻辑门和若干个户NBI驱动程序所构成。应用层面对着开发者和应用领域,而SDN软件则是利用南北向接口(NBI)把要求的操作传输给控制层[11]。图3-1SDN体系架构SDN技术是现代互联网领域当中最具潜力和最火爆的技术之一。因为SDN所具有的巨大的潜力,学术界研究了数据分层和控制层的技术,进而让SDN畅通无阻的运用于各个企业网络以及数据中心等领域。传统计算机网络的层次结构也是现代网络实现伟大成功的关键。不过由于互联网规模的扩大,传统封闭式的计算机网络设施上内含了过多的重复协议,加大了运营商定制优化网络系统的困难,技术人员也没法在现实环境中大量部署新协议。而且随着网络流量的迅勐增加,用户对流量管理的要求也不断增加,各类新业务不断产生,大大提高了网络系统运维成本费用。而传统IT结构中的网络系统在按照实际业务需要重新部署上线之后,因为传统计算机网络设施的固件都是由网络设备厂商锁定并管理的,所以一旦实际业务需要进行改变,那么改变与其对应的计算机网络设施上的部署就是一件工作量很大的事。在网络技术飞速发展的业务环境下,网络系统的稳定性和灵敏性还无法满足当下业务需求,它对操作的可变性和灵敏性的需求会更大一些。所以,SDN期望把网络控制和物理网络拓扑完全分开,以便打破硬件对网络结构的束缚。SDN所做的事其实就是把所有网路设施上的权力分出来,并由集中式的控制器集中管理,而不必依靠底层网络设施,从而完全屏蔽了下层网路设施的差异。而由于控制权是完全开放式的,使用者也能够自由定制所有想要达到的网络路径和数据传输规范政策,因此更为灵活和智能。在经过了SDN改造之后,就并不需要对网路中各个结点的网络路由器不断加以设置,因为网路中的网络设备本来是可以完全自动化连接的,所以只需在应用时定好简易的网路规范就可。所以,一旦网络路由器自身内部的技术已经不能适应使用者的要求时,可采用编程的方法对其加以调整,以达到更良好的数据交换特性。如此一来,网络设备使用者便能够像升级、重新安装等应用软件那样对网络结构做出调整,从而满足了对整体的网络结构做出调整、扩展或提升的要求,而最底层的交换机、路由器等硬件设施也就无须更新。在节约了大量成本的同时,整体网络结构的换代期也将大大缩短。综上所述,SDN系统有着令传统互联网技术望尘莫及的发展潜力和对当前大环境的适应性等优势。大数据的高度解耦合更新和设备更新换代相互独立,因而促进了新一代业务的迅速发展;其次网路抽象技术简化了网路建模过程,使运营方从复杂的网络管理中释放出来,使SDN能够快速便捷地管理工作整个网路。控制器结构的逻辑集中化使得用户以及运营方等都得以利用控制器结构收集的全局网络数据,从而改善整个系统,进而提高了网络性能。SDN技术是当前最火爆的互联网科技之中,它大大释放了手工作业,降低了设备配置错误,便于系统的快速部署。它被MIT称赞为"改变世界的十大创新科技之一"。这也使得SDN有关的研究在世界迅速开始发展,也是近年来的研究热点话题。在二零一三年,国际SIGCOMM会议上收录了许多与之相关的论文,甚至还把SDN作为课题来深入研究,也变相推动了SDN有关科学研究的发展。3.2SDN的关键技术3.2.1数据平面关键技术在SDN中,数据信息转送设备和规则控制器之间是彼此隔离的,控制器控制交换机的数据转发规范,而数据交换机仅按照控制器所下发的规范对数据信息包执行数据转发。为防止与交换机设备和控制器不断通讯,双方协议的规范都是根据流而不是依靠数据包的。因此SDN数据平面相关技术主要反映在二十一世纪二十年代的交换机设备及其转发规范上。SDN交换机主要有硬件与软件模型这俩个统计信息传送方法。虽然硬件模型相对比于软件方法来说有着显著的速度优点,但是在灵敏度方面来说比软件方法还差了一些[12]。为增加对硬件统计信息转送功能的灵敏度,Bosshart等人给出了瑞茂通供应链管理系统股份有限公司模型,该模型能够实现重复选择匹配表,并可以在流水线过程中提供支撑任何带宽的流表。从架构上来看,最合理的RMT模型是由解析器、若干段的逻辑对应器件和可选择输入输出队列所构成。具体的可配置特性,主要表现在可以借助更改解析器来添加区域定义,对应新区域可以通过更改逻辑搭配元件的搭配表进行实现,透过更改逻辑搭配元件的动作集来实现新的动作,透过更改队列规则来形成新的队列。由解析器负责全部的更新操作,而不需更改硬件,只需在芯片设计时留出可设置连接空间便可充分体现了硬件对数据信息的灵活处理。另一个硬件的灵活处理性能,FlowAdapter,采用将数据交换机分级的方法,来完成多表流水线服务。FlowAdapter交流机包括三层,自上而下分别为软数据分析平面,FlowAdapter平面,以及硬数据分析平面。顶层通过更新的技术手段,能够支持一个全新的协议;中层设备主要承担顶层与底层之间的通信;而下层设备为硬件数据分析平面,相对稳定但转发效果较高。在控制器下发规范时,由软件数据平面将其保存下来并生成M段流表,但因为上述规范都比较灵活性,并不会全数由交换机执行转化成相关转发动态,所以也可运用FlowAdapter将规范加以转化,从而即把比较灵活性的M段流表转化成可以被所有硬件设备所认识的N段流表。这样,就十分合理的处理了在传统互联网中交换机和IP控制器相互之间多表流水线技术不整合的实际问题。和硬件方法不同,在软件方法的数据处理速率上要不如硬件一些的,而软件方法的优点就是在转发规则的操作灵活性上。其使用的交换机CPU或NP进行转发规则,能够有效避免服务器硬件操作灵活性较差的提问。但因为NP专业用来办理上网任务,所以在网络处理方面它是略大于CPU的。3.2.2控制平面关键技术控制器不仅仅是控制平面的重要核心部分,更是整体SDN结构中的逻辑中枢。由于SDN网络规模的不断扩展,单控制器架构的SDN网络管理能力非常有限,遇到了它前所未有的麻烦,所以,必须对控制器加以扩充。当前有二类控制器的扩充方法:一类是增加自身控制器的功能,另一类是引入多控制器方法。早期且普遍采用的控制器结构平台为NOX,这是一种简单集成式结构的控制器。后来根据控制器扩充的需要,NOX-MT增强了NOX的特性,并具备多线程管理能力。NOX-MT并没有改变NOX的基本架构,只是使用了传统的并行处理技术来提高性能。而另一个并行控制器为Maestro,由于其采用了良好的并行处理结构,有效发挥了高性能服务器的多核心并行处理能力,使得它在大规模网络状况下的特性可以显著地高于NOX。但是在许多情形下,对于大规模网络来说仅通过单控制器并联管理的方法来处理性能上的问题是根本行不通的,因此更多的是通过多控制器互联的方法来进一步优化SDN网络。控制器通常可以通过以下二种方法加以扩充:一种是扁平控制器结构方法,另一种是层次控制器结构方法[13]。在扁平控制器方案中,各元件设置在截然不同的地方,分管于各个的网路设施。由于各元件地位基本相等,在逻辑上均掌控着全网的同步信号,并通过东西双向接口实现通讯。当网络拓扑变更时,所有元件也同时改变,而交换器则只需要调节各元件之间的地址映射关系而已,所以扁平控制器方案对数据信息平面的影响程度微乎其微。在分层信息管理方法中控制台一般包括局部控制器与全域控制器,局部控制器的主要职能是负责对各区的网络设备管控,只了解着本地区的上网状况,而全域控件则负责管理各局控件并了解着全网状况,局部控制台之间的互动是需要通过负责管理全域的全域控制器来实现。3.3OpenFlow3.3.1OpenFlow概述在OpenFlow网络中获取拓扑信息,就需要通过LLDP进行拓扑发现。控制器将S1中的相关信息打包给LLDP数据包,随后LLDP数据包就会将消息输送给S2,从而触发S2发送packet_in消息。控制器收到从S2发过来的消息后就可以得到交换机的信息,以此来获取交换机此时的动向,并能时时了解到网络拓扑的变化。当然,这种情况时有一定条件的,如果发生在SDN网络规模较大的情况下,这种机制也会出现纰漏,不能够及时对网络状态的信息进行更新,同时,该机制也会让含有LLDP数据包的消息发送时更加复杂化。SDN数据平面和控制平面通过南向连接进行通讯,而在其通信时,是有着一个标准去约束和管理它的,也就是南向协议。而南向协议又分为广义和狭义,OpenFlow就是狭义南向协议,同时它也是SDN中目前研发的最前沿的一个协议。OpenFlow起源于斯坦福大学和加州大学伯克利分校所组成的大学联盟,它刚开始是用于网络实验的。OpenFlow主要目的,是把原来以交换机或路由器为主导的数据包转发流程,改变为OpenFlow交换机与控制器之间各自单独进行的流程。这种分布式的方法,让SDN的数据层和控制层分离,控制器可以运行在能力更强的服务器上。OpenFlow规范其实是一个软件API,可以限制对网络数据的转送,而且也不仅仅局限在软件方面,因为OpenFlow提高了对于信息数据的可控能力,从而降低了承担复杂性管理所要求的服务器硬件生产成本。在OpenFlow为网络管理节点分配信号时,可以规范使用和支配OpenFlow的交换节点进行沟通。而OpenFlow支持描述的"数据流"基本上是从一层到四层的重要内容,包含端口号、VLAN、MAC、以太网包头、IP位置、IP协议号、TCP端口号等。配置内容一般包含"数据流"以及与之相对于的操作。每种"信息流"有满足一定特点的。数据包类型及动态结构,包含源IP/源Port,目的IP/目的Port,共五种不同交换动态。3.3.2OpenFlow架构OpenFlow网络系统主要由openFlow数据交换机、controller以及FlowVisor三大部门所构成。OpenFlow数据交换机完成数据的转送,由controller集中管理,完成控制功能,而flowVisor则对网络实现了虚拟化管理。其中,OpenFlow数据交换机是核心部分[15]。OpenFlow数据交换机大致包含以下三大组件:流表、安全管道、以及OpenFlow协议。流表:指的是对交换器如何实现数据流的管理,每动作关联一个流表项。而安全通道主要是控制器和交换机设备之间的交流,使用安全通道时可和远部控制器联系。OpenFlow信道是根据TCP连接设置的。在通道建立成功后,通道两端设备仍会互相发送检测报文以维护通道连接,OpenFlow通道的建立和维护遵循以下流程:1.用户在控制器和转发器上都配置完毕后,控制器和转发器会首先建立TCP连接。2.当TCP连接形成后,控制器和交换机会互相传送Hello消息,并携带版本号等消息进行协商。3.协商后,控制台会向交换机发出FeaturesRequest消息,并借此来询问交换机的一系列信息,当交换机接受此消息后,向控制台返回Reply消息,携带控制器请求的信息,如支持的流表格,缓冲区大小等。至此,通道建立成功。4.控制器和交换机会互相发送Echo消息对连接的两端进行检测。发起检测的一方会定时发送EchoRequest消息,另一方收到后回应Reply消息。若发起方在一定期限内没有收到Reply报文,则会判定对方故障从而断开连接。OpenFlow协议:界定了一种南向连接准则,为控制器与交流机相互之间的交流创造了一种公开规范的方法。OpenFlow的下发消息主要包括三大类,第一种是消息是controller-to-switch。一般来说是控制器对交换机下发的消息,主要用于检测交换机当前的状况。主要消息如下:Features:Configuration配置消息,配置交换机的参数。Modify-state对交换机的数据进行管理,常用于流表的增删改查及端口特性等设置。Read-state读取交换机的端口、流表等信息。Send-packet使交换机的终端可以向外发送信息。如果Barrier判断有依赖关系的消息是否实现了,它就可以作为已接收或操作已经完成的信息。第二种消息是asynchronous消息。它是从交换机发到控制器的消息,主要作用是向控制器汇报发生在自身的异步事件,控制器收到后对其进行恰当处理。主要消息有:Packet-in此消息的触发条件为消息匹配失败或成功但发给了交换机,由控制器接收此消息的头部消息和在交换机中的ID。Flow-removed触发条件为消息超时或者活跃度较低。Port-status触发条件为端口的配置状态被改。第三类为symmetric消息。此消息被称为对称消息,其原因就是交换机和控制器任意一个都可以作为为发起方,用来建立双方之间的连接以及检测某一方是否在线。3.3.3OpenFlow交换机OpenFlow交换机的组成是由一个或若干个流表和一个组表,执行流量包的分组查找和转发,和一个到外部控制器OpenFlow的信道组成,,OpenFlow交换机可以称得上是整个OpenFlow网络的关键部件,主要负责数据层的转发。OpenFlow交换机可以是物理的交换机,也可以是虚拟化的交换机。可以从对OpenFlow的支持程度,OpenFlow交换机可以分为以下两类:OpenFlow专用交换机:一个标准的OpenFlow设备,仅支持OpenFlow转发。它不支持现有的商用交换机上的正常处理流程,所有经过该交换机的数据都按照OpenFlow的模式进行转发;OpenFlow兼容型交换机:既支持OpenFlow转发,也支持正常二三层转发。OpenFlow交换机在实际数据的转发过程中,是借助流表来完成的。流表是OpenFlow交换机进行数据转发的策略表项集合,指示交换机如何处理流量,所有进入交换机的报文都按照流表进行转发。流表本身的生成、维护、下发完全由控制器来实现。3.4SDN控制器当前,随着科技发展的进步,SDN控制器的种类也不断更新换代,种类特别多。SDN控制器主要分为俩类即开源控制器和商业控制器,主要有OpenDayLight控制器,ONOS控制器,Floodlight控制器,Ryu控制器,APOC控制器,OpenSDN控制器等,本文方案中用到的开源控制器是Ryu,下面将重点介绍。Ryu就是一个全面开放的SDN控制器,它是由Python编程语言完成的,用户能够通过撰写Python语句在Ryu上完成自身的使用。Ryu目前是支持任何版本的OpenFlow协议。Ryu的代码是组成分别是:App,base,controller,lib,ofproto,topology,contrib,cmd,services。App,它是一个Ryu控制器上运行的应用,主要作用是在控制器上完成一些特定的功能。Base,在它的里面有一个很关键的文件:也就是Ryu软件的内容管理中心,它的首要功用就是载入Ryu软件,并接受来自app发出的消息,也实现了对消息的路由。Cmd,定义Ryu的命令系统。Lib,它主要负责界定用户所使用的基础数据信息架构,比如dpid,mac和ip等一系列的基础数据信息架构。在lib目录下,定义了众多的网络协定类,如ICMP,DHCP,MPLS等协定的相关内容。在每一条数据信息包的类中,都有parser和seralizie俩个函数,可以用来分析和序列化数据信息包。Ofproto,此目录之下,主要有俩类文件,一类主要是负责在协议中的对它的数据结构进行定义,另一类是经常用到的解析协议,也就是数据包处理函数的文件。如OpenFlow的1.0版本中ofproto_v1_0.py的协议数据结构的定义,而ofproto_v1_0_parser.py则定义了1.0版本的协议编码和解码。Services,主要完成BGP和vrrp的实现。Tests,在它的目录下存放了单元测试以及整合测试的代码,大多数的控制器平台均会给开发人员各种专门的特性,来支撑某些重要功能。如既能够监听异步事件也能够解析入侵控制设备的数据包,还能够生成并向可编程数据信息平面发送的信息。

4SDN架构局域网设计方案及实施4.1SDN局域网设计本方案是通过VM在Ubuntu里安装Mininet,通过Mininet进行实验,使用Ryu作为控制器,两个台交换机,以及四台主机来完成方案,在Mininet软件中建立了一种默认树型拓扑并作为Mininet的控制器,然后完成基本的加载和流表运算后,通过python编程来操作流表,使网络实现了通信或者不通信实现,进而体现SDN的集中式控制以及可编程性,下图为SDN架构的框架图。图4-1SDN网络框图图4-1中C0表示控制器,负责流量控制以实现智能网络。基于OpenFlow等新协议的,允许服务器告诉交换机发送数据包的具体位置。对网络进行自动化管理。s1和s2是OpenFlow交换机,可以基于OpenFlow协议对交换机的流表进行编程,定义数据流的包头、如何处理数据包的动作、跟踪各个流之间的数据包和字节数等。4.2SDN局域网实施4.2.1网络拓扑的搭建控制器C0是一个远程控制器,其控制器的端口号为6633,采用TCP协议,IP地址为127.0.0.1,如图4-2所示。图4-2控制器配置图交换机S1可以实现访问控制的功能,通过转发规则可以实现通过和禁止,其属性信息如图4-3所示,类型选择OpenvSwitchKernelMode。图4-3配置交换机IP图主机属性信息如图4-4所示,主机名为h1、IP地址为192.168.1.1,同理为主机h2、h3、h4配置IP地址分别为192.168.1.2、192.168.1.3、192.168.1.4。图4-4主机IP的配置图本拓扑由一台类型为RemoteController的控制器,两台OpenvSwitchKemelMode类型的交换机,以及四台主机构成,上图是对它的配置。使用命令pingall,无法ping通,(远程控制器没有启动,不会下发流表)如下图4-5所示。图4-5执行ping命令4.2.2启动Ryu控制器使用命令打开控制器,如图4-6所示。图4-6Ryu代码图Pingall(同交换机可通)说明控制器具有控制整个网络系统流表规则的能力。如图4-7所示。图4-7ping所有主机4.2.3进行OpenFlow流表分析有了流表,交换机根据流表进行数据包的转发使其通信,我们也可以人工的进行流表的新增、修改、删除等操作在mininet网络系统下可直接输入命令。删除之前的所有流表:miniet>dpctldel-flows-OOpenFlow13,如图4-8所示。图4-8删除流表此时流表为空,不可通无流表。通过dpctl手动添加流表项,实现数据转发如图4-9所示。图4-9添加流表h1和h2可以ping通,同交换机且有流表引导可以ping通,如图4-10所示。图4-10h1pingh2h3与h4也可以ping通,因为上面手动添加了流表所以可以ping通,如图4-11所示。图4-11h3pingh4h1pingh3,消息不可达(因为交换机2和交换机1中没有建立链路)如图4-12所示。图4-12h1pingh3增加交换机之间的链路类型为patch,如图4-13和4-14所示。图4-13链路类型代码图1图4-14链路类型代码图2创建交换机连接接口之间的内部链路,如图4-15所示。图4-15创建内部链路代码图再次使用pingall命令测试主机间的连通性,结果显示可以连通,如图4-16所示。图4-16ping所有主机结果显示所有网络所有主机互通,通过本方案的实施,可以得出SDN架构的局域网中的控制器是具有集中控制能力的。

5结论5.1总结文章的主要研究成果有以下四点:第一点:总结了SDN网络研究现状与方向。(1)S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论