首页 > 其他分享 >实验1实验2_212106091_林佳铭

实验1实验2_212106091_林佳铭

时间:2023-09-09 21:12:14浏览次数:84  
标签:info 212106091 s1 vlan 林佳铭 实验 s2 import net

实验1基础

代码

实验1进阶

代码

pingall截图

同一交换机内部的主机间连通性及通信带宽测试(h1 h2)

相同汇聚交换机下不同机架的主机间测试(h1 h3)

相同核心交换机不同汇聚交换机下的主机间测试(h1 h5)

实验2基础

Pingall命令截图

Ovs流表的命令结果截图

H1 ping H3 抓包

H2 ping H4 抓包

进阶

代码

#!/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')
    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)
    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, 1, 1)
    net.addLink(h2, s1, 1, 2)
    net.addLink(s1, s2, 3, 3)
    net.addLink(h4, s2, 1, 2)
    net.addLink(h3, s2, 1, 1)

    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("*** Send the flow table down\n\n")
    s1.cmd('ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:3')
    s1.cmd('ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:3')
    s1.cmd('ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output=1')
    s1.cmd('ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output=2')

    s2.cmd('ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:3')
    s2.cmd('ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:3')
    s2.cmd('ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output=1')
    s2.cmd('ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output=2')
    
    CLI(net)
    net.stop()
if __name__ == '__main__':
    setLogLevel( 'info' )
    myNetwork()

效果截图

  • 实验难度:中等。
  • 遇到的困难及解决办法:
    • 1.整个过程最麻烦的步骤在于安装环境,因为很多的导包都是直接通国外的,所以要挂梯子才可以执行
    • 2.实验1只运用到了python的循环部分,稍微理解一下就能上手。
    • 3.在最开始进阶运行没法正常ping通,是因为stp默认关闭,直接出现了环路,必须的在运行的时候启动stp,才可以正常通信,并且因为stp需要计算生成树,还得等一会才能收敛成功
    • 4,因为环境的问题,CIL没法正常写入脚本,只能自己手动在末尾加上这段配置
    • 5,实验2开始,出现了许多没有见过的语法配置,虽然简单易懂,但是想要记住还是蛮困难的。

标签:info,212106091,s1,vlan,林佳铭,实验,s2,import,net
From: https://www.cnblogs.com/lin114514/p/17690121.html

相关文章

  • R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据|附代码
    全文链接:http://tecdat.cn/?p=31010原文出处:拓端数据部落公众号平衡不完全区组设计(BIBD)是一个很好的研究实验设计,具有从统计的角度看各种所需的特征。最近我们被要求撰写关于BIBD的研究报告,包括一些图形和统计输出。对于一个BIBD有K个观测,重复r次实验。还有第5参数lamda,记录其......
  • 记PE文件结构实验,模拟文件内存加载过程。
    记录文件结构试验前言:使用的模拟程序是notepad.exe,主要记录其中的思路和遇到其中的困难。实验目的:模拟内存加载PE文件的过程,将每个区段模拟加载到内存之中。根据文件结构中头表中的信息,读取并sekk指针到Segment头。然后循环遍历Segment头将内容加载到VirtualAddress中,主要目的......
  • 关于读入速度的小实验
    2023-08-2911:13:16有人跟我说去同步的cin比普通快读要快,我觉得有点邪门,所以做了一个小比较,然后果不其然又发现了奇怪的事情。用以下代码测试:注:输入数据\(n=5\times10^7,|w|\le2^{64}-1\),由于是在学校机房老年机跑,所以测试结果可能与在其他地方测试相差较大,但是基于同一......
  • 【ROS2机器人入门到实战】电机控制之正反转实验
    3.电机控制之正反转实验写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是小鱼。前面说到通过控制对应的IO电平变换即......
  • 【ROS2机器人入门到实战】I2C通信实验-点亮OLED
    6.I2C通信实验-点亮OLED写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。本节我们就尝试直接使......
  • 【ROS2机器人入门到实战】脉冲测量与校准实验
    8.脉冲测量与校准实验写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是小鱼,有了上节的理论,这一节我们编写代码来尝试......
  • 一套成熟的实验室信息管理系统源码,集前处理、检验、报告、质控、统计分析、两癌等模块
    一套成熟的实验室信息管理系统,集前处理、检验、报告、质控、统计分析、两癌等模块为一体的实验室信息管理系统。在整个检验过程中实时对检验结果监控、评估、分析、统计并对操作规程进行严格规范。它的开发和应用将加快检验科管理的统一化、网络化、标准化的进程。技术架构:ASP.NET......
  • 火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,火山引擎DataTester推出了重要功能——A/B实验经验库。基于在字节跳动已完成150万余次A/B实验的经验,DataTester首创了A/B实验经验库功能。该功能可帮助业务人员将历史的A/B实验经......
  • 火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群近日,火山引擎DataTester推出了重要功能——A/B实验经验库。基于在字节跳动已完成150万余次A/B实验的经验,DataTester首创了A/B实验经验库功能。该功能可帮助业务人员将历史的A/B实验经验沉淀,并......
  • iTOP-RK3568开发板内核模块实验-设置交叉编译器
    在上一章节我们编写了最简单的helloworld驱动程序。有了驱动程序以后,要如何编译并使用驱动呢。编译驱动有俩种方法,分别是将驱动编译成内核和将驱动编译成内核模块。我们先来学习如何将驱动编译成内核模块、4.1设置交叉编译器1下载网盘资料下的交叉编译器,网盘路径为:“XXX”,将下......