Mininet

2019 SDN大作业

走远了吗. 提交于 2020-01-06 10:04:04
2019 SDN大作业--数据中心类型网络拓扑的搭建与连接 贡献比例 学号 比例 031702345 28% 031702311 18% 031702428 18% 031702309 18% 131700101 18% 实验概述 使用两个互为备份的中心交换机 连接两两互为备份的共计四个交换机 下接四组各连有两台主机的交换机 作为数据中心类型网络拓扑的一个小型实现 上、中、下层均可以扩展来实现对更多网络主机的支持 实现在网络中心区域防止单个设备故障所引发的网络中断 实验拓扑 实验拓扑图如下 建立实验网络 建立流程如下 1.先打开OpenDayLigtht作为remote控制器,否则先运行mininet则不能连接到控制器 2.运行mininet建立拓扑结构,运行代码如 sudo mn --custom datacenter.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13 3.打开 http://127.0.0.1:8181/index.html#/topology 来查看拓扑 4.在mininet中输入net来获取网络接口信息,作为下发流表的依据 mininet的拓扑结构的Python代码如下: #!/usr/bin/python

OpenDayLight Helium实验三 OpenDaylight二层转发机制实验

青春壹個敷衍的年華 提交于 2019-12-28 13:44:18
本文基于 OpenDaylight二层转发机制实验 而成 在SDN网络中,处于末端的主机并不知道其连接的网络是SDN,某台主机要发送数据包到另一台主机,仍然需要进行IP到MAC地址的ARP解析。SDN网络中由于引入了控制器的角色,其二层数据转发的机制与普通二层以太交换机洪泛+MAC地址学习机制存在很大的差异。当源IP要与目的IP通信时,会将ARP请求转发到控制器,由控制器帮助询问目的主机的MAC并将结果返回给源主机。 本实验在SDN环境中配置相同网段的两台主机,通过测试二者之间的数据转发来理解和掌握二层转发机制。 实验topu: 实验过程 启动OpenDaylight Helium 版本,进入目录,执行:./karaf。 等待五分钟左右,出现如上提示。 执行以下命令查看进程,默认监听端口为6633。 ps -ef|grep opendaylight netstat -anp|grep 6633 访问网站 通过游览器访问ODL的可视化网站,Helium版本: http://[ODL_host_ip]:8181/dlux/index.html。在运行ODL的主机上运行ifconfig获得ODL_host_ip 。 账户和密码,都是admin。 Mininet操作 登录Mininet虚拟机,检查/home/mininet目录下是否有topo-2sw_2host.py实验脚本

OpenState安装及 Port Knocking 实验

被刻印的时光 ゝ 提交于 2019-12-28 13:43:57
OpenState安装及 Port Knocking 实验 OpenState安装 1.系统要求: 系统ubuntu 14.04 mininet:2.3.0d 2.下载安装文件: 在浏览器中输入即可下载 http://openstate-sdn.org/install.sh 将42行及80行的: sudo chown -R mininet:mininet 中的 mininet:mininet 修改为对应的用户。例:笔者用户名为ovs,即更改为 sudo chown -R ovs:ovs 3.安装 在 install.sh 文件目录下执行以下命令,一键安装: $ sudo sh install.sh 最终输出以下,即安装完成: echo "All set! To start using OpenState please refer to http://openstate-sdn.org for some example applications." Port Knocking 实验 1.通过键入以下命令在Mininet中启动portknock控制器应用程序: $ ryu-manager ryu/ryu/app/openstate/portknock.py 端口敲击程序由以下端口序列组成,实际打开最后一个端口22的位置,我们必须首先“敲”前面的4个端口。 PORT_LIST = [10

OpenState安装及 Port Knocking 实验

天涯浪子 提交于 2019-12-28 13:43:44
OpenState安装及 Port Knocking 实验 目录 OpenState安装 Port Knocking 实验 OpenState安装及 Port Knocking 实验 OpenState安装 1.系统要求: 系统ubuntu 16.04 mininet:2.3.0d 2.下载安装文件: 在浏览器中输入即可下载 http://openstate-sdn.org/install.sh 修改下权限, chmod 777 install.sh ,将42行及80行的: sudo chown -R mininet:mininet 中的 mininet:mininet 修改为对应的用户。例:笔者用户名为sdn,即更改为 sudo chown -R sdn:sdn 3.安装 在install.sh文件目录下执行以下命令,一键安装: $ sudo ./install.sh 最终输出以下,即安装完成: echo "All set! To start using OpenState please refer to http://openstate-sdn.org for some example applications." Port Knocking 实验 1.通过键入以下命令在Mininet中启动portknock控制器应用程序: $ ryu-manager ryu/ryu/app

SDN 网络系统之 Mininet 与 API 详解

混江龙づ霸主 提交于 2019-12-28 13:41:48
SDN 网络系统之 Mininet 与 API 详解 来源 https://www.ibm.com/developerworks/cn/cloud/library/1404_luojun_sdnmininet/ 更多资料 1. Mininet: http://mininet.org/ 2. Mininet wiki: https://github.com/mininet/mininet/wiki SDN 与 Mininet 概述 SDN 全名为(Software Defined Network)即软件定义网络,是现互联网中一种新型的网络创新架构,其核心技术 OpenFlow 通过网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为网络及应用提供了良好的平台。而 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。 Mininet 实现的特性 支持

