SDN控制器-POX学习(一)

2023-05-16

本文实验环境:
1.VirtualBox
2.SDN Hub tutorial VM 64bit

学习目标:
1.熟悉SDN Hub tutorial
2.学习POX提供的样例代码:tutorial_l2.hub.py

SDN Hub tutorial就不多介绍,官方的介绍如下:
All-in-one SDN App Development Starter VM
翻译成中文就是一款集所有SDN相关APP的VM 镜像,方便我这样的初学者进行学习.

SDN Hub tutorial安装很简单,到官网下载最新的版本,导入到VirtualBox或者VMware这样的虚拟机软件.

一、下面是本次实验的步骤了:

1.安装SDN Hub tutorial
2.在命令行通过mininet创建一个网络,该网络具备三台主机,一台交换机和一个控制器。
具体命令如下:

$ sudo mn --topo single,3 --mac --controller remote --switch ovsk
sudo ovs-vsctl set bridge s1 protocols=OpenFlow10

3.启动POX控制器,并使用tutorial_l2.hub.py这个模块,这个模块是用Python实现的集线器

cd /home/ubuntu/pox && ./pox.py log.level --DEBUG forwarding.tutorial_l2_hub

4.最后在mininet命令端输入h1 ping h2,可以看到h1能够ping通h2.

二.结果理解
1.tutorial_l2.hub.py程序

from pox.core import core
import pox.openflow.libopenflow_01 as of

class L2Hub (object):
    def __init__ (self, connection):
        # Keep track of the connection to the switch so that we can
        # send it messages!
        self.connection = connection

        # This binds all our event listener
        connection.addListeners(self)

    # Handles packet in messages from the switch.
    # 处理PackIn消息
    def _handle_PacketIn (self, event):
        packet = event.parsed # This is the parsed packet data.

        packet_in = event.ofp # The actual ofp_packet_in message.
        #生成packet_out消息
        msg = of.ofp_packet_out()
        msg.buffer_id = event.ofp.buffer_id
    msg.in_port = packet_in.in_port

        # Add an action to send to the specified port
        #讲所有来到交换机的数据包都从其它端口转发出去
        action = of.ofp_action_output(port = of.OFPP_FLOOD)
        msg.actions.append(action)

        # Send message to switch
        self.connection.send(msg)

def launch ():
    def start_switch (event):
        #实例化一个Hub
        L2Hub(event.connection)
    #添加监听
    core.openflow.addListenerByName("ConnectionUp", start_switch)

