SDN练习第一题

题目描述


实现网络拓扑:

具体要求:

  • 南向接口采用OpenFlow 协议。
  • 可查看网络的拓扑信息视图。
  • H1、H2、H3、H4 任意两两可互通。

实现思路


  • 利用mininet可视化图形界面miniedit画出网络拓扑以及实现openflow协议,之后导出python脚本。
  • 运行floodlight控制器。
  • 运行python脚本并连接floodlight控制器。
  • ping以及拓扑信息视图获取。

miniedit


  • 使用以下命令运行miniedit:
root@ubuntu:/home/liuhy# cd mininet/
root@ubuntu:/home/liuhy/mininet# cd examples/
root@ubuntu:/home/liuhy/mininet/examples# ./miniedit.py

  • 画出拓扑:

  • 右键点击控制器c0选择Preferences修改信息如下:

说明:1.2版本的flood了light控制器默认端口为6653。不修改会造成端口冲突等问题。

  • 左上角Edit→Preferences来编辑协议等信息。

  • 左上角File→Expoet Level 2 Script储存python脚本。

运行floodlight控制器


  • 通过以下命令来创建floodlight控制器,默认端口6653
root@ubuntu:/home/liuhy# cd floodlight/
root@ubuntu:/home/liuhy/floodlight# java -jar target/floodlight.jar

运行脚本


  • 为了确保准确无误,我们来检查脚本。
root@ubuntu:/home/liuhy/mininet# vim sdn1.py

  • 保存

运行脚本连接控制器


  • 注意:脚本直接运行,不用像实验三那样子配置参数,因为脚本中已经配置完毕。
root@ubuntu:/home/liuhy/mininet# sudo python sdn1.py

  • 效果如图

    • mininet

    • floodlight

信息获取


  • 连接状态
mininet> pingall

  • 拓扑信息

遇到的问题


  • 安装floodlight时环境变量出现问题,管态下命令丢失。

  • /bin 不在PATH 环境变量中,故无法找到该命令

    • 原因:配置java环境变量时,不小心把系统的PATH变量弄丢了(或者说覆盖掉)。
    • 解决方法:
      • 打开 ~/.bashrc 进行修改。
      • 运行 gedit ~/.bashrc
      • 如果碰到:“/gedit 不在PATH 环境变量中,故无法找到该命令”,问题,可以先设置临时的PATH变量。
      • 贴出设置环境变量方法
  • 连接floodlight控制器时连接失败问题

    • 原因:端口错误。
    • 解决办法:
      • 查看相关版本生成控制器的端口号。
      • 理解脚本创建拓扑的原理,修改脚本。

