sdn控制器

2019 SDN上机第5次作业

一笑奈何 提交于 2019-12-05 16:04:34
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解 1.描述官方教程实现了一个什么样的交换机功能? 让交换机在各个端口发送它接收到的数据包 2. 控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 3. 控制器设定了交换机如何处理数据包? 这里把官方给出的代码放上来(不然不知道在解释啥),备注中解释到处理函数定义为止的前半部分,后半部分较长就在下面用文字解释 from ryu.base import app_manager from ryu.controller import ofp_event from ryu.controller.handler import MAIN_DISPATCHER from ryu.controller.handler import set_ev_cls from ryu.ofproto import ofproto_v1_0 class L2Switch(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] /*这里设置想要向交换机协商的OpenFlow版本号*/ /*这玩意设置完后,控制器会自动交换Hello包,协商版本号,接着协商完成之后,它再自动执行交换Features包,进行握手*/ def __init__

SDN课程阅读作业(2)

若如初见. 提交于 2019-12-05 15:57:32
1. 过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 可分为三个阶段 1.主动网络(20世纪90年代中期到21世纪初) 贡献有三个: 1.网络可编程性降低了技术创新的障碍 2.提出网络虚拟化,以及基于包头对软件程序进行复用 3.创建中间件编排统一的架构 2.将控制面与数据面分离(2001年-2007年) 贡献有三个: 1.提出两项创新,分别为控制面和数据面之间的开放接口与在逻辑上对网络进行集中控制 2.将控制功能转移到了单独的服务器上,这样逻辑上集中的路由控制器降低了标准的实施障碍,服务器技术的进步意味着单一的商品服务器可以存储的所有的路由状态,并为一个大型网络计算所有的路由决策 3.提出了两个概念,分别为使用数据面的开放接口进行集中逻辑控制和分布式状态管理 3.OpenFlow API和网络操作系统(2007年-2010年) 贡献有五个: 1.OpenFlow为学生和科研人员实现新协议和新算法提供一个很好的试验平台 2.OpenFlow交换机在数据中心网络中的使用,使得网络和计算资源更加紧密的联系起来并实现有效的控制 3.基于OpenFlow技术实现的网络更加便于控制,在内部网络和外网的连接处应用OpenFlow交换机可以通过更改数据流的路径以及拒绝某些数据流来增强企业内网的安全性 4.基于OpenFlow实现SDN

2019 SDN阅读作业(2)

痴心易碎 提交于 2019-12-05 15:56:15
1.作业要求: 阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,回答以下两个问题: 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 2.网络虚拟化与SDN的关系? 作业博客链接: http://edu.cnblogs.com/campus/fzu/fzusdn2019/homework/10094 2.问题回答: (1)过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 答:在过去20年中可编程网络的发展可以分为以下三个阶段: 主动网络阶段(从20世纪90年代中期到21世纪初) 贡献:它在网络中引入了可编程功能,实现了更大的创新。 ​ 在20世纪90年代中期,由于网络协议标准化过程的缓慢,一些网络研究人员采用了一种开放网络控制的替代方法,大致是基于对独立PC重新编程相对容易的类比。具体地说,传统网络在任何意义上都不是“可编程”的,主动网络代表了一种激进的网络控制方法,通过设想一个编程接口(或网络API)来公开各个网络节点上的资源(例如,处理、存储和数据包队列),并支持构建应用于子集的定制功能,主动网络研究计划探索了传统互联网协议栈通过IP或异步传输模式(ATM)提供服务的根本替代方案。 控制和数据平面分离阶段

2019 SDN上机第4次作业

只谈情不闲聊 提交于 2019-12-05 15:43:07
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) OpenDayLight是java实现的,因此需要先配置java环境, sudo gedit ~/.bashrc export JAVA_HOME=/usr/local/java/jdk1.8.0_201 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 先执行第一条命令,然后把后面的语句保存到bashrc文档 OpenDaylight官网 https://www.opendaylight.org/ OpenDaylight Beryllium版本下载地址,本次实验请安装下面这个版本↓↓↓↓↓ 2.启动并安装插件 安装命令 feature:install odl-restconf ​feature:install odl-l2switch-switch-ui ​feature:install odl-openflowplugin-all ​feature:install odl-mdsal-apidocs ​feature:install odl-dlux-core ​feature:install odl

2019 SDN上机第4次作业

