Mininet 应用与源码剖析
  • 前言
  • 概述
    • 主要特性
    • 安装
  • 基本使用
    • 创建网络
    • 查看信息
    • 节点操作
  • 常用操作
    • 快捷测试
    • 自定义拓扑
    • 使用友好的 MAC 编号
    • 使用 XTerm
    • 链路操作
    • 指定交换机跟控制器类型
    • 名字空间
    • 启动参数总结
    • 常用命令总结
    • 其他操作
  • 高级功能
    • 使用 dpctl
    • 控制器
    • 交换机与控制器交互
    • 使用 NOX
    • 外部读取配置命令
  • 代码结构
    • 运行相关
    • 安装相关
    • 核心代码
    • 说明文件
    • 其它
    • 整体逻辑功能
  • mininet.link 模块
    • mininet.link.Intf
    • mininet.link.Link
    • mininet.link.TCIntf
    • mininet.link.TCLink
  • mininet.node 模块
    • 基类
    • 主机类
    • 控制器类
    • 交换机类
  • mininet.net 模块
    • mininet.net.Mininet
    • mininet.net.MininetWithControlNet
  • mininet.topo 模块
    • mininet.topo.MultiGraph
    • mininet.topo.Topo
    • mininet.topo.LinearTopo
    • mininet.topo.SingleSwitchTopo
    • mininet.topo.SingleSwitchReversedTopo
  • 其它模块
    • mininet.cli 模块
    • mininet.clean 模块
    • mininet.log 模块
    • mininet.moduledeps 模块
    • mininet.term 模块
    • mininet.util 模块
  • 运行代码和示例
    • mn
    • 示例程序
Powered by GitBook
On this page

Was this helpful?

  1. 高级功能

使用 NOX

首先确定没有其他控制器在运行(占据 6633 端口)

sudo killall controller

启动 Mininet

sudo mn --topo single,3 --mac --switch ovsk --controller remote

然后启动 NOX,默认路径为 ~/noxcore/build/src,重新打开一个 ssh 终端执行

./nox_core -v -i ptcp: pytutorial

会自动打开运行 tutorial 应用的 NOX,打印出详细的调试信息,并监听 6633 端口。

直到打印出类似如下信息,说明交换机已经成功连接到 NOX。

00039|nox|DBG:Registering switch with DPID = 1

通过互 ping 测试,各个主机连通,此时 switch 等同于一个 hub。 然后通过修改 ~/noxcore/src/nox/coreapps/tutorial/pytutorial.py 中代码,让 NOX 工作成一个带学习功能的交换机。相关命令参考 ofinclude 代码,以及 NOX 对各个包的解析代码目录:~/noxcore/src/nox/lib/packet/。

通过编写 NOX 程序,我们可以让交换机的行为更加智能化、复杂化。为了测试我们编写的 NOX 程序,我们可以使用 cbench 来进行测试。

Previous交换机与控制器交互Next外部读取配置命令

Last updated 5 years ago

Was this helpful?