(一)基本要求

使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。

使用Mininet的命令行生成如下拓扑:

a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。

b) 3台主机,每个主机都连接到同1台交换机上。

在2 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。

编辑基本要求第1步保存的Python脚本,添加如下网络性能限制,生成拓扑:

a) h1的cpu最高不超过50%;

b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50。

(二)进阶要求

编写Python脚本,生成如下数据中心网络拓扑,要求:

编写.py拓扑文件,命名为“学号_fattree.py”;

必须通过Mininet的custom参数载入上述文件,不得直接使用miniedit.py生成的.py文件;

设备名称必须和下图一致;

使用Python的循环功能实现,不得在代码中手工直接添加设备和链路。

SDN实验1的更多相关文章

  1. SDN实验2

    第二次sdn实验: 1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况. 本次使用py ...

  2. SDN实验---Mininet实验(玩转流表)

    一:实验目的 (一)案例目的 (二)实验内容 (三)网络拓扑结构 二:OpenFlow流表实验准备 (一)使用Python设置网络拓扑 --- tree_topo.py from mininet.to ...

  3. SDN实验---Ryu的应用开发(二)Learning Switch

    一:自学习交换机(二层MAC交换机)的编程思路 (一)明确问题 如何实现软件定义的自学习交换机? (二)设计解决方案 通过控制器来实现自学习交换算法,然后指导数据平面实现交换机操作 (三)确定具体的技 ...

  4. SDN实验---Ryu的应用开发(一)Hub实现

    补充: (一)Ubuntu下安装Notepadqq 背景:为什么安装Notepadqq Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组.但是可惜的是N ...

  5. SDN实验---OVS了解(转载)

    转载自:https://opengers.github.io/openstack/openstack-base-use-openvswitch/ 一:Open vSwitch介绍 (一)介绍 在过去, ...

  6. SDN实验---Ryu的应用开发(四)北向接口RESTAPI

    一:推文 软件定义网络基础---REST API概述 软件定义网络基础---REST API的设计规范 二:掌握Ryu基本RESTAPI使用方法 (一)Ryu的RESTAPI (二) REST应用样例 ...

  7. SDN实验---Ryu的应用开发(四)基于跳数的最短路径转发原理

    一:实现最短跳数转发 (一)原理 推文:迪杰斯特拉算法和弗洛伊德算法 二:代码实现 (一)全部代码 from ryu.base import app_manager from ryu.controll ...

  8. SDN实验---Ryu的应用开发(三)流量监控

    一:实现流量监控 (一)流量监控原理 其中控制器向交换机周期下发获取统计消息,请求交换机消息------是主动下发过程 流速公式:是(t1时刻的流量-t0时刻的流量)/(t1-t0) 剩余带宽公式:链 ...

  9. SDN实验---Mininet实验(模拟多数据中心带宽实验)

    补充:NameError: name 'buffer' is not defined >>> import sys >>> ,): ... buffer = mem ...

  10. SDN实验---使用git安装Mininet

    0:补充Ubuntu截屏 截全屏 printscreen 截取当前窗口 alt + printscreen 截取任意矩形 shift + printscreen 截取全屏到剪切板 ctrl + pri ...

随机推荐

  1. slam面试题

    2022最新SLAM面试题汇总(持续更新中   https://blog.csdn.net/soaring_casia/article/details/125898830 candy边缘算子 http ...

  2. esxi虚拟机定时创建快照

    1.vim-cmd vmsvc/getallvms  列出所有虚拟机信息 2.获取需要备份的虚拟机的Vmid 3.执行快照  vim-cmd vmsvc/snapshot.create Vmid $( ...

  3. sprinboot多个子模块下 依赖包没有找到 解决方案

    最近因为在使用springboot开发项目,在开发过程中,发现自己的子模块导入通用的模块 在启动中 说找不到这个类 百度下 说我要在pom文件下 pulus 插件 那里 加上这段代码 <conf ...

  4. 常见语言反弹shell reverse shell

    本文来自:https://www.hacking.land/2019/03/reverse-shell-cheat-sheet.html?m=1 前言 If you're lucky enough t ...

  5. docker命令自动补全

    1.安装bash-completion yum install -y bash-completion 2.重新连接docker 服务器使docker补全命令生效,或者建立新的远程连接docker服务器 ...

  6. BFS板子题

    #include <iostream> #include <string> #include <queue> using namespace std; int n, ...

  7. [BOM]打包代码前,快速去除前端日志

    一般开发时使用console.log() 方法.于是可以在js文件的最开头加上: console.log = function(){}

  8. Django 之 ORM2

    1. 多表操作 1.1 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者 ...

  9. Linux基础第六章:逻辑卷的使用、扩容和磁盘配额

    一.逻辑卷的使用及扩容 1.概念优点及注意事项 2.使用命令及基本格式 3.创建逻辑卷 ①创建物理卷 ②创建卷组 ③创建逻辑卷 ④格式化.挂载yk26逻辑卷在/mnt下并在逻辑卷yk26下创建文件a. ...

  10. java 泛型使用

    泛型类 // 简单泛型 class Point<T>{ // 此处可以随便写标识符号,T是type的简称 private T var ; public T getVar(){ return ...