iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
1
Data Technology

基於雲端Iaas基礎平台OpenStack結合Kubernetes,BlockChain,Spark,SDN系列 第 24

Mininet 網路拓樸模擬

Mininet

Mininet是一個網絡模擬器,可以模擬虛擬主機,交換器,控制器來建造虛擬網路拓撲,同時,其交換機支持OpenFlow協定,用於高度靈活的自定義路由和軟件定義網路。

安裝Mininet(Ubuntu 16.04)

sudo apt-get install mininet

開始Mininet

 sudo mn

這個指令會啟動兩個虛擬主機及一個OpemFlow 交換器,以及一個OpemFlow Controller

mininet> help

mininet> net

可以看到各節點的Link

mininet> dump

可以看到各節點的訊息

mininet> nodes

顯示現在網路拓樸有多少節點

mininet> h1 ping h2

測試h1和h2的連線

sudo mn -custom 路徑 --topo mytopo

建立我們自定義的網路拓樸

from mininet.topo import Topo

class MyTopo( Topo ):
    "Simple topology example."

    def __init__( self ):
        "Create custom topo."

        # Initialize topology
        Topo.__init__( self )

        # Add hosts and switches
        leftHost = self.addHost( 'h1' )
        rightHost = self.addHost( 'h2' )
        leftSwitch = self.addSwitch( 's3' )
        rightSwitch = self.addSwitch( 's4' )
        centSwitch = self.addSwitch( 's5' )

        # Add links
        self.addLink( leftHost, leftSwitch )
        self.addLink( leftSwitch, rightSwitch )
        self.addLink( rightSwitch, rightHost )
        self.addLink( rightSwitch, centSwitch )
        self.addLink( leftSwitch, centSwitch  )


topos = { 'mytopo': ( lambda: MyTopo() ) }```


參考資料
http://mininet.org/walkthrough/

上一篇
Openvswitch 介紹
系列文
基於雲端Iaas基礎平台OpenStack結合Kubernetes,BlockChain,Spark,SDN24

尚未有邦友留言

立即登入留言