一、网络拓扑
场景二
![](https://images2017.cnblogs.com/blog/1224792/201801/1224792-20180125234914209-1126219420.png)
二、负载均衡程序
1.建立拓扑的代码
拓扑
2.下发组表流表的代码
下发组表流表
三、演示视频
1.目的
服务器h2,h3,h4上各自有不同的服务,h1是客户端。实现一个负载均衡的北向程序,当h2,h3,h4向h1传输数据时,北向应用根据链路的使用状况动态的调整路由规则。
例如:s1-s4链路带宽充足情况下应默认s4-s1的传输路径,当剩余带宽不足的情况下应动态调整路由,使链路负载达到平衡。
2.主要思路
a.通过控制s1到s2/s3/s4的优先级,在不同时间片,优先级不同。
b.优先级通过组表实现,优先级有以下三种 s2>s3=s4 / s3>s4=s2 / s4>s2=s3
视频密码:sdn
四、程序分工
1.场景思路设计及方案选定、讲解
2.Python程序代码的编写
3.视频录制
五、课程感想
1.通过这次课程,了解了很多前沿的内容,包括Openflow、mininet、floodlight、opendaylight、ryu控制器、onos控制器、opendaylight控制器,学会了如何使用openflow的北向接口进行应用场景的实现,利用ODL下发组表、流表,实现建议负载均衡,用mininet来通过python脚本来建立拓扑结构,用ovs-ofctl来管理流表项,借助Postman通过ODL的北向接口下发流表,用字符命令生成拓扑并测试连通性,用可视化界面生成拓扑并测试连通性,用Python脚本生成Fat-tree型的拓扑,安装floodlight,生成拓扑并连接控制器floodlight,利用控制器floodlight查看图形拓扑,利用字符界面下发流表,通过测试联通性,来验证openflow的hardtime机制,利用OVS命令下发流表,实现VLAN功能,利用OVS命令查看流表,Wires hark抓包验证,再利用ODL北向接口查看已下发的流表,利用Wireshark验证负载均衡的实现。
2.虽然时间仓促,但是还是在有限的时间内学习到了很多知识。功夫不负有心人,在忙碌的最后一个阶段,认真地完成了课程设计作业。这次的课程设计尚有不足,主要原因还是因为自身能力不足,无法很好的优化代码程序,得到更好的效果。
3.总而言之,学无止境,我还会秉承虚心学习的态度,了解更多与SDN相关的知识,逐渐进入这个领域。