期末作业验收

队名:亦可赛艇队

实验场景:


服务器h2 h3上各自有不同的服务,h1是客户端。实现一个负载均衡的北向程序,当h2和h3向h1传输数据时,北向应用根据链路的使用状况动态的调整路由规则。
例如:当h2向h1使用s1-s2链路达到满负荷状态下,h3向h1的传输路径应该动态的调整为s3所在路径,而当h2停止向h1传输数据时,h3应调整回s1-s2路径。


负载均衡

  • 1.目的:当h2向h1使用s1-s2链路达到满负荷状态下,h3向h1的传输路径应该动态的调整为s3所在路径,而当h2停止向h1传输数据时,h3应调整回s1-s2路径。
  • 2.主要思路:让h2发给h1的数据包固定走s2->s1的路径,而h3发到h1的数据包则根据s2的1端口(即输出端口s2直连s1的那条)的流量绑定该端口是否空闲,如果空闲,则和h2的包走一条路,即s2的1端口出;如果不空闲,则和h2的包分开走,从s2的2端口出。
  • 3.个人负责部分:我主要负责设计各个路由器的流表并辅助队友
  • 4.实现方法:流表的设置主要是通过控制s2到s1/s3的优先级,当s2-s1(即s2-eth1口)满载时,设置s2-s3(即s2-eth2口)优先级大于s2-s1(即s2-eth1口)的优先级,让h3的包通过s2-s3-s1发送给h1;否则s2-s3(即s2-eth2口)优先级小于于s2-s1(即s2-eth1口)的优先级,让h3的包通过s2-s1发送给h1。h2始终通过s2-s1发送给s1。

Python代码文档:点此进入GitHub

操作视频:点此进入


实验总结:

  • 通过负载均衡实验,通过mininet、ODL控制器等工具和流量监控和Python代码等手段实现负载均衡,我们可以看到结果:速度从原来的200MB/s提升到8GB/s,足以显示负载均衡的重要性和对网络的优化的意义。
  • 通过本次实验,让我重新认识了sdn,了解了sdn相对于传统网络的优越性,sdn通过它的核心技术OpenFlow将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
  • 负载均衡技术不管应用于用户访问服务器资源,还是应用于多链路出口,均大大提高了对资源的高效利用,显著降低了用户的网络布署成本,提升了用户的网络使用体验。随着云计算的发展,负载均衡的技术实现还将与云计算相结合,在虚拟化和NFV软件定义网关等方面持续发展。

sdn课程学习收获

  • 通过本学期对sdn的课程学习,刷新了我对网络的认知,了解了软件定义网络的定义和作用还有其与传统网络的区别和sdn相对于传统网络的优越性和不足之处。通过几个实验和阅读作业,拓宽了我的眼界,明白了学习和研究sdn的必要性和重要性,对以后的网络发展所带来的冲击一定是惊人的。通过sdn的课程学习,我学会了用mininet来创造拓扑,学会了流表的下发、设计和查看,学会了postman的使用,学会了用ODL控制器查看拓扑,下发流表,获取流表,并用uri接口获取端口数据;学会了linux的安装和一些简单基本操作等等。还有最后的负载均衡大作业让我收获了良多,看到了sdn的优越性,速度的提高冲击了我的认知,让我对sdn的兴趣更加浓厚。当然,学习过程中也遇到了许多困难和问题,比如一些简单命令不能记得,只能每次打开ppt查看;一些实验步骤不够流畅;对一些工具和软件的使用不够熟练等等;这些说明我的理论知识还不够完善,亟待提高,虽然课程暂时告一段落了,但是还需要进一步学习和提高。

posted @ 2018-01-25 21:11  霸气发哥  阅读(279)  评论(0编辑  收藏  举报