導航:首頁 > 編程語言 > mininetpython腳本創建拓撲

mininetpython腳本創建拓撲

發布時間:2024-09-10 19:05:01

㈠ 怎麼用python寫mininet的拓撲

為Mininet添加自定義拓撲:Mininet原生提供了多種拓撲類型:SingleSwitchTopo:簡單拓撲(Host——Switch——Host)LinearTopo(k,n):鏈狀拓撲,k台交換機以單鏈形態連接,分別下接n台主機TreeTopo(depth,fanout):樹形拓撲,創建一個深度為depth、扇出為fanout的樹狀拓撲Mininet默認情況下並沒有實現胖樹的網路拓撲,但Mininet支持添加自定義拓撲的功能。本文根據Mininet自帶的拓撲定義,在原拓撲庫中添加了胖樹拓撲類,實現從命令行直接啟動k叉胖樹拓撲環境。(註:加粗的代碼行為自定義拓撲關鍵部分)mininet/topo.py:所有的拓撲類都繼承自topo模塊下的Topo基類,Topo基類實現了addNode、addSwitch、addHost、addPort、addLink等添加節點、鏈路的重要方法。Topo模塊中還實現了單交換機拓撲SingleSwitchTopo類和鏈狀拓撲LinearTopo類。mininet/topolib.py:topolib模塊中定義了樹狀拓撲TreeTopo類,自定義的拓撲類可以定義在topolib模塊下也可定義在topo模塊下,拓撲類的__init__方法中可添加構建拓撲所需要的參數,Mininet在調用拓撲類時會將從命令行接收的topo選項之後的參數*args和關鍵字參數**kwargs傳遞到該拓撲類的__init__方法中初始化該拓撲類的對象。如本文中定義的FatTree拓撲類需要接收參數k以確定胖樹的叉數:classFatTreeTopo(Topo):def__init__(self,k=4):"Createfat-treetopo."#initializationcodebin/mn:mn是Mininet執行的解釋器,負責解析參數,定義了MininetRunner類用來構建、配置並運行整個Mininet平台。自定義的拓撲類需要導入mn中,然後在存放拓撲參數的字典TOPOS中加入對應的鍵值,就可以在mn命令中使用自定義的拓撲了:frommininet.topolibimportFatTreeTopoTOPOS={'linear':LinearTopo,'single':SingleSwitchTopo,'tree':TreeTopo,'fattree':FatTreeTopo}啟動8叉胖樹自定義拓撲的Mininet拓撲環境:$sudomn--topo=fattree,k=8

閱讀全文

與mininetpython腳本創建拓撲相關的資料

熱點內容
為什麼要編譯源代碼 瀏覽:820
輸入法freetype交叉編譯 瀏覽:437
電阻單片機代號 瀏覽:469
來畫app怎麼添加對話框 瀏覽:318
python序列化分布式 瀏覽:107
域名伺服器是什麼形式 瀏覽:681
rsa加密解密速度快 瀏覽:924
mac電腦如何單片機開發 瀏覽:547
紀念日app怎麼用小插件 瀏覽:331
如何更改安卓手機所在地區 瀏覽:217
程序員負債120萬 瀏覽:80
階層pdf 瀏覽:380
linuxgit安裝配置 瀏覽:319
用源碼搭建app要改什麼 瀏覽:42
密碼學教程pdf 瀏覽:3
亞馬遜做的加密貨幣 瀏覽:81
怎麼搭建雲播伺服器 瀏覽:867
網站客服機器人源碼 瀏覽:317
2021程序員的出路 瀏覽:547
發行與承銷pdf 瀏覽:945