zoukankan      html  css  js  c++  java
  • 2019 SDN上机第2次作业

    1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况

    (1)使用命令行搭建如下拓扑


    设置IP
    设置preference:

    输入net查看拓扑结构:

    输入pingall命令:

    (2)2. 直接在Open vSwitch下发流表,用vlan得到下列虚拟网段,请逐条说明所下发的流表含义

    #将主机1进入s1的包在报文外层压入一层vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096->vlan_vid,output:4
    #将主机2进入s1的包在报文外层压入一层vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097->vlan_vid,output:4
    #将主机3进入s1的包在报文外层压入一层vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098->vlan_vid,output:4
    
    #弹出报文最外层vlan tag,并根据tag进行转发
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=2,actions=pop_vlan,output:3
    
    #将主机4进入s2的包打上vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096->vlan_vid,output:4
    #将主机5进入s2的包打上vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097->vlan_vid,output:4
    #将主机6进入s2的包打上vlan tag,转发端口4
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098->vlan_vid,output:4
    
    #弹出报文最外层vlan tag, 并根据tag进行转发
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output:2
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=2,actions=pop_vlan,output:3
    

    3. 直接在Open vSwitch查看流表,提交OVS命令执行结果

    命令行输入以下命令查看s1流表

    sudo ovs-ofctl -O OpenFlow13 dump-flows s1
    

    命令行输入以下命令查看s2流表

    sudo ovs-ofctl -O OpenFlow13 dump-flows s2
    

    4. 提交主机连通性测试结果,验证流表的有效性

    再次输入pingall命令查看连通性测试结果,如下图可知
    h1 -- h4互通
    h2 -- h5互通
    h3 -- h6互通
    其余主机不通
    流表有效

    5. 利用Wireshark抓包,分析验证特定报文

    输入命令行

    sudo wireshark
    

    1. 帧头
    (1) “33 33 00 00 00 fb”代表目的MAC地址
    (2) “66 a9 0c 9b 9e ef”代表源MAC地址
    (3) “86 dd”代表协议类型为IP数据报
    2. IP数据报
    60 0d 90 fb 00 7e 11 ff fe 80 00 00 00 00 00 00 64 a9 0c ff
    3. UDP数据报
    4. SNMP数据报

  • 相关阅读:
    Kubernetes 集群日志管理
    登录功能通用测试用例设计
    Linux常用命令大全
    查看Android应用包名、Activity的几个方法
    CentOS 7 下Docker的安装
    Centos7.1下Docker的安装-yum方法
    appium+Java+testng自动化框架搭建-第一季
    Android在Win10环境搭建
    List<Map<String, Integer>> 同key的value全部累加合并
    Restrictions用法
  • 原文地址:https://www.cnblogs.com/ljc01/p/11821791.html
Copyright © 2011-2022 走看看