使用OpenDaylight基于Mininet脚本控制交换机行为 | SDNLAB | 专注网络创新技术
SDN SD-WAN DPU NFV Cloud Edge Computing 5G IoT AI Network Security
使用OpenDaylight基于Mininet脚本控制交换机行为

1 实验目的

  • 熟悉Mininet自定义拓扑脚本的编写;
  • 掌握使用“ovs-vsctl”命令直接控制Open vSwitch。

2 实验原理

在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为。在本实验中,使用Mininet基于python的脚本,调用“ovs-vsctl”命令直接控制Open vSwitch。

3 实验任务

本实验在基于Mininet脚本的不同拓扑环境下使用OpenDaylight控制交换机行为。任务一:一台交换机两台主机,从1端口进入的数据流转发到2端口,从2端口进入的数据流转发到1端口;任务二:两台交换机两台主机,主机0连接交换机0,主机1连接交换机1,交换机0连接交换机1,数据转发端口同任务一;任务三:与任务二类似,但是在创建link的时候,设置带宽、延迟以及丢包率。

4 实验步骤

4.1 搭建环境

步骤1:创建虚网
1 在首页单击“创建虚网”,本次实验虚网名为“Slice5”,虚网名只能包括数字、字母和下划线。

使用OpenDaylight基于Mininet脚本控制交换机行为 图1

2 单击“下一步”,选择网络拓扑,再单击“下一步”,确认虚网清单。

使用OpenDaylight基于Mininet脚本控制交换机行为 图2

3 单击“创建”,成功创建虚网。

使用OpenDaylight基于Mininet脚本控制交换机行为 图3

步骤2:添加控制器
1 单击虚网名(这里是“Slice5”),进入“虚网详情”页。
2 单击“控制器”部分的“OpenDaylight与Mininet应用实战之OpenFlow协议分析 图5”按钮,请根据实际情况选择控制器。由于启动虚网必须要创建一个控制器,此处的控制器选择不影响实验结果(这里选择的是Floodlight控制器),接着按照提示直到创建成功。

步骤3:添加网关
单击“网关”部分的“OpenDaylight与Mininet应用实战之OpenFlow协议分析 图5”按钮,添加网关。

步骤4:创建虚拟机
本实验需要两个虚拟机,这里分别取名为odl和mininet。虚拟机odl选择OpenDaylight镜像作为控制器,2核,6G;虚拟机mininet在这里选择了mininet-OF13镜像,在该虚拟机中编写Mininet脚本完成实验任务。
本次实验的镜像选择如下:

odl:

使用OpenDaylight基于Mininet脚本控制交换机行为 图4

mininet:

使用OpenDaylight基于Mininet脚本控制交换机行为 图5

创建成功后的虚网详情:

使用OpenDaylight基于Mininet脚本控制交换机行为 图6

步骤5:启动虚网、网关和虚拟机
1 单击页面右上角的“Cbench性能测试工具验证SDN网络 图7”按钮,启动虚网,虚网启动成功后,控制器也会启动成功。

2 单击“网关”部分的“Cbench性能测试工具验证SDN网络 图7”按钮,启动网关。

3 选择“虚拟机”部分创建好的两个虚拟机,单击“Cbench性能测试工具验证SDN网络 图7”按钮启动。

4.2 实验操作
任务一:一台交换机两台主机,实现从1端口进入的数据流转发到2端口,从2端口进入的数据流转发到1端口。

1 在虚拟机mininet里新建文件mymininet1.py

2 查看OpenDaylight所在虚拟机odl的IP为20.0.0.84

3 编辑文件mymininet1.py,内容如下:

4 将文件mymininet1.py设置成可执行文件

5执行文件mymininet1.py

使用OpenDaylight基于Mininet脚本控制交换机行为 图7

任务二:两台交换机两台主机,主机0连接交换机0,主机1连接交换机1,交换机0连接交换机1,数据转发端口要求同任务一。

1 在虚拟机mininet里新建文件mymininet2.py

2 编辑文件mymininet2.py,内容如下:

3 将文件mymininet2.py设置成可执行文件

4 执行文件mymininet2.py

使用OpenDaylight基于Mininet脚本控制交换机行为 图8
使用OpenDaylight基于Mininet脚本控制交换机行为 图9
使用OpenDaylight基于Mininet脚本控制交换机行为 图10

任务三:与任务二类似,但是在创建link的时候,设置带宽、延迟以及丢包率。

1 在虚拟机mininet里新建文件mymininet3.py

2 编辑文件mymininet3.py,内容如下:

3 将文件mymininet3.py设置成可执行文件

4执行文件mymininet3.py

使用OpenDaylight基于Mininet脚本控制交换机行为 图11
使用OpenDaylight基于Mininet脚本控制交换机行为 图12
使用OpenDaylight基于Mininet脚本控制交换机行为 图13

5 实验结论

在Mininet脚本中,可以通过使用“ovs-vsctl”命令直接控制Open vSwitch,实现通信。

weibo

微信公众号:搜索"SDNLAB"
或扫描上面的二维码。

Andretoto Andretoto Atatoto Atatoto Situs Toto Slot Thailand Toto Slot