Mininet使用教程

2023-05-16

注:
1)重要的链接:http://mininet.org/walkthrough/#display-startup-options
在这里插入图片描述
2)IPv4与IPv6之间的地址转换
https://www.subnetonline.com/pages/subnet-calculators/ipv4-to-ipv6-converter.php
一、日常Mininet的使用
1.键入以下命令以显示描述Mininet的启动选项的帮助消息:

$ sudo mn -h

在这里插入图片描述
2.Mininet常用命令的使用
1).显示Mininet CLI命令:
在这里插入图片描述
2)显示节点信息
在这里插入图片描述
3)显示链接信息
在这里插入图片描述
4)转储有关所有节点的信息
在这里插入图片描述
5)第一个字符串是主机名,交换机名或控制器名,则命令将在该节点上执行
回环(loopback)指将电子信号、数据流等原样送回发送者的行为。它主要用于对通信功能的测试。
在这里插入图片描述
6)默认情况下,交换机在根网络名称空间中运行,因此在“交换机”上运行命令与从常规终端运行命令相同
在这里插入图片描述
7)从主机进程中打印进程列表
请注意,只有网络是虚拟的。每个主机进程都具有相同的进程和目录集。
在这里插入图片描述
8)测试主机之间的连接

ping的相关命令参数:
https://www.cnblogs.com/machangwei-8/p/10352808.html
-d:使用Socket的SO_DEBUG功能;
-c<完成次数>:设置完成要求回应的次数;
-f:极限检测;
-i<间隔秒数>:指定收发信息的间隔时间;
-I<网络界面>:使用指定的网络界面送出数据包;
-l<前置载入>:设置在送出要求信息之前,先行发出的数据包;
-n:只输出数值;
-p<范本样式>:设置填满数据包的范本样式;
-q:不显示指令执行过程,开头和结尾的相关信息除外;
-r:忽略普通的Routing Table,直接将数据包送到远端主机上;
-R:记录路由过程;
-s<数据包大小>:设置数据包的大小;
-t<存活数值>:设置存活数值TTL的大小;
-v:详细显示指令的执行过程。

在命令中出现带有节点名称的字符串,则该节点名称将被其IP地址替换。
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

在这里插入图片描述

在这里插入图片描述
ping第二次尝试的时间应该更少(<100us)。ping先前在交换机中安装了覆盖ICMP 流量的流条目,因此没有生成控制流量,并且数据包立即通过交换机。
在这里插入图片描述
9)运行一个简单的Web服务器和客户端

mininet> h1 python -m SimpleHTTPServer 80 &
#  这个也可以!mininet> h2 python -m SimpleHTTPServer 80 >& /tmp/http.log &
mininet> h2 wget -O - h1  #大写的O
...
mininet> h1 kill %python

二、高级启动选项
1.运行回归测试
1).该命令创建了最小的拓扑,启动了OpenFlow参考控制器,进行了全对ping测试,并拆除了拓扑和控制器。在这里插入图片描述
2).此命令创建相同的Mininet,在一台主机上运行一台iperf服务器,在第二台主机上运行一台iperf客户端,并解析所获得的带宽。
在这里插入图片描述
2.更改拓扑的大小和类型
默认拓扑是连接到两个主机的单个交换机。您可以使用将其更改为其他拓扑–topo,并为该拓扑的创建传递参数。例如,要验证一台交换机和三台主机的所有对ping连接,请执行以下操作:
在这里插入图片描述
具有线性拓扑(其中每个交换机都有一个主机,并且所有交换机都在一条线上连接):
在这里插入图片描述
3.链接变化

 $ sudo mn --link tc,bw=10,delay=10ms#带宽为10M,延迟为10ms。

如果每个链路的延迟为10毫秒,则往返时间(RTT)应该约为40毫秒,因为ICMP请求遍历两个链路(一个到交换机,一个到目的地)并且ICMP答复遍历两个返回的链路。
在这里插入图片描述
4.自定义拓扑
一个行之有效的方式是将所编写的程序代码放在/mininet/custom/目录下,然后使用下面的命令来运行相应的程序。

$ sudo mn --custom ~/mininet/custom/topo-2sw-2host.py --topo mytopo --test pingall

在这里插入图片描述
5.ID=MAC
默认情况下,主机以随机分配的MAC地址开头。这会使调试变得很困难,因为每次创建Mininet时,MAC都会改变,因此很难将控制流量与特定主机相关联。

该–mac选项超级有用,并将主机MAC和IP地址设置为小的,唯一的,易于读取的ID。
在这里插入图片描述
在这里插入图片描述
三、Mininet命令行界面(CLI)命令
1.显示选项
要查看命令行界面(CLI)选项的列表,请启动最小化拓扑并使其运行。建立Mininet:

