计算机专业生产实习报告_第1页
计算机专业生产实习报告_第2页
计算机专业生产实习报告_第3页
计算机专业生产实习报告_第4页
计算机专业生产实习报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

...v.生产实习报告姓名学号专业实习单位实习时间成绩:〔此项由教师填写〕实习方案表学号:XX:序号主要内容时间〔天数〕具体地点1软件定义网络〔SDN〕的初步学习72SDN实验平台的搭建53SDN控制器OpenDaylight的开发学习54基于OpenDaylight进展模块开发55对模块进展优化和展示56完成生产实习报告5指导教师〔签字〕:实习考核表班级学号XX实习单位实习地点到达实习单位日期2016年2月20日离开实习单位日期2016年3月13日序号工程内容评分标准得分1思想品德实习态度好25分较好20分一般15分差10分2劳动纪律工作作风优25分良好20分一般15分差10分3动手能力实际操作好25分较好20分一般15分差10分4实习报告撰写水平俱佳25分尚佳20分一般15分差10分5实习成绩指导教师评语:实习指导人〔签字〕:单位盖章:教师评语教师签名:年月日成绩评定备注生产实习报告概述2015年10月份我偶然参加了在XX江宁无线谷举办的一次SDN交流研讨会,使我对软件定义网络〔SDN〕这种新型网络架构有了初步了解,它有望提高网络性能、灵活性和可管理性,实现网络革命并带来新一波应用效劳创新,尤其是在网络平安方面,SDN也有新的尝试,例如在对抗DDoS攻击上已经有了实际的案例。XX大学新一代网络技术实验室,主要研究方向是下一代网络体系架构,可重构网络,拟态计算与网络平安,网络主动防御技术,其中就有关于SDN的工程在进展,我参加过他们的夏令营,于是决定申请为期3周的实习,进一步学习SDN的应用和开发,这将对我的专业技能有所帮助,使我对网络和平安的了解突破现有观念的限制。传统网络效率低,难以扩展,消耗大量时间和资源并且不能支持灵活的运营。在多数情况下,所有网络情报遍布在采用标准化协议的物理交换机和路由器上。网络设备的配置主要是对每个交换机进展独立的配置,结果造成网络架构极其复杂。为了实施某个变化,网络操作员必须对每个交换机或路由器重新配置路由协议,需要消耗大量时间,特别是对于大型网络和数据中心来说,这个过程非常类似于利用凿子在石板上写书,如果出现任何错误,就必须在另外一个石板上重新开场写,非常繁琐。SDN能够高效地把网络数据流处理从控制数据流的逻辑和规那么中别离出来。这让运营商和企业能够控制管理自己的数据,从而实现能够实施不同规那么和路由的能力,包括决定哪些类型的数据在本地而哪些类型的数据在远程处理。通过集中地查看整个网络架构,客户能够相应地调整网络以满足业务需求。更重要的是,它让网络运营商和厂商能够在实际网络环境中对网络优化的想法和战略进展实验,而不影响当前的数据流。实习内容及过程软件定义网络〔SDN〕的初步学习SDN核心思想是通过管控软件化、集中化,使网络变得更加开放、灵活、高效。具体表现为将网络的控制平面与转发平面〔即数据平面〕相别离:在控制平面为用户提供标准的编程接口,便于集中部署网络管控应用;转发平面仍保存在硬件中,通过标准协议接口〔如OpenFlow〕接收并执行转发策略。如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统的概念,这个网络操作系统〔即控制层〕一方面抽象了底层网络设备〔即数据层〕的具体细节,同时还为上层应用〔应用层〕提供了统一的管理视图和编程接口,如图1所示。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑构造。图1SDN三层架构示意图转发层:底层网络设备的工作就是单纯的数据、业务物理转发,以及与控制层的平安通信。控制层:控制器(即Controller),旨在集中管理网络中所有设备,虚拟整个网络为资源池,并根据用户不同的需求以及全局网络拓扑,灵活动态的分配资源。应用层:通过控制器提供的编程接口对底层设备进展编程,把网络的控制权开放给用户,开发各种业务应用,实现丰富多彩的业务创新。控制层和转发层之间的接口界面被称为“南向接口〞,网络设备状态、数据流表项和控制指令都需要经由通信协议传达,实现控制器对对网络设备的管控;而目前业界比拟看好的是ONF主X的Openflow协议。应用层和控制层之间的接口协议称作北向接口北向接口的目标是使应用层的网络应用具备顺利调用技术设施层的网络视图抽象和网络技术能力。当前北向接口还处于百家争鸣的阶段,不同厂商和科研机构设计提供的北向接口都不尽一样,没有一个业界公认的统一标准。实验平台搭建对应SDN的三层架构,实验平台也主要包括三局部:控制器〔opendaylight,以下简称odl〕,数据转发层〔mininet〕,应用开发〔eclipse〕。〔1〕odlcontroller

环境需求:Ubuntu14.04虚拟机,

JVM1.7+

,Maven3.04+具体步骤:安装Java环境:sudoapt-getinstallopenjdk-7-jresudoapt-getinstallopenjdk-7-jdk安装maven:sudoapt-getinstallmaven用mvn-version查看版本信息:运行controller:下载opendaylighthelium版本的源码,进入opendaylight文件夹,修改run.sh权限:chmod777./run.sh执行./run.sh直到出现initializedsuccessfully才算运行成功,结果应该出现osgi命令:每次开机都要执行./run.sh启动控制器。翻开浏览器,输入:controllerip:8080,进入opendaylight的登陆页面,用户名和密码都是admin,界面如下:〔2〕mininet环境要求:ubuntu14.04虚拟机具体步骤:下载源码:gitclonegit://github./mininet/mininet进入mininet文件夹,安装mininet:./util/install.sh