2.数据包交互时序,以h1 ping h2为例
这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDN控制器-POX学习(一) 的相关文章

  • 2019年SDN软件定义网络部分

    SDN 题目 二 配置IP添加网卡以及karaf程序启动 三 创建拓扑 四 打开网页查看拓扑 五 通过OVS手动添加网卡 设置网关 1 添加网卡 2 设置网关地址 开启路由转发 3 给H1 H2 H3 H4设置网关 六 OVS手工下发流表
  • 【SDN控制器分析之一】ONOS架构概述

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

    OpenStack与SDN控制器的集成 蒋暕青 1 OpenStack Neutron简介 Neutron添加了一层虚拟的网络服务让租户 用户 构建自己的虚拟网络 Neutron是对网络的虚拟化 xff0c 该网络可以从一个地方移动到另一个
  • SDN和SD-WAN有本质区别—Vecloud微云

    作为软件定义网络 xff08 SDN xff09 技术中的一个细分 xff0c 软件定义广域网 xff08 SD WAN xff09 无疑是从2015年到现在企业级广域网布局中最热门的技术之一 SDN SDN旨在支持局域网 xff08 LA
  • openflow交换机流表删除_sdn交换机与普通交换机区别—Vecloud

    SDN xff0c 即Software Defined Network 软件定义网络 xff0c 传统的网络设备 交换机 路由器 的固由设备制造商锁定和控制 xff0c 所以SDN希望将网络控制与物理网络拓扑分离 xff0c 从而摆脱硬件对
  • 基于SDN的访问控制模块实现

    一 背景 1 访问控制 访问控制技术 xff0c 指防止对任何资源进行未授权的访问 xff0c 从而使计算机系统在合法的范围内使用 意指用户身份及其所归属的某项定义组来限制用户对某些信息项的访问 xff0c 或限制对某些控制功能的使用的一种
  • SDN的HUB实验

    SDN的hub实验 首先需要搭建ryu控制器环境和mininet环境 使用winscp将hub的py代码上传到服务器啊贝云 使用命令搭建拓扑环境 mn topo 61 single xff0c 3 controller 61 remote
  • SDN和SD-WAN的概念别再搞混了

    最近 xff0c SD WAN 在融资领域是一个比较热的话题 国外几家 SD WAN 的头部企业不断地取得融资 xff0c 也包括被思科 VMware等巨头收购和兼并 xff0c 国内创业公司推出了各种 SD WAN 产品和解决计划 不得不
  • 【SDN测试题】

    SDN测试题 一 判断题 NFV与SDN的基础都是通用服务器 云计算以及虚拟化技术 正确答案 xff1a 对 安装OpenvSwitch时必须根据系统内核版本选择相应的Open vSwitch版本 正确答案 xff1a 对 执行命令ovs
  • SDN, SD-WAN, NFV, VNF: What Is All This?

    本文转载至 xff1a http www velocloud com sd wan blog sdn sd wan nfv vnf Inscrutable alphabet soup Even the fully expanded term
  • SDN你必须知道的十大问题——SDN有哪些开源项目

    SDN之所以能够发展的如此之快 xff0c 其中开源社区的贡献不容忽视 随着SDN 各类社区的不断发展状大 xff0c 开源项目也在不断增多 xff0c 从控制器到交换机再到网络虚拟化 xff0c 开源项目一度让小编眼花缭乱 可能你熟悉Op
  • 【SDN控制器】odl:0.6.4集群搭建遇到的问题

    一 环境 ubuntu16 04虚拟机 xff0c 使用odl的docker镜像 xff0c 建立三个odl容器 xff0c 进行端口映射 odl 1 sudo docker run it name odl 1 p 10001 8181 P
  • mininet+pox+poxdesk使用入门

    mininet pox poxdesk使用入门 前提是安装好mininet以及pox和poxdesk模块 接下来就是如何使用 笔者环境是Win7环境下VMware Workstation新建虚拟机上运行Ubuntu 12 0 首先在新打开的
  • OpenFlow流表_时间因素

    目标 现有拓扑结构如下的网络结构 s1 s4为交换机 h1 h9为主机 现欲让h1和h2白天ping不通 晚上ping的通 拓扑结构 s1
  • OpenVSwitch数据面流表cache机制浅谈

    稍许笔墨写了一篇关于OpenVSwitch 以下简称OVS 的文章 https blog csdn net dog250 article details 103492099 但有些事情并没有说清楚 关于OVS的流表是如何映射成数据平面的Fl
  • 网络系列--如何理解网络“软化”?简要整理分析网络软化的赋能技术。

    文章目录 对网络软化的理解 SDN NFV NFV与SDN简单对比 如何理解网络 软化 简要整理分析网络软化的赋能技术 对网络软化的理解 在互联网飞速发展的今天 通信网络规模爆发式的增长以及客户对网络性能需求的多样性 对网络的灵活性和敏捷性
  • 使用 OpenDaylight 入门原型不起作用

    尝试跟随开放日光开发者教程获得在控制器上运行的初始 hello world 应用程序 但是运行命令 mvn archetype generate DarchetypeGroupId org opendaylight controller D
  • OpenDaylight 控制器应用程序 (Sodium SR1) 缺少依赖项

    我按照此处的说明编写一个简单的 hello world RPC https docs opendaylight org en stable sodium developer guide developing apps on the open
  • SDN前沿技术【SMaRT-5G项目】

    目录 引言 节能方法 快速了解投资回报率 ROI ONF SMaRT 5G Initiative RAN 能量优化 方法 电池开 关方法 MIMO 睡眠和 RF 通道打开 关闭 高级睡眠模式 ASM RAN节能解决方案的
  • REST 和 POX 之间的区别

    我真的无法理解 REST 和 POX Web 服务之间的区别 我的意思是 POX 不能被视为具有 XML 消息定义的 REST Web 服务吗 这取决于您的 Plain Old XML 包含的内容 事实是 POX 过去常常与 SOAP 进行

