Mininet 是由斯坦福大學研究開發的開源軟件,是一個基于Linux Container虛擬化技術的輕量級網絡模擬器。即可以在個人電腦上模擬出包括交換機、主機、和控制器等軟件定義網絡節點。
為openflow應用提供簡單、免費的應用測試平臺。
支持多用戶獨立的在同一張拓撲上進行并發操作。
支持系統級別的可重、可封裝的回歸測試。
無需啟動物理網絡就可以支持復雜的拓撲測試。
提供用于網絡調試和運行測試的CLI,支持拓撲相關和Openflow相關命令。
支持任意的拓撲,包括設置拓撲的基本參數,比如網絡帶寬
提供Python API接口,用于編程拓展功能。
Mininet 是一個輕量級軟件定義網絡和測試平臺;它采用輕量級的虛擬化技術使一個單一的系統看起來像一個完整的網絡運行相關的內核系統和用戶代碼,也可簡單理解為 SDN 網絡系統中的一種基于進程虛擬化平臺,它支持 OpenFlow、OpenvSwith 等各種協議,Mininet 也可以模擬一個完整的網絡主機、鏈接和交換機在同一臺計算機上且有助于互動開發、測試和演示,尤其是那些使用 OpenFlow 和 SDN 技術;同時也可將此進程虛擬化的平臺下代碼遷移到真實的環境中。
官網鏡像裝完用戶密碼:
mininet-vm login: mininet
Password: mininet
用鏡像裝缺點是mac下的virtual box沒有parallels好用,沒法直接本機ssh連接到虛擬機。
可以用 doxpy 生成 HTML 和 PDF
sudo apt-get install doxypy help2man texlive texlive-latex-extra
cd ~/mininet
make doc
demo:~/mininet/examples,其中還有README.md
baresshd.py 使用 medium-level API 創建一個sshd進程,不使用 OpenFlow
bind.py 使用
mininet同時支持python2和python3
mininet 默認安裝的是python2版本,如需安裝python3版本,需關注和修改mininet/util/install.sh 中的版本信息。./insatll.sh -h可以查看安裝指令的幫助。
若是腳本創建mininet拓撲結構,需用sudo python2 xxx.py來執行。
當然也可以增加對python3的支持,方法為,修改mininet/util/install.sh中的PYTHON=${PYTHON:-python3}。(此處筆者的ubuntu機器中python2和python3共存,python3代表的即3版本)。
./install.sh -h可以查看安裝指令幫助。
然后執行下面命令,即可在python3中安裝mininet的支持包。
./install.sh -n