首页 > 其他分享 >实验1:SDN拓扑实践

实验1:SDN拓扑实践

时间:2022-09-19 18:57:16浏览次数:45  
标签:info mininet 拓扑 实践 import SDN cls net s1

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

2、使用Mininet的命令行生成如下拓扑:
a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。

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

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

4、编辑基本要求第1步保存的Python脚本,添加如下网络性能限制,生成拓扑:
a) h1的cpu最高不超过50%;
b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50。

#!/usr/bin/env python

from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import call

def myNetwork():

    net = Mininet( topo=None,
                   build=False,
                   ipBase='10.0.0.0/8')

    info( '*** Adding controller\n' )
    c0=net.addController(name='c0',
                      controller=Controller,
                      protocol='tcp',
                      port=6633)

    info( '*** Add switches\n')
    s2 = net.addSwitch('s2', cls=OVSKernelSwitch)
    s1 = net.addSwitch('s1', cls=OVSKernelSwitch)

    info( '*** Add hosts\n')
    h3 = net.addHost('h3', cls=Host, ip='10.0.0.3', defaultRoute=None)
    h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None,cup=0.5)
    h4 = net.addHost('h4', cls=Host, ip='10.0.0.4', defaultRoute=None)
    h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)

    info( '*** Add links\n')
    net.addLink(h1, s1, delay='5ms',max_queue_size=1000, loss=50, use_htb=True)
    net.addLink(h2, s1)
    net.addLink(s1, s2)
    net.addLink(h3, s2)
    net.addLink(s2, h4)

    info( '*** Starting network\n')
    net.build()
    info( '*** Starting controllers\n')
    for controller in net.controllers:
        controller.start()

    info( '*** Starting switches\n')
    net.get('s2').start([c0])
    net.get('s1').start([c0])

    info( '*** Post configure switches and hosts\n')

    CLI(net)
    net.stop()

if __name__ == '__main__':
    setLogLevel( 'info' )
    myNetwork()

标签:info,mininet,拓扑,实践,import,SDN,cls,net,s1
From: https://www.cnblogs.com/kukudehua/p/16708676.html

相关文章

  • 实验2:Open vSwitch虚拟交换机实践
    实验一的截图实验二拓扑代码:2.划分VLANs1和s2相同的道理3.再次pingall二进阶代码:抓包:个人总结:1、这个进阶代码是完全依靠自己写的本来想直接用......
  • 【Vue项目实践】vue 创建一个新项目
    参考链接:Vite+Electron快速构建一个VUE3桌面应用(一)创建一个Vite项目安装vite并创建项目,输入项目名,模板采用vue,其他的根据情况,可以先全部Noyarncreatevite......
  • 实验1:SDN拓扑实践
    (一)基本要求使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。使用Mininet的命令行生成如下拓扑:a)3台交换机,每个交换机连接1台主机,3台交换机连接......
  • Java实践二
    关于BigInteger:由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多......
  • 实验二:Open vSwitch虚拟交换机实践
    一.基本要求1.执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果2.使用Mininet搭建的SDN拓扑,下发流表2.1开启MininetCLI并执行pingall命令2.2下发流......
  • 报告分享|2022年中国数据交易实践趋势报告
    阅读全文:http://tecdat.cn/?p=28547梳理发现,2021年数据交易机构增长加速,北京、上海、深圳、广州、湖南、福建等多个省市,相继设立数据交易机构。2021年共有8家机构注册,包......
  • 3种方法复制CSDN代码
    CSDN代码要登录才能复制,使用体验不太好,以下三种方法可以解决。方法1:检查网页源码手动更改方法2:打开控制台执行一条命令方法3:使用浏览器扩展组件1、检查网页源码手动......
  • 实验2:Open vSwitch虚拟交换机实践
    实验报告实验目的能够对OpenvSwitch进行基本操作能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表能够通过Mininet的Python代码运行OVS命令,控制网络拓......
  • Edge——如何屏蔽CSDN搜索结果
    前言之前用的是-csdn,最近发现这个失效了,然后就更新为-site:csdn.net;内容配置打开设置->搜索搜索->地址栏和搜索->管理搜索引擎->添加设置完成https://cn.bin......
  • 实验1:SDN拓扑实践
    一、实验目的能够使用源码安装Mininet;能够使用Mininet的可视化工具生成拓扑;能够使用Mininet的命令行生成特定拓扑;能够使用Mininet交互界面管理SDN拓扑;能够使用Python......