Mininet连接ONOS的一些问题

2023-05-16

Mininet连接ONOS的一些问题

  • 一、启动ONOS
  • 二、简单小问题
    • 1.Mininet创建最简拓扑后连接不上远程控制器
    • 2.Mininet创建最简拓扑后主机之间ping不通
    • 3.不启动fwd应用自己通过REST API下发流表发现两台主机间ping不通
  • 三.总结

一、启动ONOS

   我的ONOS是通过源码编译安装的,安装目录是/opt,启动ONOS可以通过以下命令:

$ cd /opt/onos
#利用环境变量来激活安装应用
$ export ONOS_APPS="drivers,openflow,proxyarp,lldpprovider,fwd"
$ bazel run onos-local [-- [clean] [debug]]  #方括号里面的是可选操作

   等它启动好了我们就可以打开以下网址进入可视化界面

http://localhost:8181/onos/ui/index.html
账号和密码:onos/rocks

   ONOS的源码编译安装可以参考以下链接: ONOS源码编译安装

二、简单小问题

1.Mininet创建最简拓扑后连接不上远程控制器

   比如我下面的这一条命令:

$ sudo mn --controller=remote,ip=127.0.0.1:6653

是创建一个最简单的拓扑,一个交换机上连了两台主机,交换机连接远程ONOS控制器。
有时候我们会发现报错说“Unable to contact the remote controller at 127.0.0.1:6653”,错误如下:
错误详情
   这是因为没有打开openflow应用,可以通过以下方法开启:
a.直接另外开启一个终端,输入以下内容:

$ cd /opt/onos/tools/test/bin/  #进入安装目录的bin文件夹
$ ./onos localhost  #登陆cli

登陆cli
   登陆成功后安装和激活特性

> feature:install onos-providers-openflow-app 
> app activate org.onosproject.openflow

安装激活特性
b.可以通过可视化界面找到这些应用然后激活
进入Web可视化界面选择应用程序
   然后一个个激活下面的应用
激活选择的应用
   这样就能连接ONOS控制器了!
结果

2.Mininet创建最简拓扑后主机之间ping不通

   如下图:
h1 ping不通h2

   这个原因可能是没有安装fwd这个应用,有多种方法可以解决:
a.可以通过可视化界面找到这个应用然后激活
进入Web可视化界面选择应用程序
激活选择的应用

b.直接另外开启一个终端,输入以下内容

$ cd /opt/onos/tools/test/bin/  #进入安装目录的bin文件夹
$ ./onos localhost  #登陆cli

登陆cli
   登陆成功后安装和激活特性

> feature:install onos-apps-fwd
> app activate org.onosproject.fwd

安装和激活特性

3.不启动fwd应用自己通过REST API下发流表发现两台主机间ping不通

   进入REST API界面的网址:

http://localhost:8181/onos/v1/docs/

   h1 ping h2,在h1上使用wireshark抓了一下经过h1-eth0的报文,结果如下:
抓包结果
   发现交换机没有转发ARP报文,可以直接在ONOS Web界面搜索一下arp的应用,然后选择下面这个应用激活就行了,看源码这个应用是“Application that handles ARP and NDP resolution on a single L2 broadcast domain.”
激活应用
   激活之后就可以ping通了(前提是下发的流表是正确的)。
结果

三.总结

   最简单的方法就是利用环境变量:

