Traffic-aware-separating-flow-scheduling-framework-in-SDN-based-data-center-network

install Mininet and Ryu

update update upgrade

sudo apt update
sudo apt upgrade

download mininet

git clone git://github.com/mininet/mininet
cd mininet
git tag
git checkout 2.3.0
util/install.sh -a
sudo mn

image

Install Ryu

pip install ryu
sudo apt install python-pip
cd ryu
python ./setup.py install
sudo apt-get install python-setuptools
ryu-manager

image

install package

sudo apt-get install python-eventlet
sudo apt-get install python-routes
sudo apt-get install python-webob
sudo apt-get install python-paramiko
sudo apt-get install python-essential
sudo apt-get install python-gevent

pip install lxml
pip install paramiko
pip install ovs

Requirement

mininet==2.3.0
python==2.8.2
scipy==1.7.3
seaborn==0.11.2
matplotlib==3.5.1
ryu==4.34
pip=21.2.4
eventlet==0.27.0
Routes==2.4.1
WebOb==1.7.3
paramiko==2.0.0
gevent==20.6.2
lxml==4.5.2
paramiko==2.0.0
ovs==2.13.0
networkx==2.2

Git

sudo apt-get update
sudo  apt install git
git clone https://github.com/p76091349/Traffic-aware-separating-flow-scheduling-framework-in-SDN-based-data-center-network.git

error solution

  • 出現TabError: inconsistent use of tabs and spaces in indentation依下列解決方案
  • 查看是哪個文件發生錯誤 image
  • 到引發錯誤的檔案解決
vim network_monitor.py //若是network_awareness.py錯誤則vim network_awareness.py。以下步驟一樣
:set expandtab //直接打冒號進入指令模式,再輸入冒號後的指令
:%ret! 4

Quick start

choose ct, ut, md scenario

  • fattree.py image

start mininet

cd ~/Traffic-aware-separating-flow-scheduling-framework-in-SDN-based-data-center-network
sudo python fattree.py

image image

  • 啟動mininet後須馬上啟動controller,中間時間不可超過60秒。

start controller

ryu-manager --observe-links main.py

image

Collect experimental results

  • 執行完成後在mice_flow資料夾中會有mice flow的report檔案,server_report中有elephant flow的report檔案
  • 分別執行collectPut.py與wget-collect-FCT.py收集elephant flow的goodput和mice flow的FCT
  • 執行完後在同目錄中會產生Put.ods與FCT.ods分別記錄elephant flow的goodput與mice flow的FCT
python collectPut.py
python wget-collect-FCT.py