点点圈 提交于 2019-12-05 15:28:40
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 配置java环境 安装OpenDayLight控制器 2. 启动并安装插件 cd distribution-karaf-0.4.4-Beryllium-SR4/bin/ ./karaf feature:install odl-restconf feature:install odl-l2switch-switch-ui feature:install odl-openflowplugin-all feature:install odl-mdsal-apidocs feature:install odl-dlux-core feature:install odl-dlux-node feature:install odl-dlux-yangui 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 python代码 from mininet.topo import Topo class Topo2( Topo ): def __init__( self ): # Initialize topology Topo.__init__( self ) # add switches and hosts sw1 = self.addSwitch('s1') sw2 = self

2019 SDN上机第4次作业

时光总嘲笑我的痴心妄想 提交于 2019-12-05 15:25:44
2019 SDN上机第4次作业 解压安装OpenDayLight控制器 配置Java环境 修改配置文件 sudo gedit ~/.bashrc 在底部添加以下语句 export JAVA_HOME=/usr/local/java/jdk1.8.0_211 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 启动并安装插件 安装ODL后运行./karaf (注意不能用sudo运行) , 安装feature 命令代码如下: opendaylight-user@root>feature:install odl-restconf opendaylight-user@root>feature:install odl-l2switch-switch-ui opendaylight-user@root>feature:install odl-openflowplugin-all opendaylight-user@root>feature:install odl-mdsal-apidocs opendaylight-user@root>feature:install odl-dlux-core

2019 SDN上机第4次作业

℡╲_俬逩灬. 提交于 2019-12-05 15:22:25
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 从 openDayLight 官网下载 并安装java环境 distribution-karaf-0.4.4-Beryllium-SR4.tar.gz 2. 启动并安装插件 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 4. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 5. 借助Postman通过OpenDayLight的北向接口下发流表,再利用OpenDayLight北向接口查看已下发的流表。 来源: https://www.cnblogs.com/cmsimple/p/11930746.html

2019 SDN上机第4次作业

眉间皱痕 提交于 2019-12-05 15:19:41
1.解压安装OpenDayLight控制器 下载完成后在终端输入 tar -zxvf distribution-karaf-0.4.4-Beryllium-SR4.tar.gz 完成解压 2.启动并安装插件 cd进入bin文件夹,输入./karaf 刚开始忘记配置java环境了,所以配置了重新运行./karaf就可以正常安装了 安装后进行配置 在浏览器输入http://127.0.0.1:8181/index.html进入ODL图形界面,用admin账户登录 3.用 Python脚本 搭建如下拓扑,连接OpenDayLight控制器 python代码如图 终端输入sudo mn --custom exp4.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13来构建拓扑 links查询链路连接情况 在ODL控制器端查看拓扑 4. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 因为要使20s内h2 ping 不通 h3,因此我们可以下发策略使port2进来的目的IP为h3的数据包都drop掉就能ping不通,然后设置hard_time为20s,则二十秒后策略失效。 配置流表 选择PUT方式下发流表

SDN上机第四次作业

老子叫甜甜 提交于 2019-12-05 15:16:42
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 安装ODL后安装插件 2.3用 Python脚本 搭建如下拓扑,连接OpenDayLight控制器 拓扑如图: Python代码: from mininet.topo import Topo class Mytopo(Topo): def __init__(self): Topo.__init__(self) sw=self.addSwitch('s1') count=1 for i in range(3): host = self.addHost('h{}'.format(count)) self.addLink(host,sw,1,count) count = count + 1 topos = {'mytopo': (lambda:Mytopo())} 搭建拓扑后输入pingall检测连通性,同时在控制器端查看拓扑图: 3.在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 输入links,查看端口连通情况,可以看到h2连接交换机的2号端口 在Yang UI界面输入node、table和flow的id,进入端口设置为2,ethernet-type设置为0x0800,设置ipv4-march中的源地址为10.0.0.2/32,目标地址为10.0.0.3/32

2019 SDN上机第四次作业

折月煮酒 提交于 2019-12-05 15:15:55
2019 SDN上机第四次作业 1.解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) ①配置java环境 解压文件 sudo gedit ~/.bashrc 在打开的文件底部添加相应语句 export JAVA_HOME=/usr/local/java/jdk1.8.0_201 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 下载安装该版本 注:当时配置环境没有修改相应路径,之后的实验中发现没有安装相应jdk环境,故之后的实验在虚拟机镜像中完成 2.启动并安装插件 安装代码 opendaylight-user@root>feature:install odl-restconf opendaylight-user@root>feature:install odl-l2switch-switch-ui opendaylight-user@root>feature:install odl-openflowplugin-all opendaylight-user@root>feature:install odl-mdsal-apidocs opendaylight