SDN | Ubuntu 下安装仿真软件Mininet+Ryu

首先把参考的视频链接附下

https://www.bilibili.com/video/BV1nC4y1x7Z8?vd_source=c787af8097f157dcc2ee6460667bec14

Mininet是一款基于LinuxContainer架构开发的进程虚拟化网络仿真工具(类似于ENSP(Enterprise Network Simulation Platform),ENSP是华为推出的一款网络仿真工具)不过Mininet更适合仿真SDN网络

Ryu是基于Python语言编写的网络控制器,主要用于支持OpenFlow协议的SDN控制器,Ryu提供了丰富的API和插件,使得使用者可以根据自身需求定制控制器

Mininet安装步骤

首先需要在Ubuntu上安装git,git可以用于管理GitHub的代码库,也就是说,利用git可以下载github上的源码,下载命令如下:

git clone <repository_url> #源码URL

可以使用包管理工具apt安装git,安装命令如下

apt-get install git 

安装git完成后,可以给git添加SSH密钥(可以不添加,这里提供给一个方法,我没试过,仅作参考),添加密钥步骤如下:

Linux生成密钥命令如下:

ssh-keygen -t rsa -C "your_email@example.com" #替换成邮箱

命令会生成一个公钥私钥对,一般默认保存在“~/.ssh/”目录下

配置密钥,需要登录到GitHub账户上,进入“设置”页面,选择“添加SSH和GPG密钥”选项,然后需要提供公钥、标题和描述,添加即可

安装完git后,就可以在GitHub上下载Mininet的源码了

Mininet源码URL如下所示

https://github.com/mininet/mininet

可以直接在GitHub上下载到本地

可以使用git下载,命令如下所示

git clone http://github.com/mininet/mininet.git

执行此命令后,git会将源码下载至当前目录下

下载的Miminet源码包的安装shell脚本(install.sh)在“mininet/util/”目录下,执行脚本安装,这里需要注意,需要添加参数控制安装,可以使用下面命令行查看有哪些参数及其作用(到install.sh目录下)

./install.sh -h

这里给出参数的结束

./install.sh

参数选项:

-a: (默认)安装所有(All)软件包

-b: 安装控制器基准(Benchmark)标记(oflops)

-c: 安装后进行清理(Clean)

-d: 从VM镜像中删除(Delete)一些敏感文件

-e: 安装Mininet文档/LaTeX(LaTeX)依赖项

-f: 安装OpenFlow(OpenFlow)

-h: 打印此帮助(Help)消息

-i: 安装(Indigo)indigo虚拟交换机

-k: 安装新的核心文件(Kernel)

-m: 从源目录安装Open vSwitch模块(Module)

-n: 安装(Mininet)Mininet依赖项+核心文件

-p: 安装(POX)POX OpenFlow控制器

-r: 删除(Remove)现有的Open vSwitch包

-s <dir>:在<dir>中放置依赖源(Source)/构建树

-t: 完成其他(Other)Mininet虚拟机设置任务

-v: 安装Open vSwitch(Open vSwitch)

-V <version>:在Ubuntu上安装特定版本的Open vSwitch(Open vSwitch)

-w: 安装OpenFlow Wireshark(Wireshark)解析器

-x: 安装NOX Classic OpenFlow控制器

-y: 安装Ryu控制器

-0:(默认)-0[fx] 安装OpenFlow 1.0版本

-3:-3[fx] 安装OpenFlow 1.3版本

这里没有进行默认安装(我在默认安装所有软件包后,在安装OpenFlow的时候出现连接不上的情况)

安装命令为

./install.sh -n3v

安装完成后,就可以启动了(安装过程中,Mininet命令已经加入到了环境变量当中了,因此可以直接启动了)

输入下面命令启动

mn

出现命令提示符后,表示初步安装成功

执行命令检查安装是否错误

pingall

出现以上情况表示可以正常ping通,Mininet安装完成

Ryu安装

(这一步如果有pip的话可以略过,一般Python安装后会有pip)下载用于pip安装的脚本文件get-pip.py(pip是Python 用于管理第三方库的工具),下载命令如下(注意,这里需要下载和Python版本相同的get-pip.py,这里最好是用Python3的版本(最好是Python3.8以上的),我的Python2.7的pip显示版本过旧而出现错误)

wget https://bootstrap.pypa.io/get-pip.py #下载最新的版本
wget https://bootstrap.pypa.io/pip/<version>/get-pip.py #下载指定版本的get-pip.py

脚本文件会下载到当前目录下

使用Python解释器执行脚本

python get-pip.py
第一种方法

直接用pip安装即可

pip install ryu
第二种方法

在GitHub上下载Ryu源码

git clone https://github.com/osrg/ryu.git

下载好的Ryu源码包当中有安装脚本(setup.py),以及需要依赖的第三方库(在根目录下的tools/pip-requires)

首先先用安装所需要的第三方库

命令为

pip install -r tools/pip-requires

安装依赖完成后,就可以执行安装脚本了

进入Ryu源码目录,执行下面命令(直接安装在安装目录当中 )

python setup.py install 
  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值