python代碼創建拓撲:
from mininet.net importMininet net =Mininet() # Creating nodes in the network. c0 = net.addController() //創建一個控制器 h0 = net.addHost('h0') //創建一台主機 s0 = net.addSwitch('s0') //創建一台交換機 h1 = net.addHost('h1') # Creating links between nodes in network net.addLink(h0, s0) //創建一條鏈路,使h0和s0連接起來 net.addLink(h1, s0) # Configuration of IP addresses in interfaces h0.setIP('192.168.1.1',24) //設置h0主機的IP地址為192.168.1.1,掩碼位24位 h1.setIP('192.168.1.2',24) net.start() //啟動拓撲 net.pingAll() //運行pingalll net.stop() //關閉拓撲
addHost()語法可以對主機cpu進行設置,以百分數的形式;
addLink()語法可以設置帶寬bw、延遲delay、最大隊列的大小max_queue_size、損耗率loss。
from mininet.net importMininet from mininet.node importCPULimitedHost from mininet.link importTCLink net =Mininet(host=CPULimitedHost, link=TCLink) c0 = net.addController() s0 = net.addSwitch('s0') h0 = net.addHost('h0') h1 = net.addHost('h1', cpu=0.5) h2 = net.addHost('h1', cpu=0.5) net.addLink(s0, h0, bw=10, delay='5ms',max_queue_size=1000, loss=10, use_htb=True) net.addLink(s0, h1) net.addLink(s0, h2) net.start() net.pingAll() net.stop()
交互式界面創建主機、交換機等
1 添加主機h3:
2 添加link:
3 給交換機s1添加端口eth3用於連接h3:
4 給h3賦予IP(10.0.0.3):
5 h1 ping h3
測試網絡
1 展示所有的網絡信息。
2 所有節點的ping測試。