$ cd /opt/onos
#利用环境变量来激活安装应用
$ export ONOS_APPS="drivers,openflow,proxyarp,lldpprovider,fwd"
$ bazel run onos-local [-- [clean] [debug]]  #方括号里面的是可选操作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mininet连接ONOS的一些问题 的相关文章

  • 使用npm的一些问题

    npm切换为国内的数据源 npm config set registry https span class token punctuation span span class token operator span span class t
  • 【SDN控制器分析之一】ONOS架构概述

    ONOS 设计目标 ONOS是一个采用OSGI技术来管理子项目的SDN控制器开源项目 xff0c 在最初设计时有这么几个目标是明确的 xff1a 代码模块化 xff1a 支持把新的功能作为新的独立单元引入特性可配置 xff1a 无论是在启动
  • onos实现driver的自动加载

    AbstractDriverLoader 已知driverAdminServer 根据path读取配置文件的内容 1 进入到XMLDriverLoader里 xff0c 根据XML 创建Provider gt XMLDriverLoader
  • 一些问题

    我没弄清楚linux下文件夹到底怎么分布的 cd 还有 分别是什么意思 分别是什么意思 xff0c 为什么他们的目录不一样 为什么sudo su后先进入的是 home maxi文件夹 xff1f 然后我cd 或者cd又进入一个文件夹 xff
  • Mininet

    部分转载自 负载均衡 常用命令 link s1 h2 downlink s1 h2 up通过 switch 选项跟 controller选项可以分别指定采用哪种类型的交换机跟控制器 xff0c 例如使用用户态的交换sudo mn switc
  • ONOS意图框架

    1 意图基本概念 Intent是用于描述应用需求的不可变模型对象 xff0c ONOS核心根据其改变网络行为 在最低级别上 xff0c 可以用以下方式描述意图 即意图的组成 xff1a 1 Network Resource xff1a 一组
  • ONOS-ifwd-app源码分析总结

    ONOS ifwd源码分析 xff0c 参考资料 xff1a https www sdnlab com 10297 html 在之前的文章中 xff0c 介绍了ONOS sample apps的获取 xff0c 但是将其生成的oar文件导入
  • ONOS简介

    一 与ODL区别 ONOS与OpenDayLight 两个控制器之间的较量 ODL 立场 xff1a 设备厂商 xff1a Cisco Citrix Systems Red Hat Brocade Ericsson ClearPath HP
  • 集群源码安装ONOS

    集群源码安装ONOS 1 每一台待安装onos的配置 bin bash sudo mv apache karaf 3 0 3 tar gz opt sudo mv apache maven 3 3 1 bin tar gz opt cd o
  • 使用ONOS的REST API来下发流表

    1 启动ONOS后 xff0c 浏览器进入doc http 10 109 247 211 8181 onos v1 docs 2 找到Flow xff0c 并打开POST 3 可以直接在这个上面编辑flow stream里面模拟GET获得的
  • 从零开始安装ubuntu18+P4+ONOS

    1 安装VMware Tools xff08 前面VM虚拟机安装Ubuntu的教程太多 xff0c 就不写了 xff09 先从虚拟机下载好 xff0c 然后将压缩包里的文件夹移动出来 xff08 可以用解压或者直接点开压缩包 xff0c 移
  • ONOS 控制器安装和app新建和编译

    1 1 ONOS 控制器编译与安装 ONOS 1 8 版本起强制使用 BUCK 构建工具 xff0c 不再使用 maven xff0c 编译和打包方式与旧版本有所区别 步骤 xff1a 配置环境 gt 下代码 gt 编译 gt 运行 配置环
  • 关于java中子类调用父类构造函数super();一些问题

    来都来了 xff0c 浅浅的给个赞呗 xff01 xff01 xff01 目录 浅谈java super函数的相关概念 浅谈java构造函数相关问题 关于子父类构造函数相关知识点 xff1a 一 xff0c super调用构造器五个注意点
  • Ubuntu16.04下基于BUCK安装onos

    踩了很多坑 xff0c 其中很多错误也没整明白怎么回事 xff0c 实在搞不了就重装系统 xff0c 经过多次测试 xff0c 找到了一个合适的安装步骤安装ONNO 1 13 2 1 安装mininet 需要可以安装 xff09 此步骤安装
  • Mininet拓扑构建与命令使用

    一 网络构建参数使用 创建Mininet拓扑成功后 xff0c 一般可用nodes dump net等命令查看拓扑的节点 链路及网络等 Mininet常用的交互命令如下所示 Mininet启动参数总结 一 网络构建参数使用 步骤1 单击终端
  • STM32 USART 一些问题

    SECTION 1 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 伽罗华域(Galois Field)理解、基于伽罗华域的四则运算(附详细python代码)

    参考链接 https blog csdn net luotuo44 article details 41645597 参考链接 https blog csdn net shelldon article details 54729687 伽罗
  • 如何自定义SimpleHTTPServer发送的页面?

    我在用SimpleHTTPServer我的代码中的类来响应客户端请求 实际上是mininet http mininet org用于网络项目的 python 脚本 客户端每5秒向服务器发送一次请求10 0 0 1 server cmd pyt
  • 如何在mininet中将不同的交换机连接到不同的遥控器?

    我想将 mininet 虚拟网络的不同交换机连接到不同的远程控制器 但不知道如何继续 请提供任何方法来做到这一点 任何 python 示例都值得赞赏 我推荐你阅读此邮件形式为 mininet 的邮件列表档案 https mailman st
  • Mininet 找不到所需的可执行控制器

    每当我想在 mininet 中运行 sshd py 示例或我自己编写的一些客户代码时 我都会得到 Creating network Adding controller Adding hosts h1 h2 h3 h4 h5 Adding s

