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

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

时间:2022-09-21 13:14:14浏览次数:84  
标签:ovs p0 vlan sudo add 交换机 p1 vSwitch Open

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

一、实验目的

  1. 能够对Open vSwitch进行基本操作;
  2. 能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表;
  3. 能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的Open vSwitch交换机

二、实验环境

Ubuntu 20.04 Desktop amd64

三、实验要求

(一)基本要求

1、ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型均为internal;为了避免网络接口上的地址和本机已有网络地址冲突,需要创建虚拟网络空间(参考命令netns)ns0和ns1,分别将p0和p1移入,并分别配置p0和p1端口的ip地址为190.168.0.100、192.168.0.101,子网掩码为255.255.255.0;最后测试p0和p1的连通性。

sudo ovs-vsctl add-br ovs-032002534
sudo ovs-vsctl add-port ovs-032002534 p0 
sudo ovs-vsctl set Interface p0 ofport_request=100 type=internal
sudo ethtool -i p0
sudo ip netns add ns0
sudo ip link set p0 netns ns0
sudo ip netns exec ns0 ip addr add 192.168.0.100/24 dev p0
sudo ip netns exec ns0 ifconfig p0 promisc up
sudo ovs-vsctl add-port ovs-032002534 p1 
sudo ovs-vsctl set Interface p1 ofport_request=101 type=internal
sudo ethtool -i p1
sudo ip netns add ns1
sudo ip link set p1 netns ns1
sudo ip netns exec ns1 ip addr add 192.168.0.101/24 dev p1
sudo ip netns exec ns1 ifconfig p1 promisc up
sudo ip netns exec ns0 ping 192.168.0.101

a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令、以及p0和p1连通性测试的执行结果截图;

执行 sudo ovs-vsctl show

p0和p1连通性测试

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

1、使用Mininet搭建的SDN拓扑,如下图所示,要求支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确。

img

生成拓扑

执行

sudo mn --custom 032002534.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow13

2、通过命令行终端输入“ovs-ofctl”命令,直接在s1和s2上添加流表,划分出所要求的VLAN。
为s1设置wlan

sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:3
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:3
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2

为s2设置wlan

sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:3
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:3
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output:2

s1和s2流表

sudo ovs-ofctl -O OpenFlow13 dump-flows s1
sudo ovs-ofctl -O OpenFlow13 dump-flows s2

测试连通性

image-20220921102546721

  • h1 – h3互通
  • h2 – h4互通
  • 其余主机不通

wireshark捕获s1端口3

(二)进阶要求

输入

sudo python3 topo2.py python

运行

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

(四)实验总结

这次实验感觉比上次难,大概是用到了上次实验所学的知识但是我又不能熟练掌握,以至于在生成拓扑的时候出现代码无法运行的错误,最后是通过仔细对照实验要求的拓扑图,对代码进行修改,代码才得以运行。除此以外,在ovs-vsctl show的时候出现了一个叫s1的交换机,紧接着后面一堆error,经查阅资料,可用sudo ovs-vsctl del-br s1来进行删除。

总的来说这次学到了ovs-vsctl相关基础操作,巩固了利用Mininet搭建SDN拓扑,以及wireshark的基本使用,但是对于前面几个实验所学的知识还是需要不断复习巩固,以免下次实验又磕磕碰碰。

标签:ovs,p0,vlan,sudo,add,交换机,p1,vSwitch,Open
From: https://www.cnblogs.com/wuweijie/p/16715225.html

相关文章

  • 实验2 Open vSwitch虚拟交换机实践
    OpenvSwitch虚拟交换机实践实验目的1、能够对OpenvSwitch进行基本操作2、能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表3、能够通过Mininet的Python......
  • 实验2:Open vSwitch虚拟交换机实践
    一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的1.能够对OpenvSwitch进行基本操作;2.能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;3.能够通过Mininet的......
  • 基于OpenHarmony的智能喝水提醒器
    一、硬件说明NeptuneOpenHarmony物联网IOT模组Wi-Fi&蓝牙双模开发板、超声波模块、蜂鸣器模块、杜邦线若干开发板相关资料:https://gitee.com/hihope_iot/docs/tree/mast......
  • OpenSergo & CloudWeGo 共同保障微服务运行时流量稳定性
    简介: 流控降级与容错是微服务流量治理中的重要的一环,同时MSE还提供更广范围、更多场景的微服务治理能力,包括全链路灰度、无损上下线、微服务数据库治理、日志治理等一系......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践2.a)执行ovs-vsctlshow命令p0和p1连通性测试2.b)开启MininetCLI并执行pingall命令查看ovs流表s1的流表s2的流表wireshark......
  • 使用V2V功能将VMware平台虚拟机迁移至OpenStack平台
     1、进入虚拟机备份系统  2、选择【虚拟机保护】——【恢复】,新建恢复任务,选择需要进行跨平台恢复与迁移的源虚拟化平台【VMwarevSphere】,勾选需要恢复的备份点,点......
  • 实验2:Open vSwitch虚拟交换机实践
    基础要求a)创建OVS交换机,以ovs-032002441命名。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型均为internal;创建虚拟网络空间ns0和ns1,分别将p0......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的1.能够对OpenvSwitch进行基本操作;2.能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;3.能够通过Mininet的......
  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执行pi......