2019SDN大作业(胡乱定义网络队)

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相对于传统网络的优越性,sdn通过它的核心技术OpenFlow将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
      负载均衡技术不管应用于用户访问服务器资源,还是应用于多链路出口,均大大提高了对资源的高效利用,显著降低了用户的网络布署成本,提升了用户的网络使用体验。随着云计算的发展,负载均衡的技术实现还将与云计算相结合,在虚拟化和NFV软件定义网关等方面持续发展。
    • 心得:
      通过本学期软件定义网络这门课程的学习,让我收获了许多。在还没接触这门课程之前,我对网络方面的知识很陌生,,后面通过老师上课的讲解以及课上的实验操作,让我慢慢了解了SDN的相关知识,从搭建一个网络拓扑到下发流表,以及最后的期末作业实现负载均衡,让我学到了很多。但同时实验中也遇到了很多困难,这门课程结束了,但这门课程给我带来了很多,最多也许是软件包等等的下载与安装(笑),总之,希望感谢这学期老师们的教导,也感谢组员们对我的帮助,希望接下来我也能再接再厉。
  • 宋娟

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

    • 总结
      这次试验受益匪浅,原本庞大复杂的课题逐步上手,渐进学习后也勉强可以完成了。这个过程中对这学期学习的内容是一个复习也是一个总结,在这个回顾的过程中学到了很多新的东西,正所谓温故知新。
      坦言SDN不是一科容易入门的课程,或者说很多实验做着都很抽象,但是在这个上手复杂课题的过程中,学到了一些学习的方法,这些东西我认为是弥足珍贵的,因为sdn只是一种技术,它可能会被淘汰,但是这种去微笑面对极度抽象可怕的问题的能力,将会永存。
      当然对SDN的学习中也提升了自己对于网络的认识,也开拓了自己对网络包括很多知识的想象力,总而言之除了几次漏交作业外,这门课收获还是蛮大的。
  • 郑木平

    • 总结
      本次实验,学会了如何自己设计负载均衡策略,通过Python的httplib2模块连接odl下发流表。进一步学习了流表的下发过程,如何设计相应的流表。
  • 黄宇航

    • 总结
      在这次课程学习中最大的收获是学会运用虚拟机的部分终端指令,Mininet,Floodlight,ODL,Wireshark等软件的基本用法和用途,以及负载均衡的原理及实现。虽然大部分时间都在安装环境配置,但是解决问题后的喜悦还是不言而喻的,上了这门课程之后,使得我对SDN网络有了更进一步的理解,通过解耦使控制面板和转发面的分离,同时程序能够很好的控制网络各项功能,这是在传统网络上无法做到的。并且学会了一些简单的odl控制器下发流表,从而实现负载均衡的思路。相信对以后的网络学习会很有帮助。
posted @ 2020-01-06 21:57  方道友  阅读(494)  评论(0编辑  收藏  举报