$ sudo mn

在这里插入图片描述
2.Python解释器

在Mininet CLI上,运行:
mininet> py 'hello ' + 'world'

打印可访问的局部变量:
mininet> py locals()

接下来,使用dir()函数查看可用于节点的方法和属性:
mininet> py dir(s1)

使用help()函数阅读在线文档,以获取节点上可用方法的信息:
py help(h1)

评估变量的方法:
mininet> py h1.IP()

在这里插入图片描述在这里插入图片描述
3.链接上/下

要禁用虚拟以太网对的两个部分:
mininet> link s1 h1 down

您应该看到生成了OpenFlow端口状态更改通知。备份链接:
mininet> link s1 h1 up

在这里插入图片描述
四、Python API示例
1.每个主机的SSH守护程序
一个可能特别有用的示例在每个主机上运行SSH守护程序:
在这里插入图片描述
五、WireShark
1.WireShark简介
WireShark是世界上使用最广泛的网络协议分析器。
功能:
标准的三窗格数据包。
能够实时捕获和离线分析。
业界最强大的显示过滤器。
在这里插入图片描述
2.Wireshark在Linux系统下的安装及使用
https://blog.csdn.net/jipengwang/article/details/78799310
3.WireShark使用详解:
https://blog.csdn.net/qq_36119192/article/details/84671638
https://blog.csdn.net/leichelle/article/details/8186900
4.ubuntu新版wireshark的升级与回退
https://blog.csdn.net/bryanting/article/details/53327575

