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

实验1:SDN拓扑实践

时间:2022-11-09 14:22:30浏览次数:49  
标签:info mininet Mininet 拓扑 实践 import SDN net cls

实验1:SDN拓扑实践

1. Mininet运行结果截图

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

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

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

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

3. 修改过的代码、Mininet运行结果

a). 代码
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')
    s1 = net.addSwitch('s1', cls=OVSKernelSwitch)
    s2 = net.addSwitch('s2', cls=OVSKernelSwitch)
    info( '*** Add hosts\n')
    h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None, cpu=0.5)
    h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)
    h3 = net.addHost('h3', cls=Host, ip='10.0.0.3', defaultRoute=None)
    h4 = net.addHost('h4', cls=Host, ip='10.0.0.4', defaultRoute=None)
    info( '*** Add links\n')
    net.addLink(h1, s1,bw =10, delay='5ms', max_queue_size=1000, loss=50, use_htb=True)
    net.addLink(s1, h2)
    net.addLink(h3, s2)
    net.addLink(s2, h4)
    net.addLink(s1, s2)
    info( '*** Starting network\n')
    net.build()
    info( '*** Starting controllers\n')
    for controller in net.controllers:
        controller.start()
    info( '*** Starting switches\n')
    net.get('s1').start([c0])
    net.get('s2').start([c0])
    info( '*** Post configure switches and hosts\n')
    CLI(net)
    net.stop()
if __name__ == '__main__':
    setLogLevel( 'info' )
    myNetwork()
b). Mininet运行结果

4. 个人总结

在这次实验中,我对拓扑结构的原理和创建有了更深的理解,对mininet的使用有了初步的经验。由于python不熟练,代码方面遇到了不少问题,经过了学习与研究。收获颇多,希望能在后续的学习中有更多的收获!

标签:info,mininet,Mininet,拓扑,实践,import,SDN,net,cls
From: https://www.cnblogs.com/aJSALaSJalnxlA/p/16873463.html

相关文章

  • Spring框架开发实践--视频
    Spring框架开发实践--视频下载地址:​​http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240578​​本教程首先介绍了Spring框架的历史及一个简单的......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的1.能够对OpenvSwitch进行基本操作;2.能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;3.能够通过Mininet的......
  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境......
  • MLK-FMC-SSDNVME子卡硬件手册
    1产品概述MLK-FMC-SSDNVME子卡可接两路PCIE的标准M.2接口,支持PCIEx4,用于连接SSD固态硬盘,不支持SATA。MLK-FMC-SSDNVME子卡为标准HPC接口子卡,可接FPGA开发板,满足VITA57.1......
  • 10-注册中心&Zookeeper设计实践课_ev 没用
                                               ......
  • 10 个重构代码时的最佳实践
    什么是重构?重构是在不改变其功能的情况下改进现有代码设计的过程。作为软件开发人员,我们不断面临改进和优化代码的需求。无论是为了性能、可读性还是可维护性,重构代码都是一......
  • 网易游戏 Flink SQL 平台化实践
    摘要:本文整理自网易游戏资深开发工程师林小铂在FlinkForwardAsia2021平台建设专场的演讲。主要内容包括:网易游戏FlinkSQL发展历程基于模板jar的StreamflySQLv1......
  • Flink 引擎在快手的深度优化与生产实践
    摘要:本文整理自快手实时计算团队技术专家刘建刚在FlinkForwardAsia2021生产实践专场的演讲。主要内容包括:快手Flink的历史及现状Flink容错能力提升Flink引擎控制与......
  • Webpack最佳实践
    先简单回顾下webpack原理Webpack可以看做是模块打包机,把解析的所有模块变成一个对象,然后通过入口模块去加载我们的东西,然后依次实现递归的依赖关系,通过入口来运行所有......