SDN网络控制器POX安装和部署
简介
POX是由NOX演变而来,其底层模块由C++实现,上层应用可以用C++或Python编写,它的核心作用是提供快速开发网络控制软件原型的平台。POX和OpenFlow交换机进行交互,可以用于软件定义网络这个新兴学科的基础研究,比如探索和原型分布、SDN调试、网络虚拟化、控制器设计和编程模型。
1.下载POX
cd ~
sudo su
git clone http://github.com/noxrepo/pox #下载pox源码
2.配置POX
- 临时修改监听端口
每次启动 POX 时指定监听端口,如指定的端口为 6636,则在命令行后添加:
openflow.of_01 –port=6636
-
修改控制器的默认端口方法
修改 / pox/openflow/of_01.py 文件,如指定的端口为 6636,则将文件中所有的 port=6633 改为 port=6636。
-
配置 web 界面端口
cd pox/ext
git clone https://github.com/MurphyMc/poxdesk
cd poxdesk
wget http://downloads.sourceforge.net/qooxdoo/qooxdoo-2.0.2-sdk.zip
unzip qooxdoo-2.0.2-sdk.zip
mv qooxdoo-2.0.2-sdk qx
cd poxdesk
./generate.py
- 启动 POX
cd ../../../ #cd ~/pox
./pox.py samples.pretty_log web messenger messenger.log_service messenger.ajax_transport openflow.of_service poxdesk
-
访问POX Webserver
打开网址http://127.0.0.1:8000 访问POX Webserver
启动POX时,需要运行pox.py 或debug-pox.py。前者是在一般的情况下运行POX,后者主要用于调试POX控制器,因此如果要在POX中做开发,通常会选用debug-pox.py来启动POX。
值得注意的是,如果不正常退出 Mininet 或 POX 的话,会对下一次运行产生影响,所以最好用 exit 退出 Mininet用 Ctrl-D 退出 POX。不然就要 sudo mn -c 来清理 Mininet 的缓存,并手动 kill POX 的进程。