实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外,还可以利用控制器测量路径的损耗率.在本实验中,基于Mininet脚本,设置特定的交换机间的路径损耗速率,然后编写POX脚本,实现对路径的损耗率的测量. 拓扑图: 在该环境下,h0向h1发送数据包,由于在mininet脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-s0-s1-h1).这里假设控制器预先知道网络拓扑,所以我没有显示发现网络的代码以及其…
1 实验目的 熟悉Mininet自定义拓扑脚本的编写与损耗率的设定: 熟悉编写POX脚本,测量路径损耗速率 2 实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外,还可以利用控制器测量路径的损耗率.在本实验中,基于Mininet脚本,设置特定的交换机间的路径损耗速率,然后编写POX脚本,实现对路径的损耗率的测量 3 实验内容 这是本实验的拓扑图,在该环境下,h0向h1发送数据包,由于在mininet脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的…
实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设 定:初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率. 实验任务 h0 向 h1 发送数据包,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中 会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- s0-s1-h1).这里假设控制器预先知道网络拓扑.控制器将向 s0 和 s1 发送 flow_stats_request,当控制器接收到来自…
验 3:Mininet 实验--测量路径的损耗率 一.实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设定:初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率. 二.实验任务 h0 向 h1 发送数据包,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-s0-s1-h1).这里假设控制器预先知道网络拓扑.控制器将向 s0 和 s1 发送flow…
基于Mininet测量路径的损耗率 控制器采用POX,基于OVS仿真 Mininet脚本 创建Node mininet.node Node 创建链路连接 mininet.link TCLink 设置intf link.intf1 link.intf2 node.intf1.setMAC() 配置HOST node.setIP() 配置vswitch bridge node.cmd("ovs-vsctl addr-br dp0") 设置controller contrller -v pt…
一.实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设定: 初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率. 二.实验任务 h0 向 h1 发送数据包,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中会丢失 一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-s0-s1-h1).这里 假设控制器预先知道网络拓扑.控制器将向 s0 和 s1 发送flow_stats_request,当控制 器接收…
一.实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设定;初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率. 二.实验任务 h0 向 h1 发送数据包,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-s0-s1-h1).这里假设控制器预先知道网络拓扑.控制器将向 s0 和 s1 发送flow_stats_request,当控制器接收到来自…
参考:基于Mininet实现BGP路径挟持攻击实验 实验目的: 掌握如何mininet内模拟AS. 掌握BGP路径挟持的原理和分析过程. 实验原理: 互联网是由相互连接的自治系统AS组成的,通过一个通用的边界网关协议(BGP)进行交互彼此的路由信息.如果利用BGP进行特殊攻击,比如一个伪装的AS伪造了一个更短的路径到前缀P,其他的AS要路由到前缀P时就会选择这个更短的路径,受到感染的AS会把该攻击信息继续向其他的AS传播,使得更多的AS受到感染,逐渐形成了BGP劫持攻击. 实验任务: 通过创建下…
参照:基于Mininet测量路径的损耗率 在SDN环境中,可以利用控制器来测量特定路径的损耗率,在本实验中,基于Mininet脚本,设置特定的交换机间的路径损耗速率,然后编写POX脚本,实现对路径的损耗率的测量. 实验介绍(参照原文): 在该环境下,h0向h1发送数据包,由于在mininet脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-s0-s1-h1).这里假设控制器预先知道网络拓扑,所以我没有显示发现网络的代码以及其他相关代码.控…
参照:OpenFlow1.3协议基于Mininet部署与验证 安装过程,参考原文. 实验 使用ifconfig查看本机IP地址:192.168.1.101 进入OpenDayLight界面,cd到bin目录下,执行./karaf,打开ODL控制器. 注意:控制器和Mininet在同一台机子上运行的情况下,请使用以下命令查看端口: netstat -t 得到的ODL端口号为:6653,而非原文的6633!!!在这之前我一直都用6633尝试互ping,结果ping不通! 原文命令: mn --swi…
本文参照:Mininet 命令延伸实验扩展 步骤1:命令行创建拓扑 sudo mn --topo minimal 最小的网络拓扑,一个交换机下挂两个主机. sudo mn --topo linear,4 每个交换机连接一个主机,交换机间相连接.本例:4个主机,4个交换机. sudo mn --topo single,3 每个主机都连接到同一个交换机上.本例:3个主机,一个交换机. sudo mn --topo tree,fanout=2,depth=2 定义深度和扇出形成基于树的拓扑.本例:深度…
写在前面 本文参考 通过这个实验,我学习到了另一种下流表的方式. 下流表有两种方式(我目前了解): 通过controller下发. 通过OvS提供的API直接向OvS交换机下流表. 本实验脚本已经把相关过程写好,读一下脚本熟悉API是关键. 实验简介 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为.在本实验中,使用Mininet基于python的脚本,调用"ovs-vsctl"命令直接控制Open vSwitch. 本实验在基于Mininet脚本的不同拓扑环境…
写在前面 本实验参考 POX脚本设置好控制器的转发策略,所以只要理解脚本. mininet脚本设置好拓扑和相关信息,所以也只要理解脚本. POX脚本目前基本看不懂. 本实验我学会了:POX控制器Web界面,第一次真正的看到了流表项. 实验拓扑 在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S2-S5.通过这个循环调度的例子动态地改变交换机的转发规则. 实验步骤 1…
实验目的 掌握多数据中心网络拓扑的构建 掌握多数据中心数据交换过程 实验原理 主机间发送消息上报给交换机,交换机对收到的报文信息进行分析判断,如果交换机中存在此消息相对应的流表,则交换机直接下发流表,将报文消息转发给目的主机:如果交换机中没有相对应的流表,交换机将此发送消息给控制器,控制器根据消息分析关键字段内容,进行流表下发决策,交换机再将消息发送给目的主机,实现主机间通信的目的. 实验任务 创建一个虚拟网络,虚网中包括一台floodlight虚拟机和Mininet虚拟机,使用Mininet设…
实验 2:Mininet 实验--拓扑的命令脚本生成 一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三.实验步骤 1. 实验环境 安装了 Ubuntu 16.04.7 Desktop amd64 的虚拟机 2. 实验过程 (1)针对特定拓扑的命令行快速创建 // 最小拓扑,1 台交换机下挂 2 台主机 $ sudo mn --topo minima…
一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三.实验步骤 实验环境 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机 实验过程 (1)针对特定拓扑的命令行快速创建 // 最小拓扑,1 台交换机下挂 2 台主机 $ sudo mn --topo minimal // 简单拓扑,1 台交换机下挂 n 台主机,此处 n=3,n…
实验2: Mininet 实验--拓扑的命令脚本 一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二 .实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三 .实验步骤 1. 实验环境 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机 2. 实验过程 ( 1 ) 针对特定拓扑的命令行快速创建 // 最小拓扑, 1 台交换机下挂 2 台主机 $ sudo mn --topo mi…
参考:MiniNet实验1 安装命令: sudo apt-get update sudo apt-get upgrade sudo apt-get install git(安装过git就可以忽略此步) git clone git://github.com/mininet/mininet cd mininet cat INSTALL(此步执行之后,出现信息,最后是Good Luck!) //此时在/home/wasdns/mininet目录 util/install.sh -a(-a选项默认安装在…
原文:设置带宽之简单性能测试 这个实验主要还是说明通过python程序来设定Mininet中的链路带宽. 目的: Python脚本实现自定义拓扑 设置链路的带宽.延迟及丢包率 iperf测试主机间的带宽性能 实验: 实现一个单个交换机的拓扑,添加一个交换机,和N个主机到网络中.交换机和主机之间的每个链路能够设置带宽.延迟时间.以及丢包率.创建一个包含一个交换机和四个主机的网络,使用iperf测试主机之间的带宽. 拓扑图如下所示: 原文说实验需要两台虚拟机,其实一台装好Mininet的虚拟机即可,…
参考:MiniNet实验2 通过Mininet学习可视化操作,可以在界面上方便的构建拓扑结构. 最新的Mininet 2.2.0内置了一个mininet可视化工具miniedit.miniedit在/home/mininet/mininet/examples目录下提供miniedit.py脚本,执行脚本后将显示Mininet的可视化界面,在界面上可进行自定义拓扑和自定义设置. cd /home/wasdns/mininet/mininet/examples ./miniedit.py 拖了几个部…
参考博客一 参考博客二 实验目的 mininet中内置了一个mininet可视化工具:miniedit.miniedit在mininet/mininet/examples目录下提供miniedit.py脚本,执行脚本后将显示Mininet的可视化界面,在界面上可进行自定义拓扑和自定义设置. miniedit的启动方式 可视化自定义创建拓扑,并设置拓扑信息 生成拓扑脚本方便使用 本实验需要两台虚拟机,分别安装OpenDaylight和Mininet. 进入目录后运行miniedit.py脚本 ./…
介绍 拓扑如下: 在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S2-S5.通过这个循环调度的例子动态地改变交换机的转发规则. pox脚本 pox脚本lab_controller.py 不得不说这脚本问题是真的多. from pox.core import core import pox.openflow.libopenflow_01 as of from pox…
本次试验基于mininet平台,在平台中利用ovs新建1个交换机,以pox为控制器,ovx作为中间层实现虚拟化. 基础请参照http://ovx.onlab.us/getting-started/tutorial/ 但是由于上述只是直线拓扑,而且中间不经过节点,因此我们要构建一个复杂的拓扑,如标红的拓扑 首先我们将pox的l2_learing修改一下,也就是把host,switch与path信息写进去 其次开启ovx,pox 在/ovx/utils/具体代码如下: 新建虚拟网络,并制定控制器与h…
补充:NameError: name 'buffer' is not defined >>> import sys >>> ,): ... buffer = memoryview >>> b = buffer('yay!'.encode()) >>> len(b) 因为在Python3中buffer已经被memoryview取代了,buffer在Python2中使用,所以我们可以在文件中加入 import sys ,): buffer…
一:实验目的 (一)案例目的 (二)实验内容 (三)网络拓扑结构 二:OpenFlow流表实验准备 (一)使用Python设置网络拓扑 --- tree_topo.py from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController from mininet.link import TCLink from mininet.util import dump…
参考博客一 参考博客二 事先准备-floodlight安装 Java安装方法及环境变量配置 执行ifconfig命令获取floodlight所在服务器的IP地址. 1.启动floodlight java -jar target/floodlight.jar 浏览器中,输入floodlight ui界面地址:http://localhost:8080/ui/index.html 2.用python脚本通过mininet创建拓扑 切换到/home/mininet目录,请检查是否存在测试脚本fattr…
1 import logging 2 import os 3 import time 4 import thread 5 import multiprocessing 6 7 from mininet.net import Mininet 8 from mininet.node import RemoteController 9 from mininet.cli import CLI 10 from mininet.log import setLogLevel 11 from mininet.l…
multipath多路径实验02-配置多路径软件 在上一篇文章<multipath多路径实验01-构建iSCSI模拟环境>,我构建了iSCSI的模拟环境,在文章最后,已经成功配置并在主机上认出多个链路分别映射出的盘.而本文我就要对这样的多路径环境,通过Linux自带multipath多路径软件聚合成可以方便我们后期使用的形式. 1.安装多路径软件包 2.设置服务开机启动 3.生成multipath配置文件 4.multipath的常用命令 5.udev绑定权限 6.新建ASM磁盘组测试 1.安…
21.实验基于_version进行乐观锁并发控制 主要知识点: 实验基于_version进行乐观锁并发控制 1.实验实战演练基于_version进行乐观锁并发控制 (1)先构造一条数据出来 PUT /test_index/test_type/7 { "test_field": "test test" } (2)模拟两个客户端,都获取到了同一条数据 GET test_index/test_type/7 { "_index": "test_…
参考:使用l2_multi模块寻找最短路径实验 1. 实验目的 1.认识VND并且掌握其基本使用方法. 2.学会使用pox控制器的l2_multi模块寻找主机间的最短传输路径. 2. 实验原理 VND是一个基于web的图形用户界面,布局和用法有点类似于packet tracer,用户利用所提供的网络元件自主搭建拓扑,双击某个元件可以查看.编辑该元件的基本信息.拓扑搭建完成后,用户可以根据需要导出生成NSDL文件,SDN版本的VND还可以生成mininet和openflow控制器脚本. forwa…