六、libevent
1.libevent的的安装教程
https://blog.csdn.net/u010710458/article/details/79408766
2.软件的下载地址
http://libevent.org/
3.软件的卸载命令
sudo apt-get remove libevent**(可以使用tab建进行提示)
注:在安装时,安装的是libevent-2.0.22.但是在查看软件版本时,却变成了libevent-2.1.6。
七、常见的Linux命令
1.查看安装的所有软件
dpkg -l在这里插入图片描述
2.程序库文件的指明
一般来说,库文件如果是在/usr/lib或/usr/local/lib下的话,编译时候会自动加载的,不需要显示的指明库文件所在位置。如果编译出错,可以显示地
指明库文件所在目录。
g++ main.cpp -L/usr/local/lib -levent
//-L 告知编译器库文件所在目录位置
//-l 告知编译器所需链接库文件
在这里插入图片描述
3.删除和创建以'-'开头的文件。
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mininet使用教程 的相关文章

  • Postman 使用教程 - 手把手教你 API 接口测试

    本文完整版 xff1a Postman 使用教程 API 接口自动化测试初探 卡拉云 Postman 教程目录 API 是什么 xff1f CSDN无法设置随便阅读 xff0c 不想关注的朋友 xff0c 可在这里看本文完整版 Postma
  • conda 使用教程

    conda 使用教程 针对 ubuntu 20 04 ubuntu 20 04 是 西柚云 主要使用的操作系统 西柚云官网 文章目录 conda 使用教程虚拟环境管理channels 管理包管理配置管理 参考教程 xff1a conda 的
  • [Linux]Windows使用ssh连接Linux虚拟机(mininet)

    作者 xff1a 清水寺丞 简介 xff1a 正在学习unity xff0c 数据库 xff0c 计算机通信网络和python 喜欢部署各种奇奇怪怪的小项目 喜欢就点个关注一起学习吧 目录 前言 xff1a 一 步骤 1 查看虚拟机IP地址
  • Intel Realsense T265使用教程(转载)

    这里面很重要一点说了获取T265相机参数的方式 xff0c 包括 相机的内参和相机与IMU之间的外参 转载自 xff1a https blog csdn net crp997576280 article details 109544456
  • MongoDB使用教程

    1 下载 xff1a https www mongodb com try download community 2 安装 解压下载包后正常步骤安装 创建服务 e Application develop MongoDB bin为路径 data
  • vncviewer使用教程

    首先安装vncviewer 之后在服务器输入你想要开启的 端口号 conda deactivate vncserver 88 VNC Server这里写 你的服务器地址 5900 43 端口号 如果出现以下问题 xff0c 可能是配置文件的
  • vnc使用教程,超实用的vnc使用教程

    在工作中 xff0c 难免会使用到vnc 小编也一样 很多小伙伴也问过我这个问题 xff0c 什么样的vnc使用教程能做到简单快捷 那大家知道vnc使用过程中 xff0c 是如何实现简单快捷的呢 接下来 我将会对vnc使用教程作一个简单介绍
  • jQuery LigerUI 使用教程

    首页引入样式文件和js文件 xff1a lt link href 61 34 css ligerui all css 34 rel 61 34 stylesheet 34 type 61 34 text css 34 gt lt jquer
  • CMake+QT使用教程

    一 CMake入门 下面是使用 Qt 用 C 43 43 编写的控制台应用程序的典型文件 xff1a CMakeLists txt 1 构建一个控制台应用程序 span class token comment 指定应用程序所需的CMake最
  • Mininet使用教程

    注 xff1a 1 重要的链接 xff1a http mininet org walkthrough display startup options 2 IPv4与IPv6之间的地址转换 https www subnetonline com
  • quartus Ⅱ 12.1 使用教程(4) uart 测试

    开发板使用的是EP4CE15F23C8 xff0c 软件使用的是quartus 12 1 xff0c 工程实现的功能是使用uart进行回环测试 顶层 module uart test i clk i rst n rx tx input i
  • EZDML 使用教程

    概述 我们可借助EZDML这款数据库设计工具 xff0c 来辅助我们梳理复杂的业务表关系 1 xff09 下载地址 http www ezdml com download cn html 2 xff09 使用说明 xff08 1 xff09
  • Source Insight使用教程

    作为一个开放源代码的操作系统 xff0c Linux 附带的源代码库使得广大爱好者有了一个广泛学习 深入钻研的机会 xff0c 特别是Linux 内核的组织极为复杂 xff0c 同时 xff0c 又不能像windows 平台的程序一样 xf
  • NVIDIA Jetson NX使用教程3配置pytorch环境

    本节主要记录 xff0c 安装pytorch及torch vision 1 下载Pytorch 因为jetson属于arm架构的机器 xff0c 所以需要去nvidia的官网下载对应的安装包而不是pytroch的官网 官网链接 xff0c
  • Spire.Doc系列教程:C# Word 图片替换

    Spire Doc支持在Word文档中对图片进行多种操作 如添加 提取 替换和删除等 本文主要介绍如何使用Spire Doc替换Word文档中的图片 在Spire Doc中 图片替换包含文本替换图片和图片替换图片两种方式 以下部分将对这两种
  • Matrikon OPC常见问题及解决方案(一)

    本文主要分享了使用MatrikonOPC服务器时遇到的一些最常见的问题和相应的解决方案 在联系MatrikonOPC支持团队之前 你可以看一下以下问题 解决方案和问题 答案部分是否能帮助你解决目前问题 问题和解决方案 安装时出现 aprxd
  • 语音识别之获取语言数据(portaudio的平台搭建)

    我们要进行语言识别 那么就要先构建好平台 portaudio 我们需要采集所需要的16KHZ频率 16比特的声音信号 我们就可以采用portaudio来实现这个功能 那么这个Portaudio怎么使用呢 请看 http www cnblog
  • 由于 Mininet 中的身份验证错误,X11 连接被拒绝

    每当我从 mininet 中运行 xterm 时 我都会收到此消息 mininet gt xterm h1 mininet gt X11 connection rejected because of wrong authentication
  • 如何在mininet中将不同的交换机连接到不同的遥控器?

    我想将 mininet 虚拟网络的不同交换机连接到不同的远程控制器 但不知道如何继续 请提供任何方法来做到这一点 任何 python 示例都值得赞赏 我推荐你阅读此邮件形式为 mininet 的邮件列表档案 https mailman st
  • Mininet 找不到所需的可执行控制器

    每当我想在 mininet 中运行 sshd py 示例或我自己编写的一些客户代码时 我都会得到 Creating network Adding controller Adding hosts h1 h2 h3 h4 h5 Adding s

