opendaylight+mininet+openswitch构建SDN网络

环境搭建(软件包可以去GitHub去拿):

一、 安装JAVA

apt –y install openjdk-8-* #要安装8版本的以上的java环境。

二、 安装karaf

tar xf  ***karaf

cd **karaf

vim bin/setenv

export JAVA_HOME=”/usr/lib/jvm/java-8-openjdk-amd64”  #添加环境变量

./bin/karaf  #执行

进去后。

安装相关组件:

feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications

三、 安装mininet-master

cd mininet

 ./util/install.sh –a #完全安装。 这个有点久,可以换成 –nfv

 

关于mininet 源码编译会出现错误的时候,在进行编译时候回提示已存在openflow这个目录。应该去家目录中去删除这个目录。在进行重新编译。出现错误。我怀疑是安装东西时候出现了加锁。导致的。需要rm 掉锁目录


安装完后重启一下机子……

 

构建SDN网络:

启动opendaylight并安装组件:

opendaylight+mininet+openswitch构建SDN网络

 

 

 

 

使用mnninet搭建topo:

sudo mn --controller=remote,ip=127.0.0.1 --topo linear,n,m

sudo mn --controller=remote,ip=127.0.0.1 --topo single,n

sudo mn --controller=remote,ip=127.0.0.1 --topo tree,n,m

Single,n:一个交换机,n个host

linear, n,m: 线性拓扑,n个交换机,一个交换机上有m个host,共有n*m个host

tree,n,m 第一个参数为深度,第二个位扇出系数。可以写成--tree,depth=2,fanout=8

 

下面分别试一下single、linear、tree的使用。

 

sudo mn --topo single,3 --mac --controller remote,ip=127.0.0.1,port=6633  图如下:

opendaylight+mininet+openswitch构建SDN网络

 

 

 输入下面的地址进入ODL去看一下mininet的图形化topo

http://127.0.0.1:8181/index.html#/login  

账号:admin

密码:admin

opendaylight+mininet+openswitch构建SDN网络

 

 

 

sudo mn  --topo linear,2 --controller remote,ip=127.0.0.1,port=6633  #topo如下图

opendaylight+mininet+openswitch构建SDN网络

 

 opendaylight+mininet+openswitch构建SDN网络

 

 

sudo mn --topo tree,2,3 --controller remote,ip=127.0.0.1,port=6633

opendaylight+mininet+openswitch构建SDN网络

 

opendaylight+mininet+openswitch构建SDN网络

 

 

 

 

mininet常用命令总结

help默认列出所有命令文档,后面加命令名将介绍该命令用法

dump打印节点信息

gterm给定节点上开启gnome-terminal。注:可能导致mn崩溃

xterm给定节点上开启xterm

intfs列出所有的网络接口

iperf两个节点之间进行简单的iperfTCP测试

iperfudp两个节点之间用制定带宽udp进行测试

net显示网络链接情况

noecho运行交互式窗口,关闭回应(echoing)

pingpair在前两个主机之间互ping测试

source从外部文件中读入命令

dpctl在所有交换机上用dptcl执行相关命令,本地为tcp127.0.0.1:6634

link禁用或启用两个节点之间的链路

nodes列出所有的节点信息

pingall所有host节点之间互ping

py执行python表达式

sh运行外部shell命令

quit/exit退出

 

 


 

上一篇:洛谷 P1347 排序 题解


下一篇:SpringCloud微服务(05):Zuul组件,实现路由网关控制