随机推荐

  • Maven打包所有依赖到一个可执行jar中,将外部依赖加入到classPath中

    首先说一下比较常用的两种打包方式 xff1a 前提 xff1a maven构建可执行jar包时 xff0c 如果项目依赖了pom中定义的dependency之外的外部jar包 xff0c maven jar plugin默认是不会把这 些额
  • postgresql数据库|数据库实操----表复制详解

    前言 xff1a 通常情况下 xff0c 我们对数据库的增删改查的时候 xff0c 为了确保数据的安全 xff0c 需要备份表 xff0c 那么 xff0c 一种方法是通过pg dump 这个工具做SQL转储操作 xff0c 此方法比较复杂
  • Centos7 配置防火墙 firewall

    一 firewall 1 从CentOS7开始 xff0c 默认使用firewall来配置防火墙 xff0c 没有安装iptables xff08 旧版默认安装 xff09 2 firewall的配置文件是以xml的格式 xff0c 存储在
  • Windows多媒体开发框架介绍

    Windows 多媒体开发框架介绍 欢迎来到 Windows 的多媒体开发世界2D 绘图 API1 GDI2 GDI 43 3 Direct2D 音频 API1 MME2 DirectSound3 Windows Core AudioCor
  • 【Ubuntu】在QT运行程序后无结果显示,只有终端运行的解决办法

    转自 http stackoverflow com questions 3255035 qt creator run in terminal https bugs launchpad net ubuntu 43 source qtcreat
  • 【蓝桥杯嵌入式】关于CT117E下载程序出问题解决方案(含keil mdk4和keil mdk5移植)

    废话 万事开头难 xff0c 然后中间难 xff0c 最后难 寒假刚开始 xff0c 我看到了蓝桥杯嵌入式 很快啊 xff01 报名 买板一气呵成 没想到这块CT117E板子它不讲武德 xff0c 来骗 xff0c 来偷袭我这个二十岁的小伙
  • c语言冒泡排序详解(分析每一步,附代码)

    冒泡排序 xff08 Bubble Sort xff09 xff0c 是一种计算机科学领域的较简单的排序算法 它重复地走访过要排序的元素列 xff0c 依次比较两个相邻的元素 xff0c 如果顺序 xff08 如从大到小 首字母从Z到A x
  • 解决maven update project 后项目jdk变成1.5

    一 问题描述 在Eclipse中新建了一个Maven工程 然后更改JDK版本为1 7 结果每次使用Maven gt Update project的时候JDK版本都恢复成1 5 二 原因分析 Maven官方文档有如下描述 xff1a 编译器插
  • C语言——整型和浮点型混合运算

    1 int和double混合运算 C语言int和double混合运算时 xff0c 会自动将int类型的数据转换为double类型的数据 xff0c 最后得到的结果也是double类型 如下例 xff1a double a 61 4 0 9
  • C语言——函数指针

    目录 1 函数指针概念 1 1 函数指针的声明 1 2 函数指针的定义 1 3 使用typedef定义函数指针的别名 1 4 将常数转换为函数指针 1 5 函数指针的调用 1 6 将函数指针作为函数的传入参数 2 简单的例子 1 函数指针概
  • C语言——多线程基础(pthread)

    目录 1 线程的定义以及线程的创建 1 1 线程和进程的概念 1 2 使用pthread create 函数创建进程 2 使用pthread join 等待线程结束 2 1 使用pthread join 等待线程结束 2 1 使用pthre
  • C++——双端队列(deque)

    1 双端队列 xff08 deque xff09 双端队列 xff08 deque xff09 是队列的一种变形 xff0c 一般队列只能在队尾添加元素 xff08 push xff09 xff0c 在队首删除元素 xff08 pop xf
  • Linux|集群初始化脚本--osiniit.sh简介

    前言 xff1a 不管是什么部署 xff0c 前期的准备工作通常都是比较繁琐的 xff0c 但同时这些工作又具有程式化的特征 xff0c 也就是说都是有一定的流程的 xff0c 固定的步骤的 OK xff0c shell脚本处理这样的程式问
  • C++——优先级队列(priority_queue)

    目录 1 优先级队列 xff08 priority queue xff09 1 1 基本概念 1 2 优先级队列的定义 1 3 通过重写仿函数来支持自定义数据类型 1 4 通过运算符重载来支持自定义比较函数 1 5 优先级队列的基本操作 2
  • 操作系统——进程状态

    进程从创建到执行 xff0c 再到执行完毕销毁的过程中 xff0c 经历了不同的进程状态 xff0c 进程状态部分取决于进程当前的活动 xff0c 可以将进程状态分为 xff08 1 xff09 三状态模型 xff1b xff08 2 xf
  • 操作系统——进程调度

    目录 1 基本概念 1 1 CPU I O执行周期 1 2 CPU调度程序 xff08 CPU scheduler xff09 1 3 进程状态模型 1 4 抢占调度 1 5 调度程序 xff08 dispatcher xff09 1 6
  • C++实现优先级队列模板类

    1 优先级队列 1 1 基本原理 仿照C 43 43 STL 中的优先级队列priority queue xff0c 主要实现以下功能 xff1a 向队列中添加元素后 xff0c 队列自动调整 xff0c 保证队列中优先级最高的元素在队列头
  • C++通过WMI获取计算机电池电压的程序以及我出现的问题解决

    C 43 43 通过WMI获取计算机电池电压的程序以及我出现的问题解决 ConsoleApplication1 cpp 定义控制台应用程序的入口点 include stdafx h include DXGI h include vector
  • 深度学习——批量归一化(笔记)

    主流的卷积网络基本都设计批量归一化这个层 1 为什么要批量归一化 xff1f 网络层很深 xff0c 数据在底层 xff0c 损失函数在最顶层 反向传播后 xff0c 顶层的梯度大 xff0c 所以顶层训练的较快 数据在底层 xff0c 底
  • Mininet连接ONOS的一些问题

    Mininet连接ONOS的一些问题 一 启动ONOS二 简单小问题1 Mininet创建最简拓扑后连接不上远程控制器2 Mininet创建最简拓扑后主机之间ping不通3 不启动fwd应用自己通过REST API下发流表发现两台主机间pi