Mininet连接ONOS的一些问题
Mininet连接ONOS的一些问题
一、启动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/ #进入安装目录的bin文件夹
$ ./onos localhost #登陆cli
登陆成功后安装和**特性
> 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/ #进入安装目录的bin文件夹
$ ./onos localhost #登陆cli
登陆成功后安装和**特性
> 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]] #方括号里面的是可选操作
上一篇: JavaScript去掉数组中的重复元素
下一篇: phpcms的分类名称和类别名称的调用