当前位置: 首页 > 工具软件 > Floodlight > 使用案例 >

学习笔记1:搭建floodlight+mininet+sflow环境

潘秦斩
2023-12-01

学习笔记1:搭建floodlight+mininet+sflow环境

浏览了大量的CSDN博客和师兄继承下来的学习笔记,自己想总结一下搭环境的过程,为以后给自己查看时候好整理


全部都在VM虚拟机中ubuntu里完成


前言

在Windows下的虚拟机中做实验,需要先开启本台电脑硬件的虚拟功能(在本机BIOS中设置) 不知道怎么打开BIOS就问度娘。很简单的。一开始我换了一台新拆的电脑就没打开虚拟功能,后来一查才知道要从开机时候的F2中设置。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Floodlight控制器

1.ubuntu安装完成后第一步必须先更新才能正常使用

在ubuntu中写如下代码:

# apt-get update  
# apt-get upgrade

2.自行eclipse和jdk安装

上网搜索对应版本,eclipse和jdk需要与floodlight版本对应。
其他所需的 程序均可使用apt命令获取安装,我使用的是:
eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar
jdk_1.8.tar.gz
将jdk安装完成。网上有参考方法。
将eclipsse也安装完成。就是将软件包解压到想要安装的文件夹下。

3.floodlight安装后要ant编译

在终端用cd命令打开floodlight文件夹,然后在floodlight目录下输入ant命令进行编译,再启动floodlight。

cd floodlight/
ant
java -jar target/floodlight.jar

启动后,通过浏览器访问floodlight的管理界面, http://localhost:8080/ui/pages/index.html ,若不能访问
则在floodlight文件夹下执行命令可解决问题:

cd floodlight/
git pull origin master
git submodule init
git submodule update
ant
java -jar target/floodlight.jar

4.在eclipse中启动floodlight

1.用cd打开eclipse文件夹,在eclipse目录下启动。然后将eclipse图标留在桌面,为方便以后好使用,将不在需要输入命令来启动,跟Windows一样直接在桌面单击启动。

ant eclipse
注:必须编译才能在eclipse导入,否则不能进行导入,出现no projects are found to import!
cd eclipse
./eclipse

2.从菜单选择 File -> Import -> General -> Existing Projects into Workspac。点击下一步。
从 Select root directory 里面,找到 floodlight 所在目录。 导入后勾上 Floodlight,点击Finish。
3.运行floodlight将floodlight导入eclipse后, 会生成 一个eclipse 工程,打开floodlight工程找到 src/java/main-> net.floodlightcontroller.core -> Main.java
文件,右键单击 “Run As” ,选择 “Java Application”,然后 选择“Floodlight-Default-Conf”,点击“OK”,floodlight就开始运行了
4.运行Floodlight后可以通过登录 http://localhost:8080/ui/pages/index.html使用Floodlight提供的web管理界面查看里面的信息.


二、Mininet网络拓扑

1.在网上下载mininet安装包,解压到home目录下,然后切换到mininet目录下,使用命令安装,命令如下:

在ubuntu中写如下代码:

#cd mininet
#mininet/util/install.sh -a

2.使用mn命令如果成功运行则代表安装成功。

查看mininet版本:

#mn --version

查看ovs版本:

#ovs-vsctl --version

3.连接到远程floodlight controller

mn [ --custom <自定义拓扑的路径> ] [ --topo mytopo ] --switch ovsk,protocols=OpenFlow13 --controller=remote,ip=<floodlight控制器所在机器的ip>,port=端口号

mn –custom /home/mininet/custom/Fattree.py  --switch ovsk,protocols=OpenFlow13 --controller=remote,ip=192.168.175.128,port=6653 --link tc --topo mytopo

Fatter.py是自己用python脚本编写的胖树网络拓扑。我用的是openflow13,端口号是6653。

4.自定义流量模型和拓扑结构:

自定义mininet拓扑可以放在mininet/custom文件夹下面,在此文件夹下有自定义的拓扑文件,可以参考。那里面有一个例子。自定义拓扑还可以限定设备之间的带宽,时延等参数,不过要导入相应的link包,例:
from mininet.link import TCLink
之后在运行mn命令时候要加参数–link tc才可以实现自定义带宽等功能。


三、sFlow流量监控软件安装

1.安装和使用sFlow,先要确保jdk 1.7+的环境

在这里我 装了 JAVA 1.8,在ubuntu中写如下代码:

wget http://www.inmon.com/products/sFlow-RT/sflow-rt.tar.gz  
tar -xvzf sflow-rt.tar.gz  

2.启动sFlow

cd sflow/sflow-rt  
./start.sh  //启动SFlow controller

3.启动后,可以通过浏览器查看当前连接到的控制器agent列表

浏览器中输入 http://localhost:8008/agents/html

4.将floodlight、mininet、sflow连接在一起的命令

 mn --custom /home/mininet/custom/Fattree.py,/home/mininet/custom/sflow.py --switch ovsk,protocols=OpenFlow13 --controller=remote,ip=192.168.235.131,port=6653 --link tc --topo mytopo

总结

这是之前就已经搭建过的SDN环境,一直在脑子里都是一片一片的知识点,这一次自己写一个总结,为了今后自己可以查看,也顺一遍思路。虽然网上已经有无数个类似于我写的这个搭环境的文章,但这是我自己的第一次写,哈哈哈哈,纪念一下!完成!过程还是蛮重要的。收获颇多。

 类似资料: