OpenDaylight与Mininet应用实战之复杂网络验证(五)


在本专题的《OpenDaylight与Mininet应用实战之ODL三层转发机制(四)》中已涉及到多交换机的支持验证,本文不仅是为了验证多交换机设备间的通信,也是为了验证Mininet是否支持多控制器的应用。

1 多交换机的测试

Mininet中本身就支持多交换机网络拓扑的模拟创建,可通过Python API自定义拓扑创建满足使用者在仿真过程中的多方位需求。

下面举出具体示例验证多交换机支持:

执行此条命令后,查看ODL的Web界面显示的网络拓扑。界面拓扑显示如下:

odl-mini-05-3switch

对所有的虚拟host之间进行互ping操作,通过pingall命令,验证主机间的连通性,继而可验证支持多交换机的功能。

由pingall显示的结果可看出,主机间能够互相通信,且将数据包的流转发给交换机,并由交换机上报给ODL控制器来下发流表使主机通信。

主机通信过程中可查看交换机的流表信息及本身信息。

由交换机流表信息显示可知,控制器通过策略将流表下发到交换机中,使主机发出的数据包转发到下一目的地址。每个交换机查看信息的端口都不同,从第一个交换机端口号为6634开始,以后每一个交换机依次在之前交换机端口号的基础上加1,如第二个交换机的端口为6635。其他交换机的流表信息及自身设备信息可根据此说明进行查看。

2 多控制器的测试

多控制器验证支持测试包括两种情况:

  • OpenFlow网络中多个同一类型的控制器;
  • OpenFlow网络中多个不同类型的控制器;

2.1 多个同一类型的控制器验证

测试OpenFlow网络中多个同一类型的controller,比如OpenDaylight,多个ODL之间通过OpenFlow1.0协议标准交互。

通过Mininet验证,在Mininet中模拟创建的OvS交换机不能指定连接多个控制器,且在同一个Mininet中创建的多个交换机不能指定不同的控制器。所以在验证交换机被多个同一类型的控制器管控时,不能通过用Mininet来验证,但是可通过真实交换机来验证。

如,在真实交换机中设置连接此文中的ODL控制器及另一个ODL控制器,命令为:

连接两个相同类型的ODL控制器,其中192.168.5.203为上述实验使用的控制器,192.168.5.111为另外安装使用的ODL控制器。通过执行如下命令查看交换机连接的控制器信息。

is_connected:true表示交换机都成功连接上控制器。交换机连接到这两个控制器后,控制器通过设备拓扑管理也可以发现此交换机,同时控制器管控存在主备关系,但控制器都可对交换机进行管控、下发流表等操作。

通过真实OpenFlow交换机连接多个控制器,可以实施,且已经验证,控制器和控制器之间存在主备关系,多控制器都可以对连接的交换机进行管控。

2.2 多个不同类型的控制器验证

在OpenFlow网络中多个不同类型的controller,比如同时存在NOX和ODL,它们之间如果遵循OpenFlow协议标准的话,也是能够协作工作的。多个不同类型的控制器管控交换机与2.1小节是同样的道理。

如,在真实交换机中设置连接此文中的ODL控制器及其他另一个不同类型的控制器,如POX,命令为:

连接两个不同控制器,其中192.168.5.203为上述实验使用的控制器,192.168.5.111为另外安装使用的POX控制器。经试验验证,ODL与POX都遵循OF1.0版本的协议标准,所以在复杂网络多控制器情况下,只要控制器遵循相同的标准规范,控制器之间可进行对网络的通信管理等。此处实验结果与2.1节一致。交换机连接这两个控制器后,控制器管控存在主备关系,但控制器都可对交换机进行管控、下发流表等操作。

3 总结

本文主要对复杂网络多交换机及多控制器的支持验证。因Mininet现在无法模拟多控制器管控一个交换机的情况,所以本专题还是侧重对多交换机的管控实验。至此,OpenDaylight与Mininet应用实战专题将结束,有介绍不到位或者有疑问的地方请多多指教,互相交流。谢谢!

 


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

登录后才可以评论

君子一诺 发表于14-10-28
7