SDN实验---Mininet的相关命令(待补充完善)
一:补充
(一)推文
openvswitch的原理和常用命令
https://blog.csdn.net/ten_sory/article/details/79593554
(二)回顾:sudo mn --test pingall
测试的是一个mininet自带的简单网络拓扑的连通性问题,这个简单的网络拓扑结构包含一个交换机s1,两个主机h1,h2与交换机构成连通网络
1.使用mn命令进入测试网络(上面图中网络)
可以查看信息
2.使用links命令查看链路连通性
3.使用dump查看各个节点信息
4.使用pingall命令测试各个主机之间是否连通
二:命令图谱
三:网络构建参数
(一)topo
1.单一拓扑:整个网络拓扑中交换机只有一个,下面可以连接多个主机
2.线性拓扑:可以有多个交换机,但是每个交换机下面只是连接一个主机
注意:网络链路状态中,links是包含交换机之间也是连通的 s1--s2--s3--s4
3.树形拓扑
depth设置树的深度(不含根节点),fanout设置每个节点下的子树个数(广度)
4.自定义拓扑(重点)
(二)switch
定义网络拓扑要使用的交换机,后面可以接的参数有:ovsk、ovsbr、ivs、lxbr、user,前面三种均为OVS型交换机,后面两种分别为内核型(linux bridge)和用户型(user)交换机。
交换机分类3类:内核型、用户型、OVS型,其中内核型和OVS型的吞吐量比用户型大很多,因此一般采用后两种。
测试三者的TCP bandwidth
sudo mn --test iperf 内核型
sudo mn --switch user --test iperf 用户型
sudo mn --switch ovsk --test iperf ovs型
(三)controller :一般我们不用mininet自带的控制器,而是自己制定一个远程控制器
如果--ip和--port省略的话,则默认使用本地ip地址,端口默认使用6653或6633端口号。
(四)mac
使用这个参数可以让MAC地址从小到达排列,使得复杂的网络更清晰,容易辨识各个组件的MAC地址。
不使用这个参数的话,复杂的网络容易混乱。
四:内部交互命令
(一)常用内部交互命令(不可修改网络结构)
这些命令在 mininet> 命令模式下使用,仅查看网络设备状态信息,不对网络结构进行改变
net 查看链路信息,两个设备之间的之间连线,称为一个链路,链路是双向的 nodes 查看有哪些可用节点 links 检测链路是否正常工作 pingall 检测各个主机之间的连通性 pingpair 检测前两个主机的连通性 dump 查看节点信息
(二)采用内部交互命令:可以更改网络结构的命令,或者是带参数命令
1.py命令
执行Python表达式,例如添加网络设备。下面举例说明: 在mininet自带的网络拓扑的基础上,我们想添加一个主机h3,并且让它和s1之间连通,且可以和其他两个主机h1和h2互相ping通。
py net.addHost('h3') #给当前网络net添加新的主机h3 py net.addLink(s1,h3) #为主机h3和交换机s1之间添加一条链路 py s1.attach('s1-eth3') #为交换机s1添加一个接口用于与h3相连 py h3.cmd('ifconfig h3-eth0 10.3') #为主机h3配置端口及改端口的IP地址 h1 ping h3 #重要!!h1知道h3的IP地址,而h3不知道h1的地址,因此需要h1告诉h3的地址 pingall #测试所有主机都是连通的
2.link:设置链路状态
link s1 s2 down/up 禁用/开启s1和s2这两个节点之间的链路
可以看到,当关闭链路s1 s2后,主机h1和h2是无法通信的
3.iperf h1 h2 测试两个主机h1和h2之间的TCP带宽
4.iperfupd bw h1 h2 测试两个主机h1和h2之间的UDP带宽
一定要加上bw
5.dpctl 对所有交换机操作流表,包括流表的显示、添加、修改、删除,具体用法,参考
6.xterm 如xterm h1打开主机h1的操作窗口
五:Mininet可视化
(一)启动Miniedit
注意:最好在root权限下运行,在前面加上sudo
(二)自定义创建拓扑,设置设备信息
1.创建拓扑
2.配置设备属性
配置控制器
右击设备,出现控制器选项和属性
配置交换机
注意DPID是16位长度
配置主机
注意:IP配置是根据全局配置中设置的网络地址设置的
配置链路
miniedit的全局配置
(三)运行拓扑并生成拓扑脚本
运行设置好的网络拓扑,可在命令行界面显示出运行的拓扑信息
运行当中,右击长按,可以查看设备信息
使用图形界面设置好拓扑后,可以通过选择File-Export Level Script,将其保存为python脚本,以后直接运行python脚本即可重现拓扑,重现拓扑后可在命令行直接操作
可以通过python 脚本.py或者赋予脚本执行权限chmod +X 脚本.py
SDN实验---Mininet的相关命令(待补充完善)的更多相关文章
- SDN实验---Mininet实验(玩转流表)
一:实验目的 (一)案例目的 (二)实验内容 (三)网络拓扑结构 二:OpenFlow流表实验准备 (一)使用Python设置网络拓扑 --- tree_topo.py from mininet.to ...
- SDN实验---Mininet实验(模拟多数据中心带宽实验)
补充:NameError: name 'buffer' is not defined >>> import sys >>> ,): ... buffer = mem ...
- 实验 4 :Open vSwitch 实验 —— Mininet 中使用 OVS 命令
实验 4 :Open vSwitch 实验 -- Mininet 中使用 OVS 命令 一.实验目的 Mininet 安装之后,会连带安装 Open vSwitch,可以直接通过 Python 脚本调 ...
- SDN实验2
第二次sdn实验: 1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况. 本次使用py ...
- Linux文件管理相关命令
Linux文件管理相关命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...
- SDN实验---Ryu的应用开发(二)Learning Switch
一:自学习交换机(二层MAC交换机)的编程思路 (一)明确问题 如何实现软件定义的自学习交换机? (二)设计解决方案 通过控制器来实现自学习交换算法,然后指导数据平面实现交换机操作 (三)确定具体的技 ...
- linux 搜索相关命令(2)
文件搜索相关命令 1:locate命令 需要 yum install mlocate locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命 ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- linux 目录结构及其相关命令
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用 ...
随机推荐
- Python的包管理工具
Python的包管理工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么使用包管理 Python的模块或者源文件直接可以复制到目标项目目录中,就可以导入使用了. 但是为了 ...
- 【Miscalculation UVALive - 6833 】【模拟】
题目分析 题目讲的是给你一个串,里面是加法.乘法混合运算(个人赛中误看成是加减乘除混合运算),有两种算法,一种是乘法优先运算,另一种是依次从左向右运算(不管它是否乘在前还是加在前). 个人赛中试着模拟 ...
- C# 利用log4net 把日志写入到数据库
效果图: 1:第一步创建SQL表结构 CREATE TABLE [dbo].[LogDetails] ( [LogID] int NOT NULL IDENTITY(1,1) , [Log ...
- 机房断电,导致xfs文件系统损坏
记一次机房断电,导致xfs文件系统损坏处理方法 挂载时报以下错误: mount: mount /dev/sdb on /dev/sdb failed: Structure needs cleaning ...
- oracle数据库(四)
子查询与高级查询 我们在检索数据库的时候,需要将多个表关联起来进行查询,最常用的有子查询.连接查询和集合查询,子查询可以从另外一个表获取数据,连接查询可以指定多个表的连接方式,集合查询可以将两个或者多 ...
- Sql语句中Like嵌套用法
一般的Like用法: SELECT U_NAME FROM T_USER WHERE U_NAME LIKE '%A%' 但是,我此次like关键字后面的对应值是一个变量,需要用select语句来实现 ...
- rhcsa备战笔记
笔记全部手打 转载请加原文链接 0)重置密码开机按e 找到linux16行 rd.break console=tty0 ctrl+xmount -o remount,rw /sysrootchroo ...
- know thself
- git-中文乱码
Windows系统的Git默认是不支持中文显示的,需要进行一系列的设置才能避免乱码的出现,下面总结如何配置Git使其支持中文显示. Git bash options UTF-8编码配置 1.首先进入g ...
- django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie
Traceback (most recent call last): File "manage.py", line 15, in <module> execute_fr ...