随机推荐

  • webpack:打包示例-打包多入口

    入口 entry 前台 index 39 public assets js index 39 打包入口项 list 39 public assets js list 39 search 39 public assets js search
  • kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图 左边为容器 右边为虚拟机 容器技术是虚拟化技术的一种 xff0c 以Docker为例 xff0c Docker利用Linux的LXC LinuX Containers 技术 CGroup Controll Grou
  • curl错误28:Resolving timed out after 15009 milliseconds解决方案

    报错信息如字面意思就是连接超时了 xff0c 解决方案如下 xff1a 1 检查Curl的超时参数 xff0c 如果设置小于1s的超时时间 xff0c curl会直接返回超时错误 xff08 28 xff09 xff0c 并不会发起任何的请
  • Linux 可视化桌面远程连接

    Linux xff08 一 xff09 防止系统文件修改导致DNS清空 chattr 43 i etc resolv conf xff08 二 xff09 安装vnc yum install y tigervnc tigervnc serv
  • C-Free5注册码,秘钥,解决办法

    C Free5注册码 xff0c 秘钥 xff0c 解决办法 用户名 xff1a 123123 电子邮件 xff1a 111 64 qq com 注册码 xff1a mJ2Em9jdm7jGwYTpmp2H6KmehtvO 显示让重启电脑
  • Ubuntu16.04将python命令指向python3

    第一步 xff1a 将原来的python文件进行备份 sudo cp usr bin python usr bin python bak 第二步 xff1a 删除原来指向python2的文件 sudo rm usr bin python 第
  • 素数伴侣

    题目 xff1a 解析 xff1a 本题目采用了匈牙利算法 xff0c 起初以为只是找到所有的素数伴侣 xff0c 但是题目有一个条件 xff0c 那就是每个数字只能使用一次 xff0c 组成拥有最多的素数伴侣 代码产出 xff1a spa
  • 接之前的SpringBoot项目通过金蝶中间件部署中未处理的问题

    新建的springboot项目是2 3 1的版本 xff0c 打包到金蝶中部署就一直栈内存溢出 后来把pom文件中的父依赖换成了2 2 4版本 xff0c 打包部署到金蝶中就能运行了 xff0c 我也不知道具体原因 如果有知道具体原因的请不
  • 如何解决centos虚拟机每次启动都要自己登录root问题

    解决办法 xff1a 可以通过修改 etc gdm custom conf文件 xff0c 实现root用户免密码自动登陆 1 输入命令vi etc gdm cutstom conf 2 在 daemon 下增加 需要插入时按i进行插入模式
  • 关于word中最后一个分节符导致的空白页删除问题

    主要原因 xff1a 一般最后一个空白页出现的原因有两个 xff0c 一个是分节符或者分页符导致 xff0c 另一个是上一页内容太多顶出来导致多一些 xff08 这种情况可以选择调节前面内容长度 xff0c 并设置前页最后一个字符的行距 x
  • 逐层贪婪预训练(解决梯度消失的第一个成功方案,但现在除了NLP领域外很少使用)

    起因 背景 xff1a 梯度消失 vanishing gradient problem DNN的训练中 xff0c 由于梯度消失 xff0c 即输出层的错误在反向传播的过程中会显著地越来越小 xff0c 所以靠近输入层的层的梯度就接近0 x
  • 前端——块元素和内联元素的概念以及区别

    一丶块元素 xff1a 1 前后有换行符 xff0c 独占一行 xff0c 默认情况下 xff0c 垂直排列 2 默认情况下高度有内容决定 xff08 就比如由里边的图片和文字决定高度 xff09 xff0c 宽度是父级的宽度 xff0c
  • 【计算机网络】输入网址到显示网页,期间发生了什么?

    摘要 xff1a 如图1所示 xff0c 从输入网址 xff0c 按下回车键之后的数据传输流程发生了什么 注意 xff1a 各位大佬 xff0c 如果有哪里写的不清楚 xff0c 请在邮件pigmn 64 sina com友善的交流 图1
  • 灰度共生矩阵(超简单理解)

    1 灰度共生矩阵生成原理 灰度共生矩阵 GLDM 的统计方法是20世纪70年代初由R Haralick等人提出的 xff0c 它是在假定图像中各像素间的空间分布关系包含了图像纹理信息的前提下 xff0c 提出的具有广泛性的纹理分析方法 灰度
  • MATLAB基础(二)矩阵运算与可视化作图

    常见矩阵生成函数 zeros m n 生成一个 m 行 n 列的零矩阵 xff0c m 61 n 时可简写为 zeros n ones m n 生成一个 m 行 n 列的元素全为 1 的矩阵 m 61 n 时可写为 ones n eye m
  • eclipse 项目有红叉(解决方法)

    1 进入 eclipse xff0c 按图示操作 2 找到 General 下的 problems 双击 problems 就会在下 边提示你项目报错的原因 根据错误提示去解决就好 3 在弹出的problems删除错误信息
  • spring boot整合shiro(附带简单demo)

    shiro是目前主流的java安全框架 xff0c 主要用来更便捷的认证 xff0c 授权 xff0c 加密 xff0c 会话管理 废话不多说 xff0c 下面是一个简单的案例 xff0c Soring boot整合shiro xff1b
  • CUDNN_STATUS_NOT_INITIALIZED解决办法

    在某平台跑代码 xff0c 最开始尝试去训练 xff0c 发现训练成功后久终止 xff0c 修改部分参数后再次运行发现这个错误 CUDNN STATUS NOT INITIALIZED 解决方法 xff1a 就是python进程其实还在继续
  • 企业数据仓库总线架构、总线矩阵笔记 (第三篇)

    一 总线架构 维度建模的数据仓库中 xff0c 有一个概念叫Bus Architecture xff0c 中文一般翻译为 总线架构 总线架构是Kimball的多维体系结构 xff08 MD xff09 中的三个关键性概念之一 xff0c 另
  • Mininet使用教程

    注 xff1a 1 重要的链接 xff1a http mininet org walkthrough display startup options 2 IPv4与IPv6之间的地址转换 https www subnetonline com