簡介
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 的進程。