SDN练习一的更多相关文章

  1. SDN/NFV运营商商业化部署

    三大运营商发布未来网络架构,并逐步加快SDN/NFV商业化部署的步伐.中国联通发布其新一代网络架构<CUBE-Net 2.0白皮书>,并与20多家合作伙伴共同启动了“新一代网络”合作研发计 ...

  2. SDN/NFV若干问题

    1.首先谈一谈网络技术和组网技术的关系 网络可分为两层:业务网.承载网.业务网主要是组织业务系统,而承载网主要是用来传输信息流:包括传送网(点到点数据专线).数据网(端到端连接).内容分发网(点到多点 ...

  3. 解读SDN的东西、南北向接口

    北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口. 南向接口(Southbound Interface)是提供对其他厂家网元的管理功能,支 ...

  4. SDN:motivation

    今天公交车上看了会SDN一本介绍性的书籍,具体名字不记得了.我想,我已经在实验室呆了很久的时间的,接触SDN也有一段时间了.对SDN的一些基本的知识还是需要好好整理一番.当然,这里只是一个随笔,想到什 ...

  5. SDN与NFV技术在云数据中心的规模应用探讨

    Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链 ...

  6. SDDC-SDN-SDS

    SDDCSDNSDS软件定义存储是一个较大的行业发展趋势,这个行业还包括软件定义网络(SDN)和软件定义数据中心(SDDC). SDDC依赖于虚拟化和云计算技术, SDDC的目标是虚拟化数据中心的一切 ...

  7. SDN三种模型解析

    数十年前,计算机科学家兼网络作家Andrew S. Tanenbaum讽刺标准过多难以选择,当然现在也是如此,比如软件定义网络模型的数量也很多.但是在考虑部署软件定义网络(SDN)或者试点之前,首先需 ...

  8. 浅谈SDN和NFV之间的关系

    一个行业固定设备的折旧周期很长,任何变革的发生都绝非易事,但是网络却一次性面临两项革新--软件定义网络(SDN)和网络功能虚拟化(NFV),在变革网络的过程中,二者若想取得成功可能会依赖彼此的技术,或 ...

  9. SDN跟网络虚拟化的完美结合

    SDN跟网络虚拟化的完美结合 之前说过,所谓的“SDN最适合的领域是数据中心”的说法,笔者认为更准确的说法应该是SDN最适合的领域是数据中心中的网络虚拟化应用.为什么说SDN 非常适合用在网络虚拟化中 ...

  10. 深度解析SDN——利益、战略、技术、实践(实战派专家力作,业内众多专家推荐)

    深度解析SDN——利益.战略.技术.实践(实战派专家力作,业内众多专家推荐) 张卫峰 编   ISBN 978-7-121-21821-7 2013年11月出版 定价:59.00元 232页 16开 ...

随机推荐

  1. STM32F4XX中断方式通过IO模拟I2C总线Master模式

    STM32的I2C硬核为了规避NXP的知识产权,使得I2C用起来经常出问题,因此ST公司推出了CPAL库,CPAL库在中断方式工作下仅支持无子地址 的器件,无法做到中断方式完成读写大部分I2C器件.同 ...

  2. Shell学习——子shell操作记录转储

    概述 主要介绍子shell历史操作记录的保存以及解析,比如python, scala等,用于(准)实时监控用户行为. 背景 一级shell的历史操作记录已由系统实现,当用户从开始登录shell(这里指 ...

  3. Java ConcurrentHashMap 源代码分析

    Java ConcurrentHashMap jdk1.8 之前用到过这个,但是一直不清楚原理,今天抽空看了一下代码 但是由于我一直在使用java8,试了半天,暂时还没复现过put死循环的bug 查了 ...

  4. 目标反射回波检测算法及其FPGA实现 之一:算法概述

    目标反射回波检测算法及其FPGA实现之一:算法概述 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波.我会分几篇 ...

  5. PetaLinux安装及使用

    Description/说明 PetaLinux版本:2016.4 操作系统版本:Ubuntu 16.04(如使用Ubuntu,墙裂建议使用16.04,其他版本官方手册并没有标明支持,可能会出现莫名其 ...

  6. 20155232 2016-2017-3 《Java程序设计》第3周学习总结

    20155232 2016-2017-3 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 1.对象(Object):存在的具体实体,具有明确的状态和行为. 2.类( ...

  7. WPF MVVM从入门到精通3:数据绑定

    原文:WPF MVVM从入门到精通3:数据绑定   WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录窗口 WPF MVVM从入门到精通3:数据绑定 WPF ...

  8. virsh常用维护命令

    virsh常用命令 一些常用命令参数 [root@kvm-server ~]# virsh --help                                     #查看命令帮忙 [ro ...

  9. SaltStack入门篇(六)之部署Redis主从实现和Job管理

    一.部署Redis主从 需求: 192.168.56.11是主,192.168.56.12是从 redis监听自己的ip地址,而不是0.0.0.0 分析: linux-node1 安装 配置 启动 l ...

  10. Block 在 ARC 下的拷贝

    前言 现在有一种说法,是开启arc选项时,已经没有栈上的block了,所以所有的block都不需要copy来拷贝到堆上了.那么这个说法正确与否呢? 结论是这个说法必须是错误的,首先的一点就是arc只是 ...