A. 怎麼用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
B. 《網路工程師的Python之路》(EVE-NG,導入華為鏡像)
網路工程師學習 Python 之旅正式啟程,本篇將帶你深入了解使用 EVE-NG 搭建實驗拓撲的具體操作,特別是與華為 CE12800 設備的結合。
在搭建基礎環境後,我們將從思科 Vios-l2 拓撲轉而探索華為 CE12800 設備的使用。無論是直接切入華為設備拓撲,還是先從思科開始,本書的實驗拓撲搭建部分均可獨立閱讀和實踐,以滿足不同讀者的需求。
在開始之前,建議先閱讀《目錄》以了解整個系列的結構和內容概覽,確保閱讀和實踐過程的順利進行。以下是關鍵步驟概覽:
為實現此目標,推薦使用 MobaXterm 工具,它能免費提供功能支持,通過該工具連接至 EVE-NG 伺服器並進行文件傳輸。請按照如下步驟進行操作:
成功導入鏡像後,即可在 EVE-NG 中找到並添加華為 CE12800 設備。接著,啟動設備並進行基本操作。實驗中,讀者需要實現 CE12800 設備之間的連接和互ping,以便熟悉設備的使用。
最後,總結性地提到,通過本篇教程,你將學會如何在 EVE-NG 中導入設備鏡像,這不僅適用於華為設備,也適用於其他設備。隨著對 EVE-NG 模擬器的熟練掌握,你可以深入研究和應用其他資料,將之視為一台 Linux 機器,利用你的 Linux 技能進行操作。此外,通過橋接設備與實際的 Python 主機,你可以開始探索書中的示例,開啟實際的實踐學習之旅。