1、mininet使用教程第1部分:Everyday Mininet Usage首先是是命令语法$这个符号代表现在处于 Linux 的shell 交互下,需要使用的是 Linux 命令mininet这个符号表示现在处于 Mininet 交互下,需要使用的是 Mininet 的命令这个符号表示的是现在处于 Linux 的 root 权限下。以上相应的状态下下属于对应的命令,就能够得到正常的输出。需要注意的是mininet的情况比较特殊,需要使用 minient 的命令来进行交互。Display Startup Options我们首先来启动 Mininet。键入以下命令来显示Mininet的帮助信息:
2、$ 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 ivs|ovsk|ovsl|user,param=value.-host=HOST cfs
3、|proc|rt,param=value.-controller=CONTROLLERnone|nox|ovsc|ref|remote,param=value.-link=LINK default|tc,param=value.-topo=TOPO linear|minimal|reversed|single|tree,param=value.-c, -clean clean and exit-custom=CUSTOM read custom topo and node params from .pyfile-test=TEST cli|build|pingall|pingpair|iper
4、f|all|iperfudp|none-x, -xterms spawn xterms for each node-i IPBASE, -ipbase=IPBASEbase IP address for hosts-mac automatically set host MACs-arp set all-pairs ARP entries-v VERBOSITY, -verbosity=VERBOSITYinfo|warning|critical|error|debug|output-innamespace sw and ctrl in namespace?-listenport=LISTENP
5、ORTbase port for passive switch listening-nolistenport dont 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 -hostrt)-version如上所示,输出了 mn 的帮助信息。Start Wireshark为了使用 Wireshark 来查看 OpenFlow 的控制信息,我
6、们先打开 Wireshark 并让他在后台运行。$ sudo wireshark &在 Wireshark 的过滤选项中,输入of,然后选择 Apply。In Wireshark, click Capture, then Interfaces, then select Start on the loopback interface (lo).现在窗口上暂时应该没有任何 OpenFlow 的数据包。注:在Mininet VM镜像中Wireshark是默认已经安装的。如果你的系统中没有Wireshark的和OpenFlow,您可以使用Mininet的install.sh脚本,按以下步骤安装:$ c
7、d $ git clone $ mininet/util/install.sh -w如果已经安装了 Wireshark,但是运行不了(e.g. 你得到一个类似$DISPLAY not set之类的错误信息,可以参考 FAQ,:设置好 X11就可以正常运行 GUI 程序,并且使用 xterm 之类的终端仿真器了,后面的演示中可以用到。Interact with Hosts and SwitchesStart a minimal topology and enter the CLI:$ sudo mn默认的最小拓扑结构包含有两台主机(h1,h2),还有一个 OpenFlow 的交换机,一个 Ope
8、nFlow 的控制器四台设备。这种拓扑接口也可以使用-topo=minimal来指定。当然我们也可以使用其他的拓扑结构,具体信息可以看-topo的信息。现在四个实体(h1,h2,c0,s1)都在运行着。c0作为控制器,是可以放在虚拟机外部的。如果没有具体的测试作为参数传递时,我们可以使用 Mininet 交互。在Wireshark的窗口中,你会看到内核交换机连接到控制器。显示Mininet CLI命令:mininet helpDocumented commands (type help ):=EOF exit intfs link noecho pingpair py source xterm
9、dpctl gterm iperf net pingall pingpairfull quit timedump help iperfudp nodes pingallfull px sh xYou may also send a command to a node using: command argsFor example: mininet h1 ifconfigThe interpreter automatically substitutes IP addressesfor node names when a node is the first arg, so commandslike
10、mininet h2 ping h3should work.Some character-oriented interactive commands requirenoecho: mininet noecho h2 vi foo.pyHowever, starting up an xterm/gterm is generally better: mininet xterm h2显示节点:mininet nodesavailable nodes are:c0 h1 h2 s1显示网络链接:mininet neth1 h1-eth0:s1-eth1h2 h2-eth0:s1-eth2s1 lo:
11、s1-eth1:h1-eth0 s1-eth2:h2-eth0c0输出所有节点的信息:mininet dump从上面的输出中,你可以看到有一台交换机和两台主机。在 Mininet 的CLI 中第一个字符串是设备名,那后面的命令就在该设备上执行。例如我们想在h1设备上执行ifconfig则输入如下命令:mininet h1 ifconfig -ah1-eth0 Link encap:Ethernet HWaddr 3e:94:43:b1:ad:48 inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80:3c
12、94:43ff:feb1:ad48/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:22 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1764 (1.7 KB) TX bytes:648 (648.0 B)lo Link encap:Local Loopback inet addr:1
13、27.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:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)上面的输出中,可以看见h1-eth0跟lo两个接口,需要注意的是,在 Linux
14、 系统的 shell 中运行ifconfig是看不到h1-eth0。与h1-eth0相反的是,switch默认是跑在 root 的网络namespace上面,所以在switch上执行命令与在 Linux 下的 shell 中是一样的。mininet s1 ifconfig-aeth0 Link encap:Ethernet HWaddr 08:00:27:98:dc:aa inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80:a00:27ff:fe98:dcaa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:46716 errors:0 dropped:0 overruns:0 frame:0 TX packets:40265 errors:0 dropped:0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1