OpenDaylight二层转发机制实验

实验参考

OpenDaylight二层转发机制实验

实验步骤

启动OpenDaylight

登录OpenDaylight虚拟机,切换到OpenDaylight安装目录。安装目录请根据实际情况决定

执行以下命令查看进程,默认监听端口为6633

ps -ef|grep opendaylight
netstat -anp|grep 6633

通过浏览器访问http://localhost:8080(锂版本web:http://localhost:8181/index.html)页面。用户名和密码都是admin。

创建拓扑

登录Mininet虚拟机,检查/home/mininet目录下是否有topo-2sw_2host.py实验脚本,如果没有则执行以下步骤创建脚本并脚本内容,如果有,请跳过此步骤。

touch topo-2sw_2host.py
vim topo-2sw_2host.py

本实验拓扑结构的由Python脚本生成,请在topo-2sw_2host.py脚本中添加如下内容。

"""Custom topology example
Two directly connected switches plus two hosts for each switch:
   host1 --- switch1 --- switch2 --- host3
               |            |
               |            |
             host2        host4
"""
from mininet.topo import Topo

class MyTopo( Topo ):
    "Simple topology example."

    def __init__( self ):
        "Create custom topo."

        # Initialize topology 
        Topo.__init__( self )
         
        # Add hosts and switches
        Host1 = self.addHost( 'h1' )
        Host2 = self.addHost( 'h2' )
        Host3 = self.addHost( 'h3' )
        Host4 = self.addHost( 'h4' )
        Switch1 = self.addSwitch( 's1' )
        Switch2 = self.addSwitch( 's2' )
    
        # Add links
        self.addLink( Host1, Switch1 )
        self.addLink( Host2, Switch1 )
        self.addLink( Switch2, Host3 )
        self.addLink( Switch2, Host4 )
        self.addLink( Switch1, Switch2 )

topos = { 'mytopo': ( lambda: MyTopo() ) }

执行以下命令启动Mininet,生成测试拓扑结构:

screen mn --custom /home/mininet/topo-2sw_2host.py --topo mytopo --controller=remote,ip=30.0.1.5,port=6633 --switch ovsk,protocols=OpenFlow10

执行ctrl+a+d命令切换到系统命令行

输入ovs-vsctl show命令查看Mininet是否与OpenDaylight连通。

ovs-vsctl show

登录OpenDaylight Web页面查看网络拓扑。
当前网络拓扑如下:

 抓包验证

步骤1.在OpenDaylight虚拟机上执行以下命令开始抓包。

tcpdump -i any port 6633 -s0 -w 206.pcap

步骤2.在Mininet命令行中查看当前已生成2个交换机和4个主机。
如果当前是在系统命令行,则执行screen –r命令切换到mininet命令行。执行以下命令查看交换机和主机。

nodes
h1 ping h3

步骤4.在OpenDaylight Web页面查看拓扑图。

步骤5.在OpenDaylight的Web页面查看Troubleshoot选项卡,查看当前两台交换机上已经下发的流表

交换机S1上的流表如下图所示:

 交换机S2上的流表如下图所示:

 步骤7.执行以下命令查看当前两个交换机上的流表内容

ovs-ofctl dump-flows s1
ovs-ofctl dump-flows s2

查看链路信息

OpenDayLight虚拟器路由情况:

实验总结

       随着时间的流逝,最后一个实验也结束了。在做这些实验时,遇到了很多很多的困难,很多知识不懂,很多软件不会用,所幸通过自己慢慢的用时间去磨,这些实验也大都完成了,但是还有很多细节和小问题存在,这些也在每篇实验博客里体现了,希望在未来,随着自己不断的汲取知识,这些问题可以被解决。虽然困难很多很难,不过当完成实验时,哪种兴奋感也是很美好的。完成这些实验,收获了很多,精神上,有点能领悟哪种坚持不懈的感觉了。有时候遇到困难的实验,一个实验要做几个小时,不断的重复做,不断地寻找问题,和解决办法。现在回想起来,也是满有成就感的。知识上,也收获了很多很多,从零到会按照方案做,这也是一种进步嘛。虽然还不明白为什么做,不过也有了一些些理解。正所谓读书百遍,其义自现。加油!

posted @ 2020-02-07 20:11  如梦的少年丶  阅读(296)  评论(0编辑  收藏  举报