模擬筆記本電腦上幾乎所有網絡的最佳方法!
Mininet 2.3.1b4
Mininet模擬單台計算機上的主機,鏈接和開關的完整網絡。要創建一個兩個主持人的單切口網絡,請運行:
sudo mn
Mininet可用於交互式開發,測試和演示,尤其是使用OpenFlow和SDN的演示。基於開放流的網絡控制器通常可以將其用於全線速率執行的最小更改的小軟件轉移到硬件。
MinInet使用基於過程的虛擬化和網絡名稱空間創建虛擬網絡 - 最近的Linux內核中可用的功能。在MinInet中,主機被模仿為在網絡名稱空間中運行的bash
進程,因此通常在Linux服務器上運行的任何代碼(例如Web服務器或客戶端程序)都應在台球“主機”中運行良好。 Mininet“主機”將具有自己的專用網絡接口,只能看到自己的流程。 Mininet中的開關是基於軟件的開關,例如Open Vswitch或OpenFlow Reference Switch。鏈接是虛擬以太網對,它活在Linux內核中,並將我們的模擬開關連接到模擬主機(過程)。
礦物包括:
命令行啟動器( mn
)實例化網絡。
方便的Python API,用於創建各種大小和拓撲的網絡。
示例(在examples/
目錄中)可以幫助您入門。
通過Python help()
DocStrings的完整API文檔,以及使用make doc
生成PDF/HTML文檔的能力。
使用Mininet對象的參數化拓撲( Topo
子類)。例如,可以使用命令創建樹網絡:
mn --topo tree,depth=2,fanout=3
一個命令行接口( CLI
類),可提供有用的診斷命令(例如iperf
和ping
),以及能夠運行命令到節點的功能。例如,
mininet> h11 ifconfig -a
告訴主機H11運行命令ifconfig -a
一個“清理”命令,以擺脫垃圾(界面,過程, /tmp中的文件等),該命令可能會由Mininet或Linux留在周圍。如果事情停止工作,請嘗試一下!
mn -c
Mininet 2.3.1b4支持Python 3和Python 2
您可以同時安裝Python 3和Python 2版本的Mininet並排安裝,但是最新的安裝將確定mn
默認使用哪種Python版本。
您可以直接使用Python 2或Python 3運行mn
,只要安裝了適當的Mininet版本,例如
$ sudo python2 `which mn`
有關Python 3和Python 2支持的更多信息可以在http://docs.mininet.org的發行說明中找到。
支持Ubuntu 22.04 LTS(和20.04)
通過GitHub動作進行更可靠的測試和CI
對Cgroups V2(和V1)的初步支持
次要錯誤修復(2.3.1)
有關此版本和先前版本的其他信息,請參見http://docs.mininet.org上的發行說明。
有關安裝說明和詳細信息,請參見INSTALL
。
除了API文檔( make doc
)外,Mininet網站上還提供了許多有用的信息,包括Mininet演練和Python API的介紹。您還鼓勵您閱讀和貢獻一個Wiki,尤其是http://faq.mininet.org的常見問題(FAQ)。
小礦是社區支持的。我們鼓勵您加入Mininet郵件列表, mininet-discuss
:
https://mailman.stanford.edu/mailman/listinfo/mininet-discuss
再次感謝所有的台球貢獻者和用戶!
Mininet是一個開源項目,目前託管在https://github.com/mininet上。鼓勵您下載,檢查和修改代碼,並提交錯誤報告,錯誤修復,功能請求,新功能和其他問題以及拉請請求。感謝每個為Mininet項目貢獻代碼的人(有關更多信息,請參見貢獻者!),因為每個人的辛勤工作都在繼續增長和改進。
玩得開心!我們期待看到您將與Mininet一起做什麼,以改變網絡世界。
鮑勃·蘭茨(Bob Lantz