实用的生产实习报告模板汇总(精选30篇)
一、 概述
20xx年10月份我偶然参加了在南京江宁无线谷举办的一次SDN交流研讨会,使我对软件定义网络(SDN) 这种新型网络架构有了初步了解,它有望提高网络性能、灵活性和可管理性,实现网络革命并带来新一波应用服务创新,尤其是在网络安全方面,SDN也有新的尝试,例如在对抗DDoS攻击上已经有了实际的案例。浙江大学新一代网络技术实验室,主要研究方向是下一代网络体系架构,可重构网络,拟态计算与网络安全,网络主动防御技术,其中就有关于SDN的项目在进行,我参加过他们的夏令营,于是决定申请为期3周的实习,进一步学习SDN的应用和开发,这将对我的专业技能有所帮助,使我对网络和安全的了解突破现有观念的限制。
传统网络效率低,难以扩展,耗费大量时间和资源并且不能支持灵活的运营。在多数情况下,所有网络情报遍布在采用标准化协议的物理交换机和路由器上。网络设备的配置主要是对每个交换机进行独立的配置,结果造成网络架构极其复杂。为了实施某个变化,网络操作员必须对每个交换机或路由器重新配置路由协议,需要耗费大量时间,特别是对于大型网络和数据中心来说,这个过程非常类似于利用凿子在石板上写书,如果出现任何错误,就必须在另外一个石板上重新开始写,非常繁琐。
SDN 能够高效地把网络数据流处理从控制数据流的逻辑和规则中分离出来。这让运营商和企业能够控制管理自己的数据,从而实现能够实施不同规则和路由的能力,包括决定哪些类型的数据在本地而哪些类型的数据在远程处理。通过集中地查看整个网络架构,客户能够相应地调整网络以满足业务需求。更重要的是,它让网络运营商和厂商能够在实际网络环境中对网络优化的想法和战略进行实验,而不影响当前的数据流。
二、 实习内容及过程
1. 软件定义网络(SDN)的初步学习
SDN核心思想是通过管控软件化、集中化,使网络变得更加开放、灵活、高效。具体表现为将网络的控制平面与转发平面(即数据平面)相分离:在控制平面为用户提供标准的编程接口,便于集中部署网络管控应用;转发平面仍保留在硬件中,通过标准协议接口(如OpenFlow)接收并执行转发策略。如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统的概念,这个网络操作系统(即控制层)一方面抽象了底层网络设备(即数据层)的具体细节,同时还为上层应用(应用层)提供了统一的管理视图和编程接口,如图1所示。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
转发层:底层网络设备的工作就是单纯的数据、业务物理转发,以及与控制层的安全通信。
控制层:控制器(即Controller),旨在集中管理网络中所有设备,虚拟整个网络为资源池,并根据用户不同的需求以及全局网络拓扑,灵活动态的分配资源。
应用层:通过控制器提供的编程接口对底层设备进行编程,把网络的控制权开放给用户,开发各种业务应用,实现丰富多彩的业务创新。
控制层和转发层之间的接口界面被称为“南向接口”,网络设备状态、数据流表项和控制指令都需要经由通信协议传达,实现控制器对对网络设备的管控;而目前业界比较看好的是ONF主张的Openflow协议。应用层和控制层之间的接口协议称作北向接口北向接口的目标是使应用层的网络应用具备顺利调用技术设施层的网络视图抽象和网络技术能力。当前北向接口还处于百家争鸣的阶段,不同厂商和科研机构设计提供的北向接口都不尽相同,没有一个业界公认的统一标准。
2. 实验平台搭建
对应SDN的三层架构,实验平台也主要包括三部分:控制器(opendaylight,以下简称odl),数据转发层(mininet),应用开发(eclipse)。
(1)odl controller
环境需求:Ubuntu 14.04虚拟机, JVM 1.7+ ,Maven 3.04+ 具体步骤:
安装Java环境:
sudo apt-get install openjdk-7-jre
sudo apt-get install openjdk-7-jdk
安装maven:sudo apt-get install maven
用mvn -version查看版本信息:
运行controller:
下载opendaylight helium版本的源码,进入opendaylight文件夹,修改run.sh权限:chmod 777 ./run.sh
执行./run.sh
直到出现initialized successfully才算运行成功,结果应该出现osgi命令:
每次开机都要执行./run.sh启动控制器。
打开浏览器,输入: ip:8080,进入opendaylight 的登陆页面,用户名和密码都是 admin。
(2)mininet
环境要求:ubuntu14.04虚拟机
具体步骤:
下载源码:git clone git:///mininet/mininet
进入mininet文件夹,安装mininet:./util/install.sh [options] 这里典型的[options]主要有下面几种:
“-a”:完整安装包括Mininet VM,还包括如Open vSwitch的
依赖关系,以及像的OpenFlow Wireshark分离器和POX。默认情况下,这些工具将被安装在你的home目录中。
“-nfv”:安装Mininet、基于OpenFlow的交换机和Open