1.负载均衡程序
1.建立拓扑的代码
[https://github.com/linzhenyuyuchen/network/blob/master/topo.py]
2.下发组表流表的代码
[https://github.com/linzhenyuyuchen/network/blob/master/flowmonitor.py]
3.演示视频
[http://v.youku.com/v_show/id_XMzM1NDY0MzgwOA==.html?spm=a2h3j.8428770.3416059.1]
密码sdn
4.程序分工
Python程序代码的编写
bug修复
5.课程学习总结
SDN是一种新型的网络体系结构,通过将网络控制与网络转发解耦合构建开放编程的 网络体系结构。SDN认为不应无限制地增加网络的复杂度,需要对网络进行抽象以屏蔽底层复杂度,为上层提供简单的、高效的配置与管理。SDN旨在实现网络互联、网络行为的定义和开放式的接口,从而支持未来各种新型网络体系结构和新型业务的创新。
SDN的典型架构共分三层,最上层为应用层,包括各种不同的业务和应用;中间的控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最底层的基础设施层负责基于流表的数据处理、转发和状态收集。SDN本质上具有“控制和转发分离”、“设备资源虚拟化”和“通用硬件及软件可编程”三大特性,这至少带来了以下好处。
mininet
我觉得这是一款集成软件,它给初学者带来了很多的方便,没有真实的openflow交换机,也没有那么多的主机的环境下,mininet的确是一个不错的选择.
实践中用于字符命令生成拓扑,可视化拓扑建立(与openflow一起使用),利用python脚本建立拓扑。
floodlight
Floodlight是目前主流的SDN控制器之一,它的稳定性、易用性已经得到SDN专业人士以及爱好者们的一致好评,并因其完全开源,这让SDN网络世界变得更加有活力。控制器作为SDN网络中的重要组成部分,能集中地灵活控制SDN网络,为核心网络及应用创新提供了良好的扩展平台.
OpenDaylight
以开源社区为主导,使用Java语言实现的的开源框架,旨在推动创新实施以及软件定义网络透明化。面对SDN型网络,OpenDaylight作为项目核心,拥有一套模块化、可插拔且极为灵活的控制器,还包含一套模块合集,能够执行需要快速完成的网络任务。
实验中完成了下发流表,北向接口下发流表项,下发组表。
收获:
SDN这个技术的出现仅仅是时代的需要,同时这个技术给予我们太多的可能性,但是接触一个新颖的技术是痛苦的,因为我没有传统的方法去学习它,网络上找到的SDN的技术文档也很杂乱,不过经过这两个多月的学习,我也算是小小的入了门,了解了SDN是什么,可以用来做什么,这门学科广阔的前景,课程结束后,我仍然会接着学习,谢谢老师谢谢伙伴。