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 的进程。

原文地址:https://www.cnblogs.com/jianhaoscnu/p/12779038.html