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

一、实验目的

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

二、实验环境

Ubuntu 20.04 Desktop amd64

三、实验内容

(一)基本要求

a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令截图:

以及p0和p1连通性测试的执行结果截图

p0连通性测试:

p1连通性测试

b) /home/用户名/学号/lab2/目录下开启Mininet CLI并执行pingall命令的截图:

上述目录下查看OVS流表的命令结果截图:

wireshark抓包截图:

(二)进阶要求

a)代码截图

b)执行结果

四、实验心得

  • 在做实验时盲目跟着pdf步骤走,未思考具体原理,在进行miniedit创建拓扑时,忽略了交换机的端口设置,以至于流表下发后仍存在所有主机全连通的状态,后更改了mysdntopo2.py文件中的net.addLink函数参数解决问题
  • 在完成p0和p1的端口创建后,发现p0和p1端口仍不存在;经过查明原因后发现,由于虚拟机重启重置了已执行的操作
  • 对于wireshark抓包工具仍不熟悉,经同学指导后先进行抓包,再执行pingall命令即可获得结果
  • 本次实验主要学习了如何使用命令行进行流表下发实现VLAN,限制交换机端口转发分组,重新规划网络连通性,从而提高减少网络转发数量,减轻网络广播负担;同时在进阶要求中也进一步熟练了如何通过编写python代码来实现基本要求中的拓扑结构