基于Mininet使用POX动态改变转发规则实验 | SDNLAB | 专注网络创新技术
SDN SD-WAN DPU NFV Cloud Edge Computing 5G IoT AI Network Security
基于Mininet使用POX动态改变转发规则实验

一、 实验目的

熟悉Mininet自定义拓扑脚本的编写;
熟悉编写POX脚本动态改变转发规则

二、实验原理

在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为。在本实验中,基于Mininet脚本,编写POX脚本,动态改变交换机的转发规则。

三、实验任务

先看一下本次实验的拓扑图:

基于Mininet使用POX动态改变转发规则实验 图1

在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S2-S5。通过这个循环调度的例子动态地改变交换机的转发规则。

四、 实验步骤

4.1 搭建环境

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

基于Mininet使用POX动态改变转发规则实验 图2

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

基于Mininet使用POX动态改变转发规则实验 图3

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

基于Mininet使用POX动态改变转发规则实验 图4

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

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

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

pox:

基于Mininet使用POX动态改变转发规则实验 图5

mininet:

基于Mininet使用POX动态改变转发规则实验 图6

创建成功后的虚网详情:

基于Mininet使用POX动态改变转发规则实验 图7

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

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

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

4.2 实验操作

步骤1:编写POX脚本

1在虚拟机pox里,/root/pox目录下新建文件lab_controller.py。

基于Mininet使用POX动态改变转发规则实验 图8

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

3 在虚拟机mininet中创建文件mymininet.py。

4 编辑文件mymininet.py,内容如下:

5 在虚拟机pox,/root/pox目录下运行脚本lab_controller.py。

基于Mininet使用POX动态改变转发规则实验 图9

6 在虚拟机mininet下运行脚本mymininet.py。

基于Mininet使用POX动态改变转发规则实验 图10
基于Mininet使用POX动态改变转发规则实验 图11

7 查看虚拟机pox,打印出以下内容:

基于Mininet使用POX动态改变转发规则实验 图12

8 在虚拟机mininet中执行h1 ping -i 0.1 h4,每秒从h1传送10个包到h4。

基于Mininet使用POX动态改变转发规则实验 图13

9 查看虚拟机pox打印出来的结果显示先从s1_p4 (switch 1, port 4)发出10个包,然后是从s1_p5,接着从s1_p6,如此循环调度。

基于Mininet使用POX动态改变转发规则实验 图14

五、 实验结论

基于Mininet,通过编写POX的脚本内容,可以实现动态改变交换机的转发规则的功能。

weibo

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

Andretoto Andretoto Atatoto Atatoto Situs Toto Slot Thailand Toto Slot