mininet 操作命令

和自甴很熟 提交于 2019-12-28 13:41:33
2.mininet操作 2014/9 1.启动mininet 运行 sudo mn 以下是结果 administrator@ubuntu:~$ sudo mn *** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding switches: s1 *** Adding links: (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller *** Starting 1 switches s1 *** Starting CLI: mininet> 可见,mininet默认会建立一个两个主机连接着一个交换机的网络 2.常用命令 mininet> help 查看帮助 nodes 查看节点 net 查看链路、 dump 各个节点的信息 exit 退出 gterm hostname 虚拟终端 gnome-terminal xterm hostname 虚拟终端 xterm h1 ping h2 h1节点对h2节点进行ping操作 Link Up/Down 禁用s1与h1通路 link s1 h1 down 启用s1和h1通路 link s1 h1 up 3.mininet 运行参数 sudo mininet -c

mininet命令

╄→尐↘猪︶ㄣ 提交于 2019-12-28 13:41:14
官方文档: http://mininet.org/walkthrough/ 翻译的官方文档: https://segmentfault.com/a/1190000000669218 ovs-ofctl相关指令: http://blog.csdn.net/rocson001/article/details/73163041 sudo mn --topo-single,3 --mac --switch-ovsk --controller-remote, ip = 192.168.56.1 运行mininet并创建一个简单的topo(1个switch,3个host);创建的host拥有的mac地址相当于独立的IP,OpenFlow switch拥有3个端口;创建的switch连接到remote控制器上。 mininet> 1) nodes   查看mininet中节点的状态 2) help    获取帮助列表 3) h1 ifconfig   查看host1的IP等信息 4) xterm h1   打开host1的终端 5) exit   退出mininet登录 6) iperf h1 h2   测试h1和h2之间的带宽,用TCP 7) net   显示link状态 8) h1 ping -c 4 h2   检查两个主机间的连通状态   解释:该命令只会ping 4次

mininet实验 命令延伸实验扩展

回眸只為那壹抹淺笑 提交于 2019-12-28 13:40:23
mininet实验一 参考博客一 参考博客二 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建、Python脚本编写、交互式界面创建。 1.用命令行生成拓扑,并测试连通性,截图 1)最小的网络拓扑,一个交换机下面挂两个主机。 sudo mn --topo minimal 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 建立后用 exit 来退出。 2)每个交换机连接一个主机,交换机间相连接。本例:4个主机,4个交换机。 sudo mn --topo linear,4 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 3)每个主机都连接到同一个交换机上。本例:3个主机,一个交换机。 sudo mn --topo single,3 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 4)定义深度和扇出形成基于树的拓扑。本例:深度2,扇出2。 sudo mn --topo tree, fanout=2,depth=2 注意:每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响 sudo mn -c 2.Python脚本定义拓扑 1)--topo linear,4。 在装有mininet镜像的虚拟机中新建文件linear.py,添加以下内容:

使用Scapy向Mininet交换机注入流量 实验记录

僤鯓⒐⒋嵵緔 提交于 2019-12-28 13:40:03
使用Scapy向Mininet交换机注入流量 实验记录 用Python脚本及Scapy库写了一个简单的流量生成脚本,并打算使用该脚本往Mininet中的OpenvSwitch交换机注入流量。拓扑图如下: h1(10.0.0.1) :h1-eth0 <=> s1-eth1: s1 :s1-eth2 <=> h2-eth0: h2(10.0.0.2) 生成流量的目的IP: nw_dst=10.0.0.2/32 ; 注入流量的端口: s1-eth1 ; OVS此时已下好转发该流量的流表,主要作用是匹配该流量的目的IP地址,并转发到s1-eth2口。 然而,脚本往s1-eth1注入的流量全部被交换机丢弃,同时,使用 ovs-ofctl dump-flows s1 查看流表信息发现流表根本没有匹配到该流量。 逐步debug: 1.流量脚本没有问题; 2.下发的流表规则没有问题; 3.Mininet内主机互ping也正常。 随后开始怀疑脚本注入流量的端口不对,使用 ifconfig 查看端口信息,发现s1有三个端口,分别是 s1 , s1-eth1 和 s1-eth2 。 一试,发现当脚本往端口 s1 注入流量时,流量被s1正常转发,流表也有匹配到流量的数据。算是意外的收获,记之。 2018.1. 来源: https://www.cnblogs.com/qq952693358/p

Mininet 系列实验(三)

泪湿孤枕 提交于 2019-12-28 13:39:47
实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用。 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubuntu16 实验步骤 1. 检查 Mininet 版本 # mn --version Mininet 2.2.0内置了一个mininet可视化工具miniedit。miniedit在~/mininet/mininet/examples目录下提供miniedit.py脚本,执行脚本后将显示Mininet的可视化界面,在界面上可进行自定义拓扑和自定义设置。如果安装的是早期的Mininet版本可以先卸载,再重新安装。 卸载命令: # sudo rm -rf /usr/local/bin/mn /usr/local/bin/mnexec \ /usr/local/lib/python*/*/*mininet* \ /usr/local/bin/ovs-* /usr/local/sbin/ovs-* # sudo apt-get remove mininet 安装过程参考: Mininet系列实验(一) 2. 执行命令启动 miniedit # ./miniedit.py 这条命令要在 ~/mininet/mininet/examples 下执行,例如我的是 /home/osstudy