• jQuery火箭图标返回顶部代码





    实验 5:OpenFlow 协议分析和 OpenDaylight 安装

    =============================================

    一、实验目的

    回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接; 通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容。


    二、实验任务

    Mininet 生成拓扑连接 OpenDaylight,在 Mininet 上通过 ping 抓包验证 OpenFlow 1.3 协议


    三、实验要求

    • 根据实验步骤重复上述实验。
    • 在博客园发表一篇博客,记录最终的结果、实验过程遇到的问题和解决办法。


    四、具体实验步骤

    安装 OpenDaylight 控制器

    • 先安装 jdk 8 环境
    $ Mkdir /usr/local/java
    $ sudo mkdir /usr/local/java
    $ sudo cp ~/Desktop/jdk-8u261-linux-x64.tar.gz /usr/local/java
    $ sudo tar -zxvf jdk-8u261-linux-x64.tar.gz
    $ gedit ~/.bashrc
    <--在文件末尾追加内容如下-->
    export JAVA_HOME=/usr/local/java/jdk1.8.0_211
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH 
    <--保存退出-->
    $ source ~/.bashrc 
    $ java -version
    
    图 5-1 追加路径
    图 5-2 验证 jdk 8 配置成功
    • 安装 Beryllium 版本的 OpenDayLight 控制器及其插件
    $ tar -zxvf distribution-karaf-0.4.4-Beryllium-SR4.tar.gz
    $ ./distribution-karaf-0.4.4-Beryllium-SR4/bin/karaf
    ... 
    > feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-all odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui 
    
    图 5-3 安装并进入

    启动 Mininet 虚拟机,生成一个最简拓扑并连接 OpenDaylight

    • 连接前应确认 Mininet 和 OpenDaylight 的网络互通,如果是安装在同一台虚拟机上,那么可以忽略。
    • 运行命令生成拓扑并连接控制器: 【同一台虚拟机上使用 127.0.0.1 即可】
    $ sudo mn --switch ovs,protocols=OpenFlow13 --controller=remote,ip=127.0.0.1,port=6633 
    
    图 5-4 生成拓扑并连接控制器成功

    Wireshark 抓包分析 OpenFlow 1.3

    • sudo wireshark 命令开启 wireshark,选择 any,抓取所有数据包。
    • 为了能够抓到控制器和交换机最初的交互,应在 Mininet 拓扑创建前开启抓包。
    • 查看抓包结果,利用 openflow_v4 过滤出 OpenFlow 1.3 协议,可以看到 OpenFlow协议下,交换机和控制器的交互过程。
    图 5-5 全部开启并成功抓包
    图 5-6 查看 HELLO 数据包
    图 5-7 查看 FEATURES_REPLY 数据包
    图 5-8 查看 SET_CONFIG 数据包
    图 5-8 查看 PACKET_OUT 数据包
    图 5-9 查看 FLOW MOD 数据包
    • 用 OVS 命令查看交换机中确实存在相应版本的流表,cookie、priority 等信息可以上面的抓包能够对应上。
    $ sudo ovs-ofctl dump-flows s1 -O OpenFlow13
    
    图 5-10 OVS 查看流表信息



    五、注意事项与心得体会

    注意事项

    • 目标路径下文件夹尽量不要用括号,否则很容易出现路径错误;
    • home/local/usr 文件夹的操作需要 sudo;
    • 可以登录 127.0.0.1:8181/index.html 查看 OpenDayLight 控制器是否真的启动了【成功加载页面即算成功启动】;
    • 如果拓扑未能成功连接控制器,或者 WireShark 中抓取不到 OpenFlow 的数据包,大致解决方案有如下:
      • 没有安装插件或者安装出错,重新输入安装插件
      • 碳版本改换为铍版本,或者换为其他的 Linux 操作系统
      • WireShark 没有提前打开
      • 还有很多其他原因,请自行把控

    心得体会

    • .bashrc 与 shell 个性化配置相关,例如环境变量的改变,路径以及命令;source 指令加载环境变量,使其环境变量生效;
    • 这次实验我的电脑出现了一个极大的无法解决的 bug :所有操作都没有任何问题,安装包经过他人验证也并没有错误,java 配置无误,碳版本控制器也正常打开,但就是无法抓到 OpenFLow 的数据包,于是和碳版本斗争了三天三夜之后放弃;改为铍版本,果然有效【抓狂(ノ=Д=)ノ┻━┻ 】,虽然不知道为啥。


  • 相关阅读:
    牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)
    牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)
    牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)
    牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)
    Tourist's Notes CodeForces
    Educational Codeforces Round 71 (Rated for Div. 2) E XOR Guessing (二进制分组,交互)
    Tunnel Warfare HDU
    蓝桥杯第三届总决赛
    HDU 1695(数论,筛选+素因子分解+容斥)
    lightoj 1248 Dice (III)(几何分布+期望)
  • 原文地址:https://www.cnblogs.com/fzu2018-clf-bky-blog/p/13775387.html
Copyright © 2020-2023  润新知