[options]这里典型的[options]主要有下面几种:“-a〞:完整安装包括MininetVM,还包括如OpenvSwitch的依赖关系,以及像的OpenFlowWireshark别离器和POX。默认情况下,这些工具将被安装在你的home目录中。“-nfv〞:安装Mininet、基于OpenFlow的交换机和OpenvSwitch。“-smydir〞:在其他选项使用前使用此选项可将源代码建立在一个指定的目录中,而不是在你的home目录。这里选择完全安装:./util/install.sh

-a安装完成后进展简单的测试:sudomn成功的结果应该是这样的界面:〔3〕Eclipse配置ODL不能使用默认jre〔eclipse/jre〕,应该手动添加JDK-7:主菜单Window——Preferences:Java——InstalledJREs——SearchStandardVM——JREname:JavaSE-1.7(搜索到后手动双击修改名称,以便适配)。JREhome必须要在jdk子目录下,如E:\Tools\jdk7u25\jre,最后添加这个jre.还要导入opendaylight源码中主要的模块:file——imporrt——existingmavenprojects,需要导入的主要模块有:forwarding,hosttracker,switchmanager,topologymanager等,根据你编写的程序功能而定。SDN控制器OpenDaylight的开发学习总体来说,OpenDaylight的二次开发可以分为以下三个层面:基于OpenDaylightRESTAPIs的上层网络应用开发基于SAL内核相关效劳的控制器组件与上层网络应用开发基于SAL内核相关效劳的南向协议插件开发与上层效劳接口开发当然,如果进展更具体的划分,每个层面还可以划分出更多的开发方向,但是就大的开发方向来说,主要使用以上三种开发模式。我主要学习了第2种方式,基于SAL内核相关效劳的控制器组件与上层网络应用开发方式一般的应用场景是上层网络应用程序需要借助已有的SAL相关效劳及南向插件/协议实现某些特定的功能,而该功能并未由OpenDaylight控制器给出RESTAPI。这种方式相对来说更可以称的上是OpenDaylight的二次开发。在介绍具体内容之前,首先需要了解以下储藏知识:OSGi与OSGi组件:OpenDaylight平台的后台。为整个工程工程提供了模块化管理的方式,即OSGi组件。每个组件可以实现某些特定的功能,并加载到工程的运行环境中。Maven工具:Maven工具是用来实现对于OpenDaylight整个工程工程进展管理控制的工具。可以用Maven生成不同的工程,不同的组件。每一个Maven工程包含一个工程控制文件pom.xml,一个src文件夹,一个test文件夹。通常pom.xml文件使用构造化的文档来对整个工程的属性配置、外部依赖、编译进程与外部输出等进展设置,实现了工程的自动化管理。在src文件夹内包含工程或组件相关的源程序,test文件夹中包含相关测试程序。Maven是该小节所述的开发方式的根底,读者可以参考官方的文档进展学习。ApacheKaraf:Karaf工具是基于OSGi的OpenDaylight特性容器,用于实现OpenDaylight各功能组件的热插拔。基于SAL内核相关效劳的控制器组件与上层网络应用开发需要借助于OpenDaylight开发平台已经实现的模块与组件,调用其JavaAPIs以帮助实现我们所需要的功能。基于OpenDaylight进展模块开发这局部我做了很多分析和实验,例如使用odlhorizon运行云主机,mininet创立自定义拓扑、wireshark抓包实验分析openflow协议中控制器与交换机的通信过程等等,对网络架构、数据构造、开发方法流程有较为全面的掌握之后,我和小组其他成员合作,编写了一个控制器组件〔bundle〕,主要是完成SDN中IP地址跳变和路径跳变的功能。传统网络中设备的IP地址都是固定的,路由选择策略也大多是静态的,例如OSPF等路由协议的算法都是基于最短路径优先的,如果攻击者通过截获数据包和嗅探等技术知道了源主机、目的主机的IP地址以及转发的路径,就很容易实施DDoS、端口扫描等攻击。如果能够将实际IP映射到一系列虚拟IP,并随机变化,对于多条转发路径在满足带宽、时延的条件下也能够随机选择,那么攻击者就很难破解数据包了。这就是基于软件定义网络的动态防御技术。这里主要展示一下实验结果:我们建立了一个简单的拓扑,主机h1〔10.0.0.1〕到h5〔10.0.0.5〕之间有两条路径,第一条:h1-s5-s2-s1-h5,第二条:h1-s5-s4-s3-s1-h5.在mininet中使h5pingh1,可以连通。说明我们实现的跳变算法已经能够实现根本的通信。某次在交换机s1中获得的流表如下:可以看到源地址和目的地址分别为10.0.0.1和10.0.0.5.再看OUTPUT=OF|4,说明s1将数据包从端口4发出,因此选择的是第二条转发路径:h1-s5-s4-s3-s1-h5.再次使h1pingh5,获得s5的流表如下:可以看到源地址和目的地址分别为214.0.0.1和214.0.0.5,而不是10.0.0.1和10.0.0.5,说明IP地址发生了变化。再看OUTPUT=OF|2,说明s5将数据包总端口2发出,因此选择的是第一条转发路径:h1-s5-s2-s1-h5.由此可见,IP地址和转发路径都发生了变化,实验成功了。实习总结本次实

温馨提示

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

评论

0/150

提交评论