实验4:开源控制器实践——OpenDaylight

一、实验目的

  1. 能够独立完成OpenDaylight控制器的安装配置;
  2. 能够使用Postman工具调用OpenDaylight API接口下发流表。

二、实验环境

  1. 下载虚拟机软件Oracle VisualBox或VMware;
  2. 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;

三、实验要求

(一)基本要求

  1. 配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;
  2. 下载并解压安装Postman;
  3. 利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;

  • 创建拓扑

  • 打开ODL

  • pingall并观察拓扑

  1. 通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
  • 相关配置

  • 先h1 ping h3,后send。观察结果

四、个人总结

  • 实验难度

    本次实验对于我来说算是比较难的,因为我对于这些工具的掌握不是很熟练,导致在使用工具过程中产生了一系列问题。从而大大延长了我做实验的时间。
  • 遇到的困难以及解决方法
  1. 拓扑建立并pingall之后在ODL上显示的拓扑为空白?

    这主要是因为我在之前建立了很多拓扑,所以只需要使用命令 sudo mn -c 清空拓扑,再次建立拓扑之后就会显示出来了。

  2. 使用postman下发流表,但没有作用?

    可以通过观察下面返回的状态码来判断是什么错误,我的是401,所以猜测为用户名或密码写错了。于是将密码中的adimin改为admin之后就成功了。

    下列为常用状态码:

    • 100:这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已经完成,就忽略这个响应,而且服务器会在请求完成后向客户发送一个最终的结果。
    • 200:这个是最常见的http状态码,表示服务器已经成功接受请求,并将返回客户端所请求的最终结果。
    • 202:表示服务器已经接受了请求,但是还没有处理,而且这个请求最终会不会处理还不确定。
    • 204:服务器成功处理了请求,但没有返回任何实体内容 ,可能会返回新的头部元信息。
    • 301:客户端请求的网页已经永久移动到新的位置,当链接发生变化时,返回301代码告诉客户端链接的变化,客户端保存新的链接,并向新的链接发出请求,已返回请求结果。
    • 404:请求失败,客户端请求的资源没有找到或者是不存在。
    • 500:服务器遇到未知的错误,导致无法完成客户端当前的请求。
    • 503:服务器由于临时的服务器过载或者是维护,无法解决当前的请求。
  3. 安装时报各种错误。

    这些错误大多是因为复制命令的时候多复制了空格或者少复制了一个 - 导致的,因此复制完最好先检查一遍。

  • 心得体会

    在本次实验中,我还是学到了很多东西,毕竟做一步错一步(bushi)。不仅了解到了ODL和postman的使用方法,同时也对拓扑结构的了解更为深入。但是,这些还只是了解到了一点皮毛,通过不断的学习我了解到自己所学的不过是冰山一角,期待自己可以在接下来的课程中运用的更加熟练。

实验4:开源控制器实践——OpenDaylight的更多相关文章

  1. 实验5:开源控制器实践——POX

    一.实验目的 1.能够理解 POX 控制器的工作原理: 2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法: 3.能够运 ...

  2. 实验6:开源控制器实践——RYU

    实验目的 能够独立部署RYU控制器 能够理解RYU控制器实现软件定义的集线器原理 能够理解RYU控制器实现软件定义的交换机原理 二.实验环境 下载虚拟机软件Oracle VisualBox或VMwar ...

  3. 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布

    Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...

  4. 20155317王新玮《网络对抗技术》实验8 WEB基础实践

    20155317王新玮<网络对抗技术>实验8 WEB基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET与P ...

  5. 20145314郑凯杰《网络对抗技术》实验8 WEB基础实践

    20145314郑凯杰<网络对抗技术>实验8 WEB基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET与P ...

  6. 8月自动化测试课程 - Selenium开源自动化测试实践

    8月自动化测试课程 - Selenium开源自动化测试实践 http://gdtesting.cn/news.php?id=35

  7. 从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

    2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台.该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部 ...

  8. 实验6:开源控制器实———RYU

    一.实验目的 1.能够独立部署RYU控制器: 2.能够理解RYU控制器实现软件定义的集线器原理: 3.能够理解RYU控制器实现软件定义的交换机原理. 二.实验环境 Ubuntu 20.04 Deskt ...

  9. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

    今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...

随机推荐

  1. Oracle插入中文乱码问题

    PLSQL执行一条插入代码,两个字符既显示超长,一个字符插入后乱码 insert into person (pid, pname) values (1,'明'); Google查询说原因是Oracle ...

  2. web.xml中自定义Listener

    Listener可以监听容器中某一执行动作,并根据其要求做出相应的响应. 常用的Web事件的监听接口如下: ServletContextListener:用于监听Web的启动及关闭 ServletCo ...

  3. 使用元数据设计的update、query封装

    package util; import java.lang.reflect.InvocationTargetException; import java.sql.Connection; import ...

  4. java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit(index_jsp.java:40)

    做JSP页面时,出现如下错误,把如上面依赖下面一个去除即可

  5. TensorFlow-Slim 简介+Demo

    github介绍:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim 基于slim实现的yolo- ...

  6. Linux nginx 负载的几种方式

    2021-08-191. 轮询 (这是默认的方式)就是在 nginx 映射的几个服务器按请求的时间顺序逐一分配,几率是随机的.如果后端服务器 down 掉,能自动忽略不用.这种情况一般是每台服务器配置 ...

  7. 浅谈可持久化Trie与线段树的原理以及实现(带图)

    浅谈可持久化Trie与线段树的原理以及实现 引言 当我们需要保存一个数据结构不同时间的每个版本,最朴素的方法就是每个时间都创建一个独立的数据结构,单独储存. 但是这种方法不仅每次复制新的数据结构需要时 ...

  8. Python - 面向对象编程 - 新式类和旧式类

    object object 是 Python 为所有对象提供的父类,默认提供一些内置的属性.方法:可以使用 dir 方法查看 新式类 以 object 为父类的类,推荐使用 在 Python 3.x ...

  9. Redis详解(一)——

    Redis详解1 https://www.cnblogs.com/MoYu-zc/p/14985250.html https://www.cnblogs.com/xiaoxiaotank/p/1498 ...

  10. Git 系列教程(6)- 查看 commit 提交历史

    查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 git log 官方栗子 运行下面的命令获取该项目: git clone https://github.com/scha 运 ...