zoukankan      html  css  js  c++  java
  • SDN第六次作业

    实验内容

    1、搭建如下拓扑并连接控制器

    2、下发相关流表和组表实现链路的故障恢复

    实验步骤

    1.建立以下拓扑,并连接上ODL控制器。

    ODL拓扑界面截图:

    2.利用ODL下发组表、流表,实现链路的故障恢复

    • 利用sudo ovs-ofctl dump-flows s2(s3) -O OpenFlow13查看s2和s3的流表的截图:

    可以发现s2的所在链路是通的。而s3的数据包被drop。

    • 对s1下发组表后,再下发流表使组表生效,按照下发组表到s1的方法下发组表至s4,这是为了让数据回来的时候能够自动切换到s3所在链路,而不是继续往s2所在链路上发送,同样需要再发一条流表使它生效。在OVS内确认组表下发成功。
      查看s1和s4的组表的截图:

    • 对s3上下发两条流表覆盖drop动作,port1转发到port2,port2转发到port1,然后查询s3的流表。
      截图:

    • 在s4上下发流表使s3所在链路进入的数据包转发至h2所在端口。
      截图:

    • 进行h1 ping h2,通过sudo ovs-ofctl dump-group-stats s1 -O OPenFlow13查看流表匹配状态,可以看到只有bucket0 生效,即所有数据包都通过s2所在路径传输。
      截图:

    • 将s2所在链路的端口set down,通过命令将s1的2端口关闭,s4的1端口关闭。目的是为了s1和s4上的组表生效
      sudo ovs-ofctl -O OpenFlow13 mod-port s1 2 down
      sudo ovs-ofctl -O OpenFlow13 mod-port s4 1 down
      进行h1 ping h2操作,通过sudo ovs-ofctl dump-group-stats s4 -O OPenFlow13查看组表状态,可以看到另一个bucket的匹配数据有增长,证明另一条链路启用

  • 相关阅读:
    Mapreduce实例——求平均值
    Mapreduce实例——单表join
    《短码之美》读书笔记1
    Mapreduce实例——Map端join使用addCacheFile()方法报错,找不到文件
    Mapreduce实例——Map端join
    C# 异常捕获
    Mapreduce实例——排序
    无名
    数据库设计体会
    oracle 删除表空间错误 提示:ora02429:无法删除用于强制唯一/主键的索引。
  • 原文地址:https://www.cnblogs.com/yoz425/p/8215681.html
Copyright © 2011-2022 走看看