随机推荐

  • 3.python 发送邮件之smtplib模块

    SMTP xff08 Simple Mail Transfer Protocol xff09 是简单邮件传输协议 xff0c 它是一组用于由源地址到目的地址的邮件传输规则 python中对SMTP进行了简单的封装 xff0c 可以发送纯文本
  • Linux VMWare VNC远程桌面管理

    一 linux vncserver环境配置 xff1a 1 vncserver和gnome安装软件包 xff1a yum install tigervnc server y yum groups install GNOME yum grou
  • UML动态模型(顺序图、协作图、状态图)

    顺序图 xff1a 用来表示用例中的行为顺序 xff0c 当执行一个用例行为时 xff0c 顺序图中的每条信息 对应了一个类操作或状态机中引起转换的事件 顺序图展示对象之间的交互 xff0c 这些交互是指在场景或用例的时间六中发生的 xff
  • PX4编译总结以及底层驱动流程

    师父给的 Px4编译总结 1 ld文件配置MCU Firmware nuttx configs typhoon scripts 2 配置NUTTX系统 xff1a 修改defconfig Firmware nuttx configs typ
  • ovs ovn 学习资料

    0 A Primer on OVN http blog spinhirne com 2016 09 a primer on ovn html 1 Open Virtual Networking With Docker http docs o
  • openstack No valid host was found. There are not enough hosts available.

    root 64 dell PowerEdge T30 gedit var log nova nova conductor log root 64 dell PowerEdge T30 gedit var log nova nova sche
  • Python中判断字符串是否为数字的三个方法isdecimal 、isdigit、isnumeric的差别

    isdecimal isdigit isnumeric这三个字符串方法都用于判断字符串是否为数字 xff0c 为什么用三个方法呢 xff1f 他们的差别是什么内 xff1f isdecimal xff1a 是否为十进制数字符 xff0c 包
  • 超过255台电脑IP和子网掩码的一些知识(轉)

    超过255台电脑IP和子网掩码的一些知识 我们都知道 xff0c xff29 xff30 是由四段数字组成 xff0c 在此 xff0c 我们先来了解一下3类常用的 xff29 xff30 A类IP段 0 0 0 0 到127 255 25
  • Unable to determine the device handle for GPU 0000:01:00.0: GPU is lost.问题排坑

    在运行maskrcnn时 xff0c 会碰到训练不动的问题 xff0c 就卡在这儿 UserWarning Converting sparse IndexedSlices to a dense Tensor of unknown shape
  • TCP/UDP协议

    一 协议的概念 什么是协议 xff1f 从应用的角度出发 xff0c 协议可理解为 规则 xff0c 是数据传输和数据的解释的规则 假设 xff0c A B双方欲传输文件 规定 xff1a 第一次 xff0c 传输文件名 xff0c 接收方
  • Chapter 4 Metrology system

    The metrology system measures the position of the probe relative to the product in the six critical directions in the pl
  • 二值信号量和互斥锁到底有什么区别?

    在说明之前我先抛出结论 xff1a 互斥锁和二值信号量在使用上非常相似 xff0c 但是互斥锁解决了优先级翻转的问题 假定我们现在有三个任务 xff0c task1 xff0c task2 xff0c task3 xff0c 任务优先级ta
  • uCos的多任务实现

    uCos的多任务实现 作为操作系统 OS xff0c 最基本的一项服务就是提供多线程 xff0c 在实时操作系统uCos里 xff0c 多线程被称为多任务 Task 多任务并不是CPU能真正同时运行多个程序 xff0c 实际是靠CPU在多个
  • 设置vnc登录远程虚拟机

    设置vnc登录远程虚拟机 原理简介 xff1a vnc分为vnc server 和vnc view xff0c 我们经常用来连接远端服务器的是vnc view客户端 xff0c server端部署在服务器端 vnc 能够与远端服务器实现通信
  • S03_CH13_ZYNQ A9 TCP UART双核AMP例程

    S03 CH13 ZYNQ A9 TCP UART双核AMP例程 13 1概述 ZYNQ中存在两个独立的ARM核 xff0c 在很多应用场景中往往只需使用其中的1个核心即可 然而 xff0c 对于复杂的设计 xff0c 例如多任务 xff0
  • Git 本地仓库(使用小乌龟进行操作,一个人开发)

    一 首先在本地创建版本库 创建成功最明显的特征是该目录下存在一个隐藏文件夹 xff08 git xff09 前提 xff1a 已设置显示隐藏文件 三种方式 xff1a 1 Git GUI Here xff08 右击 xff09 2 Git
  • ubuntu html5桌面,docker-ubuntu-vnc-desktop

    docker ubuntu vnc desktop Docker image to provide HTML5 VNC interface to access Ubuntu 16 04 LXDE desktop environment Qu
  • Docker容器跨主机通信--overlay网络

    一 Docker主机间容器通信的解决方案 Docker网络驱动 Overlay 基于VXLAN封装实现Docker原生Overlay网络Macvlan Docker主机网卡接口逻辑上分为多个子接口 xff0c 每个子接口标识一个VLAN 容
  • intel和AMD CPU性能对比(2016年CPU天梯图)组装电脑必读!

    http www 365pcbuy com article 411 html 特别提示 xff1a 此文已经于2016年10月12日更新 xff01 内容变动较大 xff0c 请细细品鉴 xff01 如何为客户推荐高性价比机型是我站的重要工
  • SDN控制器-POX学习(一)

    本文实验环境 1 VirtualBox 2 SDN Hub tutorial VM 64bit 学习目标 1 熟悉SDN Hub tutorial 2 学习POX提供的样例代码 tutorial l2 hub py SDN Hub tuto