1、本科毕业设计(论文)题目:基于 SDN 的哑交换机技术研究与实践院 (系): 计算机科学与工程学院 专 业: 网络工程 班 级: 学 生: XXXXXXXXXX 学 号: XXXXXXXXXXX 指导教师: XXXXXXXXXXX 2016 年 6 月 1 日 摘要I基于 SDN 哑交换机技术的研究与实践摘要随着互联网的迅速发展,网络服务类型以及业务量不断增多,因此对传统的网络的性能也提出了更高的要求,但是由于传统网络的局限性,现阶段只能在原有网络上进行网络设备的增加,协议的版本升级等手段,网络维护工作变得日益复杂。SDN 是一种新兴的技术,它的核心思想是控制与转发分离,网络设备具有开放的可编
2、程接口和网络集中控制,SDN 大力推动了网络的创新,同时在 SDN 网络架构里网络的设计,实施,管理也较传统网络架构简单许多。本论文首先介绍了和 SDN 相关的一些基础性概念,其中包括 SDN 网络架构,南向接口协议 Openflow 的技术原理,以及控制器的相关知识,然后在虚拟机下搭建符合 SDN 框架的实验环境,最后在这种实验环境上实现拓扑的验证,转发路径的验证以及基于跳数和带宽的路径转发等实验。通过相关实验的结果我们得出了,在基于跳数和带宽的路径选择实验中,控制器能通过下发流表来使流量始终走跳数少的或者带宽较大的,从而始终保证流量的高效传输,这种转发与控制分离的思想使得网络的可控性与灵活
3、性都大大提高。关键词:SDN Mininet Openflow Opendaylight 摘要IIAchieve dumb switch technology on the basis of SDNAbstractWith the development of the Internet,Types of network services and network traffic is also increasing.so there have a higher requirements to the traditional network,However, due to the limitati
4、ons of traditional network,At present, we have to increase the network equipment, upgrade the protocol version, and network maintenance work has become increasingly complex.Software Defined Network(SDN) is an emerging network architecture where network control is decoupled from forwarding and is dir
5、ectly programmable.SDN network has a great role in promoting innovation,Meanwhile, network design, implementation, management is much simpler than the traditional networkFirst,This paper introduces some basic concepts associated with the SDN, including knowledge SDN network architecture, packet stru
6、cture to the south Openflow1.0 interface protocol, and controller,Secondly I set up SDN experimental environment in a virtual machine,and finally,Finally, I did some experiments in a SAN environment which including topology verification,Verify forwarding path,and path based on hops and forwarding ba
7、ndwidth experiment.By the result of the experiments we find that the controller will keep the traffic safety, high-speed transmission by issued flow table,for example the controller will choose the less hop in the experiment that based on the hop ,and the controller will choose the lager bandwidth i
8、n the experiment that based on the bandwidth , Such forwarding and control the thought of separation so that the controllability and flexibility of the network are greatly enhanced.Key Words: SDN Mininet Openflow Opendaylight 目录摘要 .IAbstract .II1 绪论 .11.1 课题背景 .11.2 研究意义 .11.3 国内外研究现状 .21.3.1 国外研究现状
9、 .21.3.2 国内研究现状 .31.4 本论文的主要研究内容 .41.5 论文结构 .42 相关技术介绍与研究 .62.1 SDN 网络架构 .62.2 Openflow 技术原理 .72.2.1 概述 .72.2.2 OpenFlow 交换机 .82.2.3 OpenFlow 协议 .102.3 Mininet 的解析 .122.3.1 Mininet 的概述 .122.3.2 Mininet 的使用 .132.3.3 Mininet 的结构分析 .132.4 Opendaylight 的应用 .152.4.1 Opendaylight 概述 .152.4.1 Opendaylight
10、项目架构 .162.5 本章小结 .173 基于 SDN 网络框架设计 .183.1 拓扑的设计 .183.1.1 通过 Mininet 命令行实现 .183.1.2 通过 python 脚本设计拓扑 .193.1.3 通过 python 程序自定义拓扑 .203.2 流表的下发 .223.3 验证功能的开发 .243.3.1 拓扑的准确性校验 .243.3.2 网络性能的测试 .243.3.3 转发路径的验证性功能的设计 .253.5 本章小结 .254 基于 SDN 环境的通信网络的实现 .264.1 实验环境的搭建 .264.1.1 Mininet 的安装 .264.1.2 Openda
11、ylight 的安装 .274.2 通信网络测试 .304.2.1 实验 1.304.2.2 实验 2.314.2.3 实验 3.354.2.4 实验 4.374.2.5 实验 5.434.3 本章小结 .455 总结与展望 .465.1 工作总结 .465.2 展望 .46致 谢 .47参考文献 .481 绪论11 绪论1.1 课题背景在传统的路由器或交换机设计中,快速的报文转发(数据面)和高层路由决定(控制面)是集成在一起的,传统网络一开始就是一个分布式的格局,没有中心的控制节点,网络中的设备之间都是相互传递路由信息,由每台设备自己决定转发规则,这直接导致了没有整体观念,不能从整个网络的角
12、度对流量进行调控。并且一个大型网络的设计都是基于传统的网络设计架构,在网络项目的实施过程中都是基于具体的交换机和路由器进行相应的配置,通常一些学校,医院或者政府部门的大型网络项目牵扯到的网络设备达到上千台,因此大型网络项目的实施与维护都越来越复杂。在近几十年的网络技术发展过程中,由于这种紧耦合大型主机式的发展限制了 IP 网络创新技术的出现,更多的是通过不断增长的 RFC 文档对现行网络进行修修补补,造成了交换机/ 路由器设备控制功能高度复杂。软件定义网络 SDN1(Soft-ware Defined Networking)是由美国的 Clean State 研究组提出来的一种新型的网络架构,
13、2006 年美国斯坦福大学的学生Casado 开展了一个关于网络安全与管理的项目 Ethane2,该项目通过一个集中式的控制器,使网络管理员能够在各种网络设备中定义基于网络流的安全策略,后来 Casado 和他的导师 McKeown 发现如果将 Ethane 设计应用于一般化,不仅局限于安全方面,即将传统网络的控制平面和数据平面分离,通过集中式的控制器用标准化的接口来对各种网络设备进行管理和配置,这也是 SDN 的核心思想,如此一来,将为网络资源的设计、管理和使用提供更多的可能性,从而革命性的改变了现有的网络架构,为未来的网络发展提供了一个新的方向。基于OpenFlow3的 SDN 技术推出后
14、。2009 年被 MIT 评为十大前沿技术 4。1.2 研究意义SDN 在最近几年发展愈发被看重,随着各家厂商,运营商等的加入,各项也逐渐趋于成熟,无论在对企业,网络工程师,还是网络本身架构来说,它都有不小的优势。对于企业来说来说,会大大较小网络设备的购买以及后期维护的费用,因为在传统网络架构中,路由器,交换机,防火墙等是构成网络的不可获取的主要元素,而这些元素在 SDN 的架构中会被替代成 Openflow 交换机和控制器,显然控制器不需要像传统网络中的路由器数量那么庞大,同时后期的设备的维护数量也相应的减少了,对应的维护费用也减少了。西安工业大学毕业设计(论文)2对于网络项目的实施人员来说
15、,由于在 SDN 架构中,交换机只负责简单的转发工作,而主要的流表下发都是有控制器完成的,所以也大大简化了网络工程师的配置工作,显然已经不需要再像传统网络中那样到每台路由器上配置有路由协议,做策略,到每台交换机上配置 vlan 等信息,因此配置工作也大大减少,网络项目的实施效率也会对应的提高。对于网络架构本身来讲,传统网络新业务的部署方式是补丁式的,因为网络中新老设备并存,新业务必须兼容老业务,新的协议基本上都是在原有协议的基础上进行扩展,这就大大限制了网络架构创新性的发展。而在 SDN 网络架构中用户不仅可以通过控制器来控制底层交换机的转发行为,甚至可以按需定义报文的封装格式,而不再局限于
16、Mac,ip 等元素,这也为 SDN 网络架构的创新带来了无限的可能性。1.3 国内外研究现状SDN 作为近几年新兴起来的技术,由于它具有创新性高,引入新业务速度快,网络维护费用低,可以和虚拟化技术结合等优势,因此得到很多厂商,运营商的青睐,并且也有专门为之成立的组织机构,最近几年在各方的努力下SDN 的实践化应用也逐渐有了进步。1.3.1 国外研究现状 a. 开放式网络基金会 ONF5(Open Networking Foundation)已经完成了SDN 的架构定义、安全需求和原则、光传送 SDN 需求,迁移需求等多个文档,并完成了南向接口协议 Openflow1.4.x 和配置管理协议
17、OF-Config1.2 的指定,在 ONF 发布的最新的 SDN Architecture 中,在三层架构的基础上还增加了管理能力和多个信区域,ONF 成立了 Carrire SDN 讨论组,针对运营商网络在 SDN领域的特有需求进行讨论 6。b. 国际互联网工程任务组 IETF(The Internet Engineering Task Force )中的 PCE(Path Computation Element)工作组正在推进有状态 PCE 的标准化,以提供实时流量工程计算中的路径计算元素和网络节点间的相关协议,I2RS(Interface to the routing system)通
18、过制定 I2RS 协议实现控制器和网络设备的交互,类似于 ONF 中的 openflow 协议 7。c. OpenDaylight8是有 linux 基金会提出了一个项目,正在开展的项目包括控制器,虚拟用户网络,适用于 SDN 的 SNMP 等。ODL 已经发布了第一个通用平台 Hydrogen,包括基础版,运营商版,和虚拟化 3 个版本,并且已经开启了下一个平台 Helium 的工作,同是 ODL 已经开放了通用的北向接口,只需在Openstake 中内置一个 Neutron 插件,就可与之结合,大大简化了对 Opendstake的要求,加快了控制器与业务层的适配。西安工业大学毕业设计(论文
19、)3d. 斯坦福大学的研究者在 2008 年提出了基于 OpenFlow,它作为 SDN 的原型实现方式,代表着 SDN 控制转发分离技术的实现,随着 SDN 技术得到认可,从严格意义上来讲,OpenFlow 指的是 SDN 控制平面和数据平面之间多种通信协议之一,但实际上 OpenFlow 以其良好的灵活性、规范性已被看做 SDN通信协议事实上的标准。e. 日本 NTT 是较早进行 SDN 技术研究的运营商之一,研发了一款虚拟网络控制器,用于多个数据中心的统一服务和按需分配,已经部署到其位于欧洲,美国和日本的数据中心。f. 谷歌构建的 B4 网络是目前最著名最有影响力的 SDN 技术应用案例
20、,它由中心流量工程(TE)服务器,网络控制服务器(NCS),以及下层的交换机组成,在网络控制服务器上运行 OpenFlow Controller(OFC)集群,交换机硬件运行 OpenFlow Agent 接受 OFC 的控制。根据 OFC 下发的流表转发流量,谷歌基于 OpenFlow 理念搭建的数据中心 Wan 网络可通过编程实现自动创建和重新配置遍布全球的数据中心之间的连接,通过周密的流量工程和优先级次序的工作方式使其资源利用率从 30%提升到了 90%以上,极大的节省了成本 9。g. 针对南向接口,除了 ONF 提出的 OpenFlow 协议和 OF-CONFIG10协议外,IETF
21、提出了 For-CES11协议,思科公司提出了 OnePK12协议。ForCES 对网络设备内部结构重新定义,将转发元素和控制元素分离,形成两个独立的逻辑实体,两个逻辑实体件靠 ForCES 协议通信。OnePK 则是 cisco 针对 SDN 产品专门开发的接口协议,该协议可以运行在 cisco 所研发的专属平台上,并支持开发者用 C 或 JAVA 编写的程序。1.3.2 国内研究现状a. 目前我国的通信标准化协会(CCSA)也与时俱进,在国内主导 SDN 的标准化工作,其中在 TC3 下特设了 SVN(Software Virtualization Network)研究组,目前重点在基于
22、SDN 的智能管道技术和基于虚拟化的核心网的研究。b. 中国电信成立了集团级的云计算重点实验室,以云数据中心为切入点,探索 SDN 技术,利用 SDN 技术+NFV 13技术提供面向云计算服务的网络增值业务,其中,中国电信股份有限公司北京研究院还自主研发控制器等 SDN 的核心组件。c. 中国移动已经在国内、北美两地开展了 2 次大规模测试,针对 7 个厂家的控制器,10 个厂家的 OpenFlow 交换机搭建测试环境,进行 OpneFlow 标准,功能、性能、SDN 应用等测试,验证标准及产品成熟度并联合芯片厂家研发了Super PTN 芯片,成功演示了基于 OpenFlow 的 SDN 化
23、 PTN 圆形系统。d. 腾讯在第二届 SDN & NFV 大会上提出了构建边缘智能网络的概念,该网络基于 Overlay 的 SDN 实现方式,将虚拟网络与物理网络解耦,虚拟机通过开源 OVS 接入网络 OVS 根据上层的分布式控制器下发流表转发流量,虚拟网西安工业大学毕业设计(论文)4络之间使用 VXVLAN 标签实现用户隔离,这种使用 OVS+VXVLAN+SDN 构建的虚拟扩往迁移,虚拟二层网络进行伸缩,多租户安全隔离,业务灵活扩展,流量只能调度等,能有效提高数据中心间的宽带利用率,减少故障收敛时间,从而提升用户体验 14。e. 华为也在 SDN 方向进行了探索,基于 SDN 的虚拟感
24、知解决方案,控制层采用 SDN 控制器,数据层采用 OpenFlow 交换机,应用层开放兼容多个云平台-OpenStake ,VMware,微软数据中心等;高性能的 NVO3 网关;PCE 提升广域网链路利用效率等。华为不仅在实践中敢于实践,在技术创新方面 OF 控制器,SmartTE 演示系统,SDN 的设备技术研究等领域都取得了相应的成绩 15。1.4 本论文的主要研究内容自从 SDN 技术被提出来之后,由于本身所具有的相对于传统网络的优势,因此迅速得到了各厂商,运营商的认可,并且已经成立了一些专门为之服务的机构,他们负责定义相关协议的标准,比如 openflow 1.0,openflow
25、 1.3 等协议也逐一问世。本文正是在这种研究氛围如此浓厚的情况下,研究了 SDN 网络架构的以下内容:(1)基础设施层和控制器之间的拓扑验证问题,由于 SDN 是一项新型的的技术,所以有关 SDN 的产品都是比较昂贵的,因此本论文的实验环境都是基于虚拟机来实现的,在基础设施层主要由 Mininet 构成,当 Mininet 将所需要的拓扑搭建完成后,我们需要验证 Mininet 的拓扑是否在 Opendaylight 控制器里正常显示,所以这就需要在 Mininet 端使用 net 命令查看 Mininet 的拓扑是否正确创建,在正确创建的前提下,并且调用拓扑和连接 Opendaylight
26、 的命令都无误的情况下,拓扑验证才能成功。(2)转发路径的验证问题,在本系统中,路径的转发都是基于控制住器下发流表来实现的,因为需要模拟真实环境,所以就要确保流量准确无误的按照下发的流表来执行,本系统利用流表项中的 n_packets 来验证流表下发是否生效。(3)基于跳数的转发路径研究,将 SDN 网络架构和传统网络架构里的 RIP协议相比较,分别从不同的角度来演示说明了 SDN 网络机构在对拓扑的把握,以及转发路径的选取上都有不小的优势。(4)基于带宽的转发路径的研究,在实际环境中,链路总体带宽虽然不变,但是随着业务需求的增加,分配给每个用户的带宽可能就会不足,因此本实验通过模拟应用层动态
27、感知网络拓扑的带宽变化,灵活分配流量所走的路径,来达到流量时刻保持高速转发的目的。西安工业大学毕业设计(论文)51.5 论文结构本论文的主要分为五章,每章的研究内容如下:第一章为绪论,首先介绍了课题的研究背景,以及研究意义,然后介绍了国内外关于 SDN 的一些研究进展,最后介绍了本论文的研究内容和论文结构。第二章为相关技术的研究,本章首先介绍了 SDN 网络架构,它主要分为基础设施层,控制层,以及应用层,并且介绍了每层的功能,然后详细分析了南向接口协议 Openflow ,最后介绍了实验环境所需要的两大组件,Mininet 和Opendaylight。第三章为系统的设计,首先介绍了拓扑的三种搭建方法,包括用 Mininet命令行,Python 脚本以及 Python 程序。然后介绍了利用了控制器进行流表下发的过程,最后介绍了拓扑的验证,转发路径的验证,已经网络性能的检测。第四章为系统的实现,本章首先介绍了实验环境的搭建包括 Mininet 的安装以及 Opendaylight 的安装,然后在 SDN 环境下进行了通信网络的测试包括基于拓扑信息的获取功能,拓扑结构的验证功能,控制转发路径功能,基于跳数的路径选择,基于带宽的路径选择。第五章为结束语,本章首先对该论文进行了总结,然后对 SDN 的未来进行了展望。