2019 SDN大作业

2019 SDN大作业

组长博客

1.代码及视频地址

github代码
演示视频bilibili

2.小组成员及贡献比例:

姓名 学号 分工 贡献
贾懿 081700414 视频剪辑与场景搭建 20%
林郁昊 081700209 博客撰写与场景搭建 20%
郑木平 111700233 场景搭建与代码实现 20%
黄宇航 031701129 场景搭建与演示视频录制 20%
宋娟 181700134 场景搭建与代码实现 20%

3.实验场景:

  • 拓扑结构如下:

  • 场景说明:
    h1是数据接受方,h2,h3,h4为数据发送方。
    当主机h2,h3,h4向h1传输数据时,北向应用根据链路的使用状况动态的调整路由规则。
    s1-s4链路带宽充足情况下,若数据发送方向h1发送数据,应默认最快的s4-s1路径,当剩余带宽不足的情况下应动态调整路由,利用s4-s2-s1路径和s4-s3-s1路径平衡链路中的流量。

4.实现思路:

  • 默认流表选择最快的s4-s1路径
  • 为链路设定一个阈值
  • 用一个循环结构不断测试链路状态,若检测到链路流量过大超过设定的阈值,那么改变交换机的流表,使得s4-s2-s1路径和s4-s3-s1路径被利用来分担流量负担

5.实验步骤:

  • 创建实验拓扑

  • 测试主机之间的连通性

  • 运行py脚本

    • 初始状态


    初始状态s4-s1为空闲状态,默认数据从此传输

    • 用iperf命令测试带宽



    iperf命令后链路中有数据传输,当达到阈值时更换流表,启用其它链路

    • s4流表:

6.实验总结及课程心得:

课程当初是为了(仅有的创新)学分报的。
因为当初计算机网络没有好好学,网络类型的课程对于我来说一般是最后一个选项,害怕它的难度让我无从下手。
当然,确实无从下手了。但是很明显,sdn和之前传统的计算机网络差别比较大,所以在知识断层的情况下,还是可以勉勉强强看着步骤进行学习。
SDN对于大家来说都是全新的邻域,之前甚至对Linux都接触甚少的我,这个学期接触了各式各样的新事物,像ODL,POSTMAN,P4……是一个完全新颖的体验。
当然,也在上机课的时候经常麻烦助教和老师,非常感谢学长们和老师的帮助!
本次实验的过程算比较坎坷的……对负载均衡的实现,从网络上了解了各种各样的思路,
但是那些复杂一点的实现起来还是挺棘手的……最后和队友们讨论决定了这个方法,从PPT对流表的下发有了进一步认识,也非常感谢队友们的照顾。
总之,SDN这门课真的是一门能学习到各种新知识的非常实用的课,虽然过程非常勉强,但是仍然收获满满。

原文地址:https://www.cnblogs.com/wawu/p/12155678.html