Floodlight+Mininet搭建OpenFlow(五):复杂网络

按照我的计划,接下来在这个平台上我应该做:

1 多个Switch(DataPath)的测试.

2 多个OpenFlow控制端controller的测试.

其中,2包括两点,第一是一个OpenFlow网络中可以有多个同一号的控制端不,比如,一个OpenFlow网络中同时有多个Floodlight存在(这一点是OpenFlow 1.2标准定义,但是我们在使用Floodlight中发现Floodlight会载入多controller模块,所以这个功能需要测试);第二点是,OpenFlow网络中允许不同款的控制端存在否,比如一个OpenFlow网络中同时有Floodlight和POX,他们之间遵循OpenFlow1.2标准多控制端的规定,整个网络依然正常,这也是SDN一个很有意思的问题.下面开始说说具体的实验吧.

开始前说一下,因为换了Arch Linux,所以搭建环境的时候折腾了一下,参见:

一 多Switch支持

Mininet可以通过python API来自定义创建拓扑,参考:

http://yuba.stanford.edu/foswiki/bin/view/OpenFlow/MininetWalkthrough

这个网络很简单:

host <— >switch — switch <— >host,两个switch连接controller.

sudo mn –custom ~/mininet/custom/topo-2sw-2host.py –topo mytopo –controller=<ip> –port=6633</ip>

发现网络时成功的.直接用dpctl看看两个交换机信息.

floodlight@localhost:~$ dpctl dump-flows tcp:127.0.0.1:6634
stats<em>reply (xid=0x7751f38d): flags=none type=1(flow)
floodlight@localhost:~$ dpctl show tcp:127.0.0.1:6634
features</em>reply (xid=0xc0c5bdb2): ver:0×1, dpid:2
n<em>tables:2, n<em>buffers:256
features: capabilities:0×87, actions:0xfff
1(s2-eth1): addr:ca:b0:fb:85:5c:b4, config: 0, state:0
current: 10GB-FD COPPER
2(s2-eth2): addr:fa:fe:f5:8a:3e:b9, config: 0, state:0
current: 10GB-FD COPPER
LOCAL(dp0): addr:00:23:20:c6:ae:b3, config: 0×1, state:0×1
get</em>config</em>reply (xid=0xbf5f86bb): miss<em>send</em>len=0</p>
<p>floodlight@localhost:~$ dpctl show tcp:127.0.0.1:6635
features<em>reply (xid=0x519cf8f0): ver:0×1, dpid:3
n</em>tables:2, n<em>buffers:256
features: capabilities:0×87, actions:0xfff
1(s3-eth1): addr:5a:0c:ec:f6:59:1a, config: 0, state:0
current: 10GB-FD COPPER
2(s3-eth2): addr:ee:78:dc:58:a6:69, config: 0, state:0
current: 10GB-FD COPPER
LOCAL(dp1): addr:00:23:20:ba:85:10, config: 0×1, state:0×1
get<em>config</em>reply (xid=0x6bd4786a): miss</em>send_len=0

注意,我在前文提到,dpctl的默认端口是6634,如果多个switch的话,那么端口依次累加,第二个switch就是6635了.

不知道啥原因,这次Floodlight居然能完美显示拓扑.如下图:

在看看其他信息:

还要试试的话,试试下面这个:

floodlight@localhost:~$ sudo mn –controller=remote –ip=192.168.10.103 –port=6633 –topo tree,depth=2,fanout=8

拓扑:

二 多Controller支持

这个想法是好的,可是我发现目前的环境,不能成功。我想要做到:

测试openflow网络中多个同一号的controller,比如多个floodlight,controller之间通过openflow1.2协议标准交互。

另外,在openflow网络中多个不同号的controller,比如同时存在NOX和floodlight,他们之间,如果遵循openflow协议标准的话,也是能够协作工作的。

那么,现在存在的问题是:

1 mininet里面对单一switch不能指定连接多个controller;

2 mininet里面不能为每一个switch指定不同的controller IP;

3 controllers之前如何交互和发现,还是一个问题。

没办法,关于floodlight在openflow网络的实验就暂时到这里了。

参考资料:

http://yuba.stanford.edu/foswiki/bin/view/OpenFlow/MininetSampleWorkflow

http://yuba.stanford.edu/foswiki/bin/view/OpenFlow/MininetWalkthrough


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/sdn-guide/14886.html/
分享到:
条评论

登录后才可以评论

Jerry 发表于15-11-16
0