混合IP-SDN环境的仿真实验

  • 混合IP-SDN环境的仿真实验
    • 实验室名称
    • 实验名称
    • 实验原理
    • 实验目的
    • 实验设备
    • 实验步骤
      • 1.在mininet中搭建如下拓扑图
      • 3.配置Controller如图:
      • 4.配置交换机如下图:
      • 5.配置主机
      • 6.在新的终端里打开ryu-manager远程控制器
      • 7.测试链路的连通性pingall
      • 8.打开wireshark,能看到对于的openflow协议,如图
    • 实验总结
  • 运行一个简单的 Web 服务器和客户端仿真
    • 学习中碰到的小问题

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址 全文共计5277字,阅读大概需要2分钟
欢迎关注我的个人公众号:不懂开发的程序猿

混合IP-SDN环境的仿真实验

实验室名称

网络安全与管理实验室

实验名称

混合IP-SDN环境的仿真实验

实验原理

软件定义网络将网络的控制层与数据转发层分离,控制平面在逻辑上集中,能够实现资源的灵活调度,更多的开放接口能够实现网络的可编程控制。标准化的南向接口将底层硬件对网络管理者透明化。作为一种全新的网络架构和管理形式,SDN网络在应用过程中如何与传统网络相结合受到业内的广泛讨论。由于SDN逻辑集中于控制层面,其如何与传统IP网络中的标准路由设备通信进行网络信息的更新、维护以及路由转发信息计算是一个关键问题;对于SDN自身实现方式,处于对整个网络集中式控制健壮性和延时性的风险考虑,一些研究认为网络中大部分流量利用传统控制方式其可满足转发需求,只需对其他少部分流量实现SDN控制即可满足其灵活动态需求

实验目的

从拓扑混合和流量混合两种角度出发,针对混合IP/SDN场景进行仿真, 对每一种混合模式进行了场景描述和路由实现。利用开源控制器POX路由平台,使用WireShark实现对路由协议消息的解析,并针对各拓扑混合和流量混合两种场景分析

实验设备

VMware16 pro + Ubuntu 18.0.2 LTS + Mininet 2.1.7 + WireShark 3.0.1

实验步骤

1.在mininet中搭建如下拓扑图

终端显示如图:

2.配置Mininet如下图:

【edit】—>【Preference】,勾选【Start CLI】,【OpenFlow1.3】,【Default Switch 】选【Open vSwitch Kernel Mode】

3.配置Controller如图:

【Controller Type】选【Remote Controller】

4.配置交换机如下图:

DPID为0000000000000001

5.配置主机

host1为10.0.0.1和host2为10.0.0.2

6.在新的终端里打开ryu-manager远程控制器

7.测试链路的连通性pingall

8.打开wireshark,能看到对于的openflow协议,如图

协议的具体信息含义如下:

信息 类型 描述
Hello 控制器->开关 在 TCP 握手之后,控制器将其版本号发送到交换机
Hello 开关->控制器 交换机回复其支持的版本号
功能请求 控制器->开关 控制器要求查看哪些端口可用
设置配置 控制器->开关 在这种情况下,控制器要求交换机发送流到期
特色回复 开关->控制器 交换机回复端口列表、端口速度以及支持的表和操作
端口状态 开关->控制器 使交换机能够通知该控制器端口速度或连接的变化

附上代码:

#!/usr/bin/env pythonfrom mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import calldef myNetwork():net = Mininet( topo=None,build=False,ipBase='10.0.0.0/8')info( '*** Adding controller\n' )c0=net.addController(name='c0',controller=RemoteController,ip='127.0.0.1',protocol='tcp',port=6633)info( '*** Add switches\n')s1 = net.addSwitch('s1', cls=OVSKernelSwitch, dpid='0000000000000001')s2 = net.addSwitch('s2', cls=OVSKernelSwitch, failMode='standalone')info( '*** Add hosts\n')h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None)h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)info( '*** Add links\n')net.addLink(h1, s1)net.addLink(s1, s2)net.addLink(s2, h2)info( '*** Starting network\n')net.build()info( '*** Starting controllers\n')for controller in net.controllers:controller.start()info( '*** Starting switches\n')net.get('s1').start([c0])net.get('s2').start([])info( '*** Post configure switches and hosts\n')CLI(net)net.stop()if __name__ == '__main__':setLogLevel( 'info' )
myNetwork()

实验总结

熟练掌握混合SDN网络环境的搭建,为以后从事相关SDN研究以及论文实验的设计打下基础

运行一个简单的 Web 服务器和客户端仿真

Mininet 主机可以运行任何可用于底层 Linux 系统(或 VM)及其文件系统的命令或应用程序。也可以输入任何bash命令,包括作业控制(&jobskill,等。)

启动一个简单的 HTTP 服务器h1,从 发出请求h2,然后关闭 Web 服务器:

h1 python -m http.server 80 &h2 wget -O - h1

对于 Python 3,HTTP 服务器被称为http.server; 对于 Python 2,它被称为SimpleHTTPServer. 确保使用的是适合您正在运行的 Mininet 版本的正确版本。要找出 Mininet 使用的 Python 版本,可以输入

py sys.version

退出 CLI:exit

清理

如果 Mininet 由于某种原因崩溃,请清理它:

sudo mn -c

学习中碰到的小问题

Ubuntu中切换python版本的问题

