168.2.22Floodlight + Mininet
为了仿真针对大象流的加权多路径算法,安装了虚拟机,ubuntu 12.04的linux版本,安装了mininet,也安装了floodlight,安装步骤如下图所示。安装完floodlight要运行的话,需要一个命令,在floodlight文件下运行java –jar target/floodlight.jar即可。
现在说一下如何在mininet中使用远程控制器,首先需要打开两个虚拟机,一个运行mininet,一个运行floodlight。在运行floodlight虚拟机中,用ifconfig eth0命令查询控制器的IP地址。
Mininet : sudo mn - - controller=remote,ip=192.168.2.22(floodlight eth0 ip),port=6633(默认)这时mininet中的交换机就根据floodlight的流表等命令执行相关action。
仿真实验中要使用floodlight向openvswitch下发流表,所以要在控制器上运行用于下发流表的python程序。
Mininet中要创建自己的拓扑的方法是在mininet/custom文件夹下编写新的拓扑python 程序,例如topo.py,mininet中运行新拓扑的命令
Sudo mn –custom ~/mininet/custom/topo-2sw-2host.py –topo mytopo(mytopo是topo.py 文件中自己定义的,可以改变)
我们可以将两个命令合在一起,sudo mn - - controller=remote,ip=192.168.2.22 - - custom ~/mininet/custom/topo-2sw-2host.py - - topo mytopo
首先在mininet虚拟机运行mn命令,然后运行floodlight控制器,在一个终端运行命令java –jar target/floodlight.jar 打开控制器,然后打开另一个终端运行下发流表的python程序,例如python test.py 。在mn中ping host,如果通了,就是流表下发成功。注意如果要改变流表的话,foodlight需重新运行。
vSphere Client用户名root,密码123456789
floodlight在M中安装过,Avior在M中下过jar包,安装错误,相关网页资料在MINI 收藏夹下。
PS : linux常用命令
解压缩:1.压缩命令:
命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名
可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。
2.解压缩命令:
命令格式:tar -zxvf 压缩文件名.tar.gz
解压缩后的文件只能放在当前的目录。
实验中的指令:
Mininet:用虚拟机L
(启用wireshark)
sudo wireshark &
(调用自己编写的拓扑)sudo mn - - controller=remote,ip=192.168.2.22,port=6633 - -custom ~/mininet/custom/topo-2sw-2host.py - -topomytopo - -test pingall
进入mininet后操作
(查询信息)
nodes
dump
net
pingall
(查看网络信息)
s1 ifconfig
(对节点单独操作,查看是否ping通)
h2 ping –c 5 h1
(显示基本信息)(默认的本地服务器的地址是127)
s1 dpctl show tcp:127.0.0.1:6634
(查看流表)
s1 dpctl dump-flows tcp:
(添加流表)
s1 dpctl add-flow tcp:127.0.0.1:6634 in_port=1,idle_timeout=360, actions=output:2
Floodlight: 用虚拟机M
(打开控制器)
java –jar target/floodlight.jar
(另开终端,运行下发流表的程序)
python test.py