基本环境:
parallels@parallels-vm:~$ uname -r4.13.0-43-genericparallels@parallels-vm:~$ uname -aLinux parallels-vm 4.13.0-43-generic #48~16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
##Mininet基本操作:
###在操作前,我们可以利用 ?mn -h
来查看使用手册
parallels@parallels-vm:~$ sudo mn -hUsage: mn [options](type mn -h for details)The mn utility creates Mininet network from the command line. It can createparametrized topologies, invoke the Mininet CLI, and run tests.Options: ?-h, --help ???????????show this help message and exit ?--switch=SWITCH ??????default|ivs|lxbr|ovs|ovsbr|ovsk|user[,param=value...] ???????????????????????ovs=OVSSwitch default=OVSSwitch ovsk=OVSSwitch ???????????????????????lxbr=LinuxBridge user=UserSwitch ivs=IVSSwitch ???????????????????????ovsbr=OVSBridge ?--host=HOST ??????????cfs|proc|rt[,param=value...] ???????????????????????rt=CPULimitedHost{‘sched‘: ‘rt‘} proc=Host ???????????????????????cfs=CPULimitedHost{‘sched‘: ‘cfs‘} ?--controller=CONTROLLER ???????????????????????default|none|nox|ovsc|ref|remote|ryu[,param=value...] ???????????????????????ovsc=OVSController none=NullController ???????????????????????remote=RemoteController default=DefaultController ???????????????????????nox=NOX ryu=Ryu ref=Controller ?--link=LINK ??????????default|ovs|tc|tcu[,param=value...] default=Link ???????????????????????ovs=OVSLink tcu=TCULink tc=TCLink ?--topo=TOPO ??????????linear|minimal|reversed|single|torus|tree[,param=value ???????????????????????...] linear=LinearTopo torus=TorusTopo tree=TreeTopo ???????????????????????single=SingleSwitchTopo ???????????????????????reversed=SingleSwitchReversedTopo minimal=MinimalTopo ?-c, --clean ??????????clean and exit ?--custom=CUSTOM ??????read custom classes or params from .py file(s) ?--test=TEST ??????????none|build|all|iperf|pingpair|iperfudp|pingall ?-x, --xterms ?????????spawn xterms for each node ?-i IPBASE, --ipbase=IPBASE ???????????????????????base IP address for hosts ?--mac ????????????????automatically set host MACs ?--arp ????????????????set all-pairs ARP entries ?-v VERBOSITY, --verbosity=VERBOSITY ???????????????????????info|warning|critical|error|debug|output ?--innamespace ????????sw and ctrl in namespace? ?--listenport=LISTENPORT ???????????????????????base port for passive switch listening ?--nolistenport ???????don‘t use passive listening port ?--pre=PRE ????????????CLI script to run before tests ?--post=POST ??????????CLI script to run after tests ?--pin ????????????????pin hosts to CPU cores (requires --host cfs or --host ???????????????????????rt) ?--nat ????????????????[option=val...] adds a NAT to the topology that ???????????????????????connects Mininet hosts to the physical network. ???????????????????????Warning: This may route any traffic on the machine ???????????????????????that uses Mininet‘s IP subnet into the Mininet ???????????????????????network. If you need to change Mininet‘s IP subnet, ???????????????????????see the --ipbase option. ?--version ????????????prints the version and exits ?--cluster=server1,server2... ???????????????????????run on multiple servers (experimental!) ?--placement=block|random ???????????????????????node placement for --cluster (experimental!)
以上是我们可以在Mininet里面下的参数,下面,我们开始建立基本的拓朴
###基本拓朴
建立最简单的网络环境 sudo mn
parallels@parallels-vm:~$ sudo mn*** Creating network*** Adding controller*** Adding hosts:h1 h2 *** Adding switches:s1 *** Adding links:(h1, s1) (h2, s1) *** Configuring hostsh1 h2 *** Starting controllerc0 *** Starting 1 switchess1 ...*** Starting CLI:mininet>
快速观察网络中有哪些节点 (mininet)nodes
mininet> nodesavailable nodes are: c0 h1 h2 s1
检查网路拓朴(各个节点)连线状况 (mininet)net
mininet> neth1 h1-eth0:s1-eth1h2 h2-eth0:s1-eth2s1 lo: ?s1-eth1:h1-eth0 s1-eth2:h2-eth0c0
针对特定设备进行操作 (mininet) ??(设备名 ex. h1 ) (指令)
mininet> h1 ifconfigh1-eth0 ??Link encap:Ethernet ?HWaddr e6:06:6d:77:e4:c5 ???????????inet addr:10.0.0.1 ?Bcast:10.255.255.255 ?Mask:255.0.0.0 ?????????inet6 addr: fe80::e406:6dff:fe77:e4c5/64 Scope:Link ?????????UP BROADCAST RUNNING MULTICAST ?MTU:1500 ?Metric:1 ?????????RX packets:59 errors:0 dropped:0 overruns:0 frame:0 ?????????TX packets:31 errors:0 dropped:0 overruns:0 carrier:0 ?????????collisions:0 txqueuelen:1000 ??????????RX bytes:5911 (5.9 KB) ?TX bytes:2630 (2.6 KB)lo ???????Link encap:Local Loopback ???????????inet addr:127.0.0.1 ?Mask:255.0.0.0 ?????????inet6 addr: ::1/128 Scope:Host ?????????UP LOOPBACK RUNNING ?MTU:65536 ?Metric:1 ?????????RX packets:0 errors:0 dropped:0 overruns:0 frame:0 ?????????TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 ?????????collisions:0 txqueuelen:1000 ??????????RX bytes:0 (0.0 B) ?TX bytes:0 (0.0 B)
关闭mininet (mininet) ??exit
mininet> exit*** Stopping 1 controllersc0 *** Stopping 2 links..*** Stopping 1 switchess1 *** Stopping 2 hostsh1 h2 *** Donecompleted in 779.394 seconds
注意!!!! 如果mininet 操作上有问题(网路、不知名的bug),则使用 sudo mn -c
便可以彻底的将环境清理干净!!
Mininet(轻量级软件定义网络和测试平台) 之一
原文地址:http://blog.51cto.com/12098022/2119373