實驗 1 :Mininet 源碼安裝和可視化拓撲工具
一、實驗目的
掌握 Mininet 的源碼安裝方法和 miniedit 可視化拓撲生成工具。
二、實驗任務
使用源碼安裝 Mininet 的 2.3.0d6 版本,並使用可視化拓撲工具生成一個最簡拓撲(每 1 台交換機連接 2 台主機)。
三、實驗要求
- 自行安裝 Ubuntu 虛擬機,版本推薦 18.04 和 16.04,虛擬機軟件推薦使用VisualBox。
- 在 Ubuntu 系統的 home 目錄下創建一個目錄,目錄名為自己的標識,包括但不限於學號、姓名拼音等,目錄不要包含中文。
- 在創建的目錄下,完成 Mininet 的源碼安裝。
- 打開可視化工具,參照使用步驟生成一個最簡拓撲。
- 在博客園發表一篇博客,記錄結果,無需逐步截圖。
四、具體實驗步驟
- 選擇 VMware 虛擬機,裝載 Ubuntu 18.04.5 Desktop amd64 的鏡像文件進行安裝;
- 在 /home/user 目錄底下創建 sdn 文件夾,並且進入終端安裝 git 和 mininet、openflow 等組件。安裝完畢后測試安裝是否成功;
- 執行 /mininet/examples 目錄下的 miniedit.py 文件,進入可視化頁面;
- 按照要求拖動左側邊欄的主機 Host、交換機 Switch、路由器 Router、網絡鏈路 NetLink、控制器 Controller 等組件到右側空白處,實現網絡拓撲的可視化仿真;

5. 連接並配置好相應的參數,點擊 run 開始運行,回到終端測試連通性;

6. 拓撲生成並確認無誤之后,可以點擊 miniedit 左上角的 File 菜單,選擇 Export Level 2 Script,將拓撲保存為 Python 腳本,方便之后執行腳本一鍵生成。重新使用 python 運行該腳本,確認保存無誤。

五、注意事項與心得體會
注意事項
- 虛擬機 16.04 和 18.04 版本比較穩定, 20.04 版本暫不推薦
- 注意 Linux 中 python 2.x 版本和 3.x 的調用和切換。 ubuntu 大多采用 2.7 版本,不與 3.x 兼容導致代碼報錯;
- 如果執行 CLI 命令行測試 " sudo mn --test pingall " 時提示:"Cannot find required executable ifconfig",執行 " sudo apt install net-tools " 安裝網絡工具 net-tools 。
心得體會
- Linux 基本常用命令需要掌握,例如 ls, mkdir, rmdir, cd, sudo, git, touch, chmod等等;
- 輸入指令或者地址時可以靈活使用 tab 鍵提高效率,尤其是文件名字較長的時候。也可以直接進入文件夾右鍵進入 " open in terminal " ,同樣也能提高效率;
- VMTool 可以實現虛擬機和真實機之間的文件轉移以及復制粘貼(目前只知道這個功能);
- Mininet 友好的可視化操作頁面有利於快速搭建一個簡單測試網絡拓撲。