一、实验目的
能够对Open vSwitch进行基本操作;
能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表;
能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的Open vSwitch交换机
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型均为internal;为了避免网络接口上的地址和本机已有网络地址冲突,需要创建虚拟网络空间(参考命令netns)ns0和ns1,分别将p0和p1移入,并分别配置p0和p1端口的ip地址为190.168.1.100、192.168.1.101,子网掩码为255.255.255.0;最后测试p0和p1的连通性。
使用Mininet搭建的SDN拓扑,如下图所示,要求支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确。
通过命令行终端输入“ovs-ofctl”命令,直接在s1和s2上添加流表,划分出所要求的VLAN。
VLAN_ID Hosts
0 h1 h3
1 h2 h4
主机连通性要求:
h1 – h3互通
h2 – h4互通
其余主机不通
连通性测试:
(二)进阶要求
阅读SDNLAB实验使用Mininet,编写Python代码,生成(一)中的SDN拓扑,并在代码中直接使用OVS命令,做到可以直接运行Python程序完成和(一)相同的VLAN划分。
(三)实验总结
1.遇到的困难
(1)在下发流表失败,找不到s1
要先运行编写的python脚本才能下发流表
(2)修改使用Mininet可视化界面搭建拓扑后形成的python代码后,运行失败
通过复制可视化界面搭建的拓扑后的代码,直接通过复制黏贴,然后改写python代码,形成新的拓扑,然后在sudo python 212106699_2.py命令运行
2.心得
根据pdf的步骤一步一步的做,中间虽然会遇到一些小问题,但还是能够通过查资料做出阿里。还有就是配置ip地址,端口接入相应虚拟网络空间时等一些小细节会出错,或者就是打字打的快了,导致一些配置信息输入的不正确,导致无法ping通,这些都是要注意的。通过本次实验,我学会了ovs的一些基础操作、管理流表、wireshark的使用和python的一些基础语法。