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

实验2:Open vSwitch虚拟交换机实践
一、实验目的
1. 能够对Open vSwitch进行基本操作;
2. 能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表;
3. 能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的Open vSwitch交换机
二、实验环境
1. 下载虚拟机软件Oracle VisualBox 或 VMware;
2. 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
1. 创建OVS交换机,并以ovs-switchxxx命名,其中xxx为本人在选课班级中的序号,例如ovs-switch001, ovs-switch088等。在创建的交换机上增加端口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的连通性。
创建端口p0和p1,设置端口号和类型:
sudo ovs-vsctl add-port ovs-switch009 p0
sudo ovs-vsctl set Interface p0 ofport_request=100 type=internal
sudo ovs-vsctl add-port ovs-switch009 p1
sudo ovs-vsctl set Interface p1 ofport_request=101 type=internal

创建虚拟网络空间ns0和ns1,分别将p0和p1移入,并分别配置p0和p1端口的ip地址为190.168.0.100、192.168.0.101,子网掩码为255.255.255.0:

按照题目给的190.168.0.100做不出来,所以把ip地址改成192.168.0.100就可以了。

测试连通性:

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

    支持OpenFlow 1.3协议!



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

VLAN_ID Hosts
0 h1 h3
1 h2 h4
  1. 主机连通性要求:
  • h1 – h3互通
  • h2 – h4互通
  • 其余主机不通

满足要求 h1 – h3互通 h2 – h4互通 其余主机不通

查看下发流表

使用sudo wireshark运行wireshark,同时mininet使用pingall,令wireshark抓取数据包

对h1 和 h3发送包vlan标记为0 符合实验要求

个人总结: 这次难度剧增,1和2正常做法,三和四是去查阅了资料最后才做出来,sudo wireshark的功能卡了很久,因为不懂要怎么进行抓包,后面查了资料才懂需要打开脚本的同时还要测试连通性,测试连通性之前还需要进行vlan的划分,我做完vlan关掉了然后再做抓包到测试连通性那一步就全部联通了,导致实验跟结果不符,经过同学指点,才达到实验要求,挺难的一个实验,尤其是在我误删了很多截图以后更是难度倍加,太难过了啊,哭了哭了。害,后面数据恢复都没能拯救我。不得不再来亿遍

posted @ 2021-09-22 00:22  0lwx  阅读(53)  评论(0编辑  收藏  举报