在使用Ubuntu的过程中,会遇到编译.py文件报错SyntaxError: Missing parentheses in call to 'print'.

这是因为源码是用python2.X 的版本写的,在用python3.X编译会有语法上的不兼容,因此我们需要手动切换系统的默认python版本

输入:whereis python,会提示你系统里安装的python路径

输入:python

是查看当前系统指定的哪一版本

输入:update-alternatives --list python

是指定:你当前可以轮流切换的python版本,我这里还没设定,因此也就没有版本可选

输入:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

是指:安装多个版本供切换,最后面的数字1,是指优先级

这里我指定了2个可选的pthon版本,最后面的数字2,是指优先级

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

输入:

sudo update-alternatives --config python

是指让你选择你当前想要指定的python版本,使用键盘,输入数字:1,按回车确认,即选定成功!

此时你可以输入:python

系统提示为:Python2.7.18

说明更改成功

–end–

混合IP-SDN环境的仿真实验相关推荐

  1. matlab搭建sdn,软件定义网络SDN简介和简单仿真实验

    阅读: 11,620 SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制 ...

  2. 基于SDN环境下的DDoS异常攻击的检测与缓解--实验

    基于SDN环境下的DDoS异常攻击的检测与缓解--实验 基于SDN环境下的DDoS异常攻击的检测与缓解--实验 1.安装floodlight 2.安装sFlow-RT流量监控设备 3.命令行安装cur ...

  3. 软件定义网络实验之SDN环境使用及OpenFLow协议流程分析

    文章目录 实验名称 实验目的及要求 实验内容 一.Mininet的基本操作应用 二.OpenFlow协议通信流程解析 实验步骤 一.Mininet基本操作应用实验 二.OpenFlow协议通信流程解析 ...

  4. 第24节 综合网络配置实验(含IP、RIP、VLAN、VTP、HSRP、ACL、NAT等配置完整命令)——基于PacketTracer8.0仿真实验

    综合网络配置实验(含IP.RIP.VLAN.VTP.HSRP.ACL.NAT等配置完整命令)--基于PacketTracer8.0仿真实验 1 网络规划 1.1 网络拓扑图 1.2 网络规划 2 实验 ...

  5. NS2仿真实验环境组建

    最近有初学NS2的同学问如何搭建环境,我这边把编写的实验手册中的一个章节拿出来分享. 更多内容请关注我编写的,即将由清华大学出版社出版的<无线网络技术教程(第2版)> 把内容粘上了,发现图 ...

  6. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  7. 基于Matlab的模拟通信实验平台设计,【通信原理仿真实验】通信原理虚拟实验仿真平台的设计和实现_玛雅作文网...

    作文「通信原理虚拟实验仿真平台的设计和实现」共有 4564 个字,其中有 2704 个汉字,1316 个英文,162 个数字,382 个标点符号.作者佚名,请您欣赏.玛雅作文网荟萃众多优秀学生作文,如 ...

  8. 简单的基于交换机迁移的SDN控制器负载均衡实验

    简单的基于交换机迁移的SDN控制器负载均衡实验 本人首次接触SDN,了解了下SDN的定义后,针对这个实验,首先通过查询文献,大概了解这个实验的环境搭建方案. 对于SDN控制器使用较多的有:OpenDa ...

  9. matlab仿真实验模拟

    ///simulink仿真环境/// Simulink 搭建系统模型及其特点: Simulink 进行系统仿真并进行调试. Simulink 建模的大概过程和基本步骤 Simulink 是 MATLA ...

最新文章

  1. html dom对象简写,js参考手册-html dom对象
  2. bond-vlan-bridge
  3. 永劫无间为啥显示连接服务器失败,永劫无间服务器故障怎么办?永劫无间服务器故障解决办法...
  4. mybatis-批量插入
  5. STM32H743+CubeMX-移植ThreadX
  6. DataTrigger
  7. 【python】Python的基本数据类型之数字类型与字符串类型
  8. [题解](树形dp/换根)小x游世界树
  9. android自定义view背景透明度,Android 背景透明度设置总结
  10. php删除英文链接词,英语写作词汇大全:转折连接词
  11. wireshark: You don‘t have permission to capture on that device
  12. Redis集群功能配置以及Redis Sentinel配置
  13. 自动柜员机属于微型计算机的一种,自动柜员机属于微型计算机的一种。(  )...
  14. 关于《淘宝技术这十年》
  15. cobar php,cobar配置安装_MySQL
  16. 团队内部分享--工作杂谈(读书推荐)
  17. Python信息轰炸
  18. 程序员今年最值得关注的 23 种新移动技术
  19. 注册邮箱账号十大品牌分析
  20. 台式计算机经常使用的硬盘是什么尺寸,台式机硬盘和笔记本硬盘能通用吗?有什么区别?...

热门文章

  1. python绘制对数函数_python中如何画对数函数图?
  2. 科学数学工程工具MATLAB软件2023a中文版下载安装,MATLAB特色
  3. Writeup For WeChall
  4. OSChina 娱乐弹弹弹——问世间情为何物,直教人生死相许
  5. 当心长角怪生物...闪动你的招牌...
  6. 走进施耐德电气无锡工厂,见证自动化研发中心开幕
  7. 制作商品详情页面案例
  8. 易语言取MySQL错误代码_易语言mysql错误排查
  9. 再见PanDownload ,下一个已经来了。
  10. 在线文字生成音频工具