SDN网络的修改(二)

接着对上次一个简单SDN网络的实验来进行修改和补充,拓扑图如下:

SDN网络的修改(二)_第1张图片
SDN网络拓扑图

       安装完所有 Mininet相关的相关套件,如:OpenFlow、POX 等工具会默认保存在当前用户的家目录,默认POX控制器是开启的,二层交换学习模块也默认是开启的。因而两台主机默认就是可以ping通的。

       以及要注意两种 OVS fallback behavior:

       1. standalone
       这种模式下,没有运行controller的情况下,OVS会自动调回普通switch模式,如果有controller的情况,ovs会自动变成openflow switch命令:
         ovs-vsctl set-fail-mode ovs-switch standalone

          其中要将ovs-switch替换成bridge的名字


       2.secure

       这种模式下,无论有没有controller, ovs都会作为openflow switch运行,也就是所有interface在bridge上,等待controller或者用户添加flow到switch来进行通信:
        ovs-vsctl set-fail-mode ovs-switch secure

       默认mininet中自带的OVS也是属于secure模式下的,所以OVS都会作为openflow switch 来运行的,所以只要交换机里没有host1到host2的流表,两台主机就不能ping通,这时首先将控制器关掉,即:
       sudo killall controller

      这时会发现两者不会ping通了,为了使两者可以ping通,这时就需要在交换机里添加流表,即在sudo mn -x进入设备的配置窗口:

      在s1交换机里查看流表如下:

      dpctl dump-flows tcp:127.0.0.1:6634
     显示flow=none;

     这时需要手动添加流表,使两者可以相互访问:

     $ dpctl add-flow tcp:127.0.0.1:6634 in_port=1,actions=output:2
     $ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,actions=output:1

     这时再在h1的窗口ping h2,就可以ping通了。

     当然也可以通过将ovs变为standalone的模式也可以实现两者ping通。

     以上所有的实验都完成了,这个具体的实验总算做完了,其中不仅仅是学会了这个简单的实验,在这期间里查询了各种的文档,以及对mininet这个软件有了更深的理解,区别了OVS与mininet的区别,ovs是可以不要借助mininet软件就可以搭建在ubuntu环境下的,还有linux命令有了更深的熟悉,以及各种技术的发展都不是毫无章法的,都是循序渐进的,掌握了mininet以及openflow的具体配置。这几个技术的学习笔记也会在随后的学习中进行总结。

你可能感兴趣的:(SDN学习笔记)