演示篇(Walkthrough)

参考网站:
国内版
Github
特别感谢SDNLAB


进入到mininet之后,可以使用

sudo mn

直接生成一个含有h1,h2两个节点,中间有一个ovs交换机的最小拓扑

>mininet中, 还可以使用node查看所有节点,net查看所有网络接口,dump直接输出节点信息

比如:

mininet> dump
<Host h1: h1-eth0:10.0.0.1 pid=7918> 
<Host h2: h2-eth0:10.0.0.2 pid=7921> 
<OVSSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None   pid=7926> 
<Controller c0: 127.0.0.1:6653 pid=7911> 

注意: 每一个节点都有一个自己的pid,所以可以看出来他们是生成在不同的进程


对于不同的节点,可以执行他们自己的命令
比如:

mininet> h1 ifconfig -a
h1-eth0   Link encap:Ethernet  HWaddr a6:2e:1f:60:5a:cd  
          inet addr:10.0.0.1  Bcast:10.255.255.255 Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500    Metric:1
          RX packets:10 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:3420 (3.4 KB)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          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)

每一个节点都会有两个,一个真正的物理(划掉)网卡,一个用于测试的回环网卡lo

但是有趣的是,如果执行

mininet> s1 ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0c:29:54:ad:39  
          inet addr:192.168.209.132  Bcast:192.168.209.255 
          Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500      Metric:1
          RX packets:22615 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18447 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
      RX bytes:15289915 (15.2 MB)  TX bytes:21162304 (21.1 MB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:54:ad:43  
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:980 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:335160 (335.1 KB)

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:8919 errors:0 dropped:0 overruns:0 frame:0
      TX packets:8919 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:12404847 (12.4 MB)  TX bytes:12404847 (12.4 MB)

ovs-system Link encap:Ethernet  HWaddr 5e:b8:57:e8:73:4c  
      BROADCAST MULTICAST  MTU:1500  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)

s1        Link encap:Ethernet  HWaddr f2:fd:8d:b6:b2:4e  
      BROADCAST MULTICAST  MTU:1500  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)

s1-eth1   Link encap:Ethernet  HWaddr 4e:af:ec:f9:25:60  
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:7866 (7.8 KB)

s1-eth2   Link encap:Ethernet  HWaddr 06:53:87:b8:de:c7  
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:6840 (6.8 KB)

首先显示的是物理网卡,真实存在的网卡. 然后是lo,然后是交换机的物理地址, 和控制器的交换地址,两个和h主机相连的地址. 证明了交换机是在root 的真实namespace下工作的,就把物理的网卡包含进来了

其他节点都是工作在user的namespace下的.user下会有更多的新功能. root下会有更大的带宽和性能. 在创建的时候使用--innamespace --switch user可以把交换机放在user下


wireshark的启动

笔者使用的是xshell+xmanager, 但是在mininet下是不支持启动xmanager的, 所以mininet> h1 wireshark是不能使用的.

解决方法如下:
首先xterm h1启动h1的界面, 在新界面中启动wireshark就好了.

如果在Linux 下启动的wireshark,抓包应该抓any网卡的.

测试一下,让h1 ping h2.
可以发现, 首先h1发送了一个广播ARP包,让s1看见后上交c1,产生了packet_in和packet_out各一个. 交换机又将ARP在其他端口广播,h2回复后又产生了packet_in和packet_out,最后交付给h1.

ping第二次的时候就快多了,因为交换机里面已经有了两者的信息


运行一个Web服务器

mininet> h1 python -m SimpleHTTPServer 80 &
Serving HTTP on 0.0.0.0 port 80 ...
mininet> h2 wget h1
--2019-01-25 02:08:55--  http://10.0.0.1/
Connecting to 10.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 990 [text/html]
Saving to: ‘index.html.1’

100%[======================================>] 990             --.-K/s   in 0.01s   

2019-01-25 02:08:55 (72.6 KB/s) - ‘index.html.1’ saved [990/990]

最后让h1关闭服务器 h1 kill %python


mininet不一定要进入CLI,也可以直接执行某些命令

sudo mn --test pingpair

会创建一个小的拓扑结构,然后启动of的控制器,然后跑ping测试,最后把自己关掉

sudo mn --test iperf

创建一个同样的网络,在h1跑iperf 服务器,另一个h2上运行iperf客户端,然后获取带宽情况

使用--topo可以更改创建的拓扑结构,比如运行回归测试的时候,可以创建三个节点而不是两个

sudo mn --test pingall --topo single,3

也可以创建一个线性结构, 让每一个交换机上各连接一个主机,然后让这些交换机连接成线

sudo mn --test pingall --topo linear,4

创建的时候使用--MAC可以固定化MAC


在mininet中使用link xx xx up/down来决定一个链路是联通还是断开

py

emmm这一部分就比较繁琐了, 不如我们再开一篇专门说说?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容