首页 > 其他分享 >实验二

实验二

时间:2022-11-06 16:23:52浏览次数:34  
标签:info s2 s1 vlan 实验 import net

实验2:Open vSwitch虚拟交换机实践
(一)基本要求
a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令、以及p0和p1连通性测试的执行结果截图;

b) /home/用户名/学号/lab2/目录下开启Mininet CLI并执行pingall命令的截图、上述目录下查看OVS流表的命令结果截图,wireshark抓包截图

(二)进阶要求
阅读SDNLAB实验使用Mininet,编写Python代码,生成(一)中的SDN拓扑,并在代码中直接使用OVS命令,做到可以直接运行Python程序完成和(一)相同的VLAN划分。
代码如下:

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

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')

s1.cmd('sudo 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('sudo 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('sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1')
s1.cmd('sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2')
s2.cmd('sudo 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('sudo 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('sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1')
s2.cmd('sudo 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()



个人总结
本次实验的基础要求部分,按照老师给的pdf完成问题不大。其中有遇到一些小问题在网络上也没有找到答案,通过反复尝试反复试错最后才意识到出错点。实验中涉及到了路由交换课中所学到的知识,还学会了在ubuntu中用wireshark进行抓包分析报文。

标签:info,s2,s1,vlan,实验,import,net
From: https://www.cnblogs.com/pyf0419/p/16862897.html

相关文章

  • 实验三
    基础要求:1.hello控制器6633端口(我最高能支持OpenFlow1.0)--->交换机47646端口交换机47646端口(我最高能支持OpenFlow1.0)--->控制器6633端口于是双方建立连接,并使用Ope......
  • 实验4
    实验任务5#pragmaonce#include<iostream>#include<cassert>usingnamespacestd;classvectorInt{public:vectorInt(intn);vectorInt(intn,intval......
  • 实验四
    任务五:vectorInt.hpp#pragmaonce#include<cassert>#include<iostream>usingnamespacestd;classvectorInt{public:vectorInt(intn);~vectorInt()......
  • 实验一
    最大连续子数组和(最大子段和)问题:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义......
  • 软件工程第一次实验
    (1)回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢计算机这个专业吗?是的。计算机专业用电脑进行软件开发,比较有意思。你现在后悔选择了这个专业吗?没有,虽然软......
  • 实验7:基于REST API的SDN北向应用实践
    1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;启动OpendDaylight:./distribution-karaf-0.6.4-Car......
  • 实验一 任务一
    (1)回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢软件工程这个专业吗?你现在后悔选择了这个专业吗?你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其......
  • 实验一郭蕊
    (1)回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢软件工程这个专业吗?是的。你现在后悔选择了这个专业吗?不后悔。你认为你现在最喜欢的领域是什么(可以是计......
  • 实验三
    实验1.1随机打印hi,november#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,char......
  • 实验四
    #include<iostream>usingnamespacestd;classvectorInt{private:intn;intvalue;int*arr;public:vectorInt(intn......