Floodlight+Mininet搭建OpenFlow(五):复杂网络
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
发现网络时成功的.直接用dpctl看看两个交换机信息.
floodlight@localhost:~$ dpctl dump-flows tcp:127.0.0.1:6634
stats_reply (xid=0x7751f38d): flags=none type=1(flow)
floodlight@localhost:~$ dpctl show tcp:127.0.0.1:6634
features_reply (xid=0xc0c5bdb2): ver:0×1, dpid:2
n_tables:2, n_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_config_reply (xid=0xbf5f86bb): miss_send_len=0floodlight@localhost:~$ dpctl show tcp:127.0.0.1:6635
features_reply (xid=0x519cf8f0): ver:0×1, dpid:3
n_tables:2, n_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_config_reply (xid=0x6bd4786a): miss_send_len=0
注意,我在前文提到,dpctl的默认端口是6634,如果多个switch的话,那么端口依次累加,第二个switch就是6635了.
不知道啥原因,这次Floodlight居然能完美显示拓扑.如下图:
复杂网络%20%20SDNAP原创%20%20SDNAP_files/65ff1bd3a610d669892040575dcf0b52.jpg)
在看看其他信息:
复杂网络%20%20SDNAP原创%20%20SDNAP_files/91e80079dfc0cd91bdbadea1f5932d51.jpg)
还要试试的话,试试下面这个:
floodlight@localhost:~$ sudo mn –controller=remote –ip=192.168.10.103 –port=6633 –topo tree,depth=2,fanout=8
拓扑:
复杂网络%20%20SDNAP原创%20%20SDNAP_files/4c48cbcf2ddbd2f215208a0807110a3c.jpg)
二 多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
早期在blog.wangchang.net 网站,因博主空间不稳定,故将相关文字转过来。作者:SDN QQ群 #王畅
本文链接:http://www.sdnap.com/sdnap-post/1821.html \ 本文标签: floodlight, Mininet
本站声明:本站原创文章可以转载,请注明来自SDNAP.com - SDN联合播报
欢迎光临:SDN联合播报 | 中国第一家报道SDN的独立站点 | SDN交流平台 | SDN开源社区 | SDN技术沙龙
欢迎继续浏览
Openflow世界 发布于:2013年08月5日 下午 6:26,转载请注明并保留本文链接;
- 发布者站点/微博:http://weibo.com/2824083995, 欢迎关注或者发邮箱给他/她;
复杂网络%20%20SDNAP原创%20%20SDNAP_files/floodlight-mininet.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/th.png)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/aboutus.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/sdnap_salon.png)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/66808c920e41ca0bee8071781277077f.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/81d06921381e09cdf78ed0f8a92df105.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/opendaylight-in-ONS2013.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/opendaylight_logo.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/45d9bdcfa8ec1e0fe84e269e5bce768c.gif)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/ShaihaiJiaoTong-SDN-20130716.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/iStock_000014047443XSmall.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/CNW_SDN.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/81d06921381e09cdf78ed0f8a92df1051.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/openflow1.4.png)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/centes-on-ONS2013.jpg)
复杂网络%20%20SDNAP原创%20%20SDNAP_files/pica8_logo_sdnap.png)