使用Sflow-RT分析SDN网络流量

Posted by chochi on May 14, 2018

0 实验环境

  1. Ubuntu16.04,Mininet2.3.0,JAVA1.8,OpenVSwitch2.9.0,Sflow-RT,Floodlight1.2
  2. youtube实验教程

1 软件安装

1.1 Floodlight1.2安装

$ sudo apt-get install git
$ git clone git://github.com/floodlight/floodlight.git --depth=1
$ cd floodlight
$ git submodule init
$ git submodule update
$ sudo apt-get install ant
$ ant
$ java -jar target/floodlight.jar

打开web地址:http://localhost:8080/ui/pages/index.html 即可。

1.2 Sflow-RT 安装

image Sflow-RT是一个可以实时监控流量,绘制实施流量曲线的工具。

$ wget https://inmon.com/products/sFlow-RT/sflow-rt.tar.gz
$ tar -xvzf sflow-rt.tar.gz
$ cd sflow-rt
$ ./start.sh

2 实验

2.1

使用Mininet搭建拓扑,一台交换下挂三台主机,链接Floodlight控制器,链接sflow-rt监控数据流向。开启一台主机开启简单的HTTP服务,其他两台主机对其进行Dos攻击。

  • 终端 1 开启Floodlight
    • 开启的监听端口可以看到为6653.
    • 链接 http://127.0.0.1:8080/ui/pages/index.html
$ java -jar target/floodlight.jar 
  • 终端 2 搭建仿真拓扑
$ sudo mn --controller=remote,ip=127.0.0.1:6653 --topo=single,3
  • 终端 3 开启slfow-rt
    • 链接 http://localhost:8008/flows/html
      $ sudo ./start.sh 
      

      image

  • 终端 4 设计交换机链接slow
$ sudo ovs-vsctl -- --id=@sflow create sflow agent=eth0 target=\"127.0.0.1:6343\" polling=28 -- -- set bridge s1 sflow=@sflow

2.2

  • 控制器所显示的拓扑 image

  • 在Miniet-Cli界面中: image
  • 给 h1 开启HTTP服务
# python -m SimpleHTTPServer 80&
  • h2,h3 dos攻击h1
# ping -f 10.0.0.1

image

  • 使用top查看cpu利用率 image
  • sflow-rt的网页中 ->metric -> flows 查看流量曲线 image