在nctu交換,學到了SDN實驗。
實驗目的:
首先先使用了Mininet。
Mininet的安裝配置也較為簡單
1. Update the machine
$ sudoapt-get update
2. Install git
$ sudo apt-get install git
3. Download Mininet from Github
$ gitclone git://github.com/mininet/mininet
4. Install mininet
$ sudo mininet/util/install.sh -a
輸入 mn 可以建構出mininet最基本的虛擬拓樸
然後除了使用默認的topo網絡外我們可以使用兩種方式去自定義topo。
方法一:編寫一個python 腳本
# !/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.log import setLogLevel, info # 印出LOG資訊
from mininet.node import RemoteController
from mininet.cli import CLI
from mininet.node import Node
def BuildTree():
#Add controller, switch, hos link
net.start()
return net
if __name__='__main__':
setLogLevel('info')
net = BuildTree() # Call BuildTree function
CLI(net) # command line
net.stop()
我們需要在BuildTree()中添加自己的topo結構。
#Add a controller
net=Mininet(topo=None, build=False)
c0=net.addController(name=‘c0’)
ip = '127.0.0.1', port = 6633
#Add a host
h1=net.addHost(‘h1’)
mac=’00:00:00:00:00:01’, ip=’10.0.0.1’
#Add a switch
s1=net.addSwitch(‘s1’)
dpid=‘0000000000000001’
#Add a link
net.addLink(s1,s2)
我是參考的下面這篇文章
http://www.jianshu.com/p/31511e691c65
更多關於 mininet的知識可以參考官方文檔
傳送門:mininet中文文檔
這次實驗的目的用mininet command line去創建一個topo
得到了如下結果
測試結果如下