• SDN第二次作业


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

    创建拓扑

    要求拓扑支持OpenFlow 1.3协议

    点击run

    展示端口连接情况

    2. 直接在Open vSwitch下发流表,实现如下连通性要求,请逐条说明所下发的流表含义

    h1 -- h4互通

    h2 -- h5互通

    h3 -- h6互通

    其余主机不通

    SDN第二次作业

    将三台主机各设在一个vlan网络内(独立的vid),s1的数据包打上vlan tag从端口4向s2转发
    动作为push_vlan
    在报文外层压入一层vlan tag,需要使用openflow1.1以上版本兼容
    ps: set field值为4096+vlan_id,并且vlan优先级为0,即4096-8191,对应的vlan_id为0-4095

    sudo ovs-ofctl add-flow -O OpenFlow13 s1 in_port=1,actions=push_vlan:0x8100,set_field:4097->vlan_vid,output:4
    
    sudo ovs-ofctl add-flow -O OpenFlow13 s1 in_port=2,actions=push_vlan:0x8100,set_field:4098->vlan_vid,output:4
    
    sudo ovs-ofctl add-flow -O OpenFlow13 s1 in_port=3,actions=push_vlan:0x8100,set_field:4099->vlan_vid,output:4
    

    动作为strip_vlan
    剥掉报文内外层vlan tag
    s1将接收到的数据包去除vlan tag,然后根据dl_vlan(数据包原始的vlan_id),向指定端口转发
    (注意此处也要加上-O OpenFlow13,否则会出现错误***Unknown command: sudo ovs-ofctl add-flow s1 in_port=4,dl_vlan=1,actions=strip_vlan,output:1)

    sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=4,dl_vlan=1,actions=strip_vlan,output:1
    
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=4,dl_vlan=2,actions=strip_vlan,output:2
    
    sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=4,dl_vlan=3,actions=strip_vlan,output:3
    

    s2同理

    sudo ovs-ofctl add-flow -O OpenFlow13 s2 in_port=1,actions=push_vlan:0x8100,set_field:4097->vlan_vid,output:4
    
    sudo ovs-ofctl add-flow -O OpenFlow13 s2 in_port=2,actions=push_vlan:0x8100,set_field:4098->vlan_vid,output:4
    
    sudo ovs-ofctl add-flow -O OpenFlow13 s2 in_port=3,actions=push_vlan:0x8100,set_field:4099->vlan_vid,output:4
    
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 in_port=4,dl_vlan=1,actions=strip_vlan,output:1
    
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 in_port=4,dl_vlan=2,actions=strip_vlan,output:2
    
    sudo ovs-ofctl -O OpenFlow13 add-flow s2 in_port=4,dl_vlan=3,actions=strip_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. 提交主机连通性测试结果,验证流表的有效性

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

    输入sudo wireshark命令出现错误

    解决办法⬇⬇
    https://blog.csdn.net/pyufftj/article/details/22492543

    报文分析

    帧头
    (1) “72 ec d5 d6 54 58”代表目的MAC地址
    (2) “e6 00 77 47 6b 22”代表源MAC地址
    (3) “08 00”代表协议类型为IP数据报
    IP数据报
    45 00 00 54 8e 16 00 00 40 01 d8 8e 0a 00 00 04 0a 00 00 01
    (1)“45”:“4”代表IP协议的版本,说明是IPv4;
    “5”代表IP包的包头长度为:5*4=20字节
    (2)“00”代表服务类型
    (3)“00 54”代表IP数据报文总长(包含头部及数据)
    (4)“8e 16”、“8e 16”代表认证、标志、段偏移;主要用于数据包的分段
    “00 00”代表无偏移字段
    (5)“40”代表存活时间是64
    (6)“01”这里代表的是传输层的报文协议
    (7)“d8 8e”报头确认号
    (8)“0a 00 00 04”代表源IP地址10.0.0.4
    (9)“0a 00 00 01”代表目的IP地址10.0.0.1

  • 相关阅读:
    第九届蓝桥杯省赛c/c++真题明码题解答案,另类excel解法思路
    Windows下将Python源代码.py文件封装成exe可执行文件方法
    windows下python自带的pip安装速度过慢解决方案
    解决:Errors were encountered while processing
    ubuntu 安装 caffe 解决://home/xiaojie/anaconda/lib/libpng16.so.16:对‘inflateValidate@ZLIB_1.2.9’未定义的引用
    ubuntu安装caffe 解决:build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shar
    ubuntu 禁止内核更新
    ubutun 中notebook出现 Permission denied: Untitled.ipynb
    ubuntu下anaconda使用jupyter notebook加载tensorflow、pytorch
    ubuntu下用anaconda快速安装 pytorch
  • 原文地址:https://www.cnblogs.com/jjsgxty/p/11817132.html
Copyright © 2020-2023  润新知