Mininet连接ONOS的一些问题
- 一、启动ONOS
- 二、简单小问题
- 1.Mininet创建最简拓扑后连接不上远程控制器
- 2.Mininet创建最简拓扑后主机之间ping不通
- 3.不启动fwd应用自己通过REST API下发流表发现两台主机间ping不通
- 三.总结
一、启动ONOS
我的ONOS是通过源码编译安装的,安装目录是/opt,启动ONOS可以通过以下命令:
$ cd /opt/onos
$ export ONOS_APPS="drivers,openflow,proxyarp,lldpprovider,fwd"
$ bazel run onos-local [-- [clean] [debug]]
等它启动好了我们就可以打开以下网址进入可视化界面
http://localhost:8181/onos/ui/index.html
账号和密码:onos/rocks
ONOS的源码编译安装可以参考以下链接: ONOS源码编译安装
二、简单小问题
1.Mininet创建最简拓扑后连接不上远程控制器
比如我下面的这一条命令:
$ sudo mn --controller=remote,ip=127.0.0.1:6653
是创建一个最简单的拓扑,一个交换机上连了两台主机,交换机连接远程ONOS控制器。
有时候我们会发现报错说“Unable to contact the remote controller at 127.0.0.1:6653”,错误如下:
这是因为没有打开openflow应用,可以通过以下方法开启:
a.直接另外开启一个终端,输入以下内容:
$ cd /opt/onos/tools/test/bin/
$ ./onos localhost
登陆成功后安装和激活特性
> feature:install onos-providers-openflow-app
> app activate org.onosproject.openflow
b.可以通过可视化界面找到这些应用然后激活
然后一个个激活下面的应用
这样就能连接ONOS控制器了!
2.Mininet创建最简拓扑后主机之间ping不通
如下图:
这个原因可能是没有安装fwd这个应用,有多种方法可以解决:
a.可以通过可视化界面找到这个应用然后激活
b.直接另外开启一个终端,输入以下内容
$ cd /opt/onos/tools/test/bin/
$ ./onos localhost
登陆成功后安装和激活特性
> feature:install onos-apps-fwd
> app activate org.onosproject.fwd
3.不启动fwd应用自己通过REST API下发流表发现两台主机间ping不通
进入REST API界面的网址:
http://localhost:8181/onos/v1/docs/
h1 ping h2,在h1上使用wireshark抓了一下经过h1-eth0的报文,结果如下:
发现交换机没有转发ARP报文,可以直接在ONOS Web界面搜索一下arp的应用,然后选择下面这个应用激活就行了,看源码这个应用是“Application that handles ARP and NDP resolution on a single L2 broadcast domain.”
激活之后就可以ping通了(前提是下发的流表是正确的)。
三.总结
最简单的方法就是利用环境变量:
$ cd /opt/onos
$ export ONOS_APPS="drivers,openflow,proxyarp,lldpprovider,fwd"
$ bazel run onos-local [-- [clean] [debug]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)