首页 > 其他分享 >实验2:Open vSwitch虚拟交换机实践

实验2:Open vSwitch虚拟交换机实践

时间:2022-10-01 13:23:04浏览次数:45  
标签:info s2 s1 vlan 交换机 import vSwitch net Open

一、基本实验

(1)执行ovs-vsctl show命令、以及p0和p1连通性测试的执行结果截图


(2)开启Mininet CLI并执行pingall命令的截图、上述目录下查看OVS流表的命令结果截图,wireshark抓包截图



二、拓展实验

代码和执行结果截图


#!/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='192.168.1.1', defaultRoute=None)
  h2 = net.addHost('h2', cls=Host, ip='192.168.1.2', defaultRoute=None)
  h3 = net.addHost('h3', cls=Host, ip='192.168.1.3', defaultRoute=None)
  h4 = net.addHost('h4', cls=Host, ip='192.168.1.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(s2, h4,2,1)
  net.addLink(s2, h3,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( '*** Post configure switches and hosts\n')
  #add ovsml
  s1.cmd(r'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(r'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(r'ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1')
  s1.cmd(r'ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2')
  s2.cmd(r'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(r'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(r'ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1')
  s2.cmd(r'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()

标签:info,s2,s1,vlan,交换机,import,vSwitch,net,Open
From: https://www.cnblogs.com/garty/p/16747100.html

相关文章

  • 修改openeuler为阿里源的方法
    备份cp/etc/yum.repos.d/openEuler.repo/etc/yum.repos.d/openEuler.repo.backup修改为阿里源地址sed-i"s#repo.openeuler.org#mirrors.aliyun.com/openeuler#g"/......
  • 实验3:OpenFlow协议分析实践
    基本要求1.搭建拓扑,完成相关IP配置2-1.查看抓包结果hello控制器6633端口(我最高能支持OpenFlow1.0)--->交换机51024端口交换机51024端口(我最高能支持OpenFlow1.......
  • RabbitMQ(二):交换机
    前言学习自bili尚硅谷-​​RabbitMQ​​发布确认之前的消息应答,队列持久化是为了保证->消息从rabbitmq队列到消费者的过程中不会丢失;消息持久化则是为了保证->消息从生......
  • 实验4:开源控制器实践——OpenDaylight
    1.基础要求a)Mininet拓扑生成并连接控制器的结果b)Mininet中ping测试截图并体现个人信息2.进阶要求整理和记录ODL控制器主要的RESTAPI文档ODL提供的文档链接(Rest......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 启动文件系统时出现错误:Warning: unable to open an initial console.
    ————————————————————————————————(一)启动文件系统时出现错误:Warning:unabletoopenaninitialconsole.—————————————......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • H3C交换机基础配置说明
    H3C交换机E0/0/1解释E百兆接口第一个0是板卡号。如果是1u设备就是0,如果是高端设备,就有不同的编号了(机箱上有编号)第二个0是这个板卡的不同接口的标识,如24口百兆电为0.还......
  • 实验3:OpenFlow协议分析实践
    基本要求搭建下图所示拓扑,完成相关IP配置,并实现主机与主机之间的IP通信。用抓包软件获取控制器与交换机之间的通信数据查看抓包结果,分析OpenFlow协议中交换机与控......
  • alpine:openrc:初始化服务管理系统的一个问题:修改服务后,旧依赖依旧存在?!
    问题:修改具体的服务(代码)后,运行rc-update add/delete 执行openrc,总是出现有之前的旧的依赖关系!重启也不行!解决:是openrc的依赖缓存文件有问题,清除自动重建即......