SDN grouping lab assignments - Load Balancing
First, the job description
The division of experimental groups:
Job belongs to which class, group | Software-defined network SDN2019 (Fuzhou University) | Wireshark Packet | |
---|---|---|---|
student ID | Full name | Assignments | Accounting division |
031702115 | Even Zhensheng | Writing code, building topology, etc. | 27% |
031702117 | Tongsheng Tao | Video production, debugging | 27% |
031702118 | SIP Fan | Writing code, building topology, etc. | 26% |
031702143 | Cai Zhiwei (Leader) | Data collection, design, blog writing | 20% |
Packet reports the division of labor:
Job belongs to which class, group | Software-defined network SDN2019 (Fuzhou University) | Wireshark Packet | |
---|---|---|---|
student ID | Full name | Assignments | Accounting division |
031702115 | Even Zhensheng | Data collection, PPT writing | 23% |
031702117 | Tongsheng Tao | Data collection, PPT writing | 22% |
031702118 | SIP Fan | Data collection, PPT writing | 24% |
031702143 | Cai Zhiwei (Leader) | Report to be delivered to, PPT rewrite | 31% |
Job objectives: the use of the knowledge-semester course, choose a topic experiment, experiment design and completion of the course objectives, topology design, research content, complete the experiment - we chose the team load balancing experimental subjects, and select a not particularly complex topology experiments, to validate the experiment.
Experimental mainly as follows:
1.验证拓扑是否搭建正确、ip分配、端口连接、主机交换机的匹配连通等情况。
2.流表、报文的验证与分析等。
3.北向接口开发、负载均衡的实现等、
Code GitHub link:
https://github.com/fwh-g/sdn
Video link:
xxxxxxxxxxxx
References:
(There are specific references in the curriculum)
1.OVS commonly used commands with the use of summary
2.OpenFlow switch and controller interaction step
3. Use Wireshark to crawl and analyze the OpenFlow protocol packets
4.RYU development Getting Started Tutorial
Second, the experimental analysis
principle:
Load balancing is a method to assign tasks to multiple server processes.
Site traffic has been growing, the response speed will be slower and slower. A load balancing is the task assigned to multiple server process method, is multiple servers in a symmetrical manner to form a collection of servers, each server has the equivalent status, can provide services outside alone without the other Assistive technology server. By a load sharing technology, the use of some kind of strategy to achieve load balancing, and methods of implementation, the specific implementation. The request sent from an external uniform distribution to the symmetrical structure of a server, the server receives the request and respond to customer requests independently.
The basic schematic diagram:
purpose:
Load balancing can be evenly distributed client requests to a server array, whereby to provide fast access to important data, to solve a large number of concurrent access to service issues. This clustering technology with a minimum investment to get close to the performance of the mainframe.
可以减少进程的负载、提高容错能力、提高线路的数据处理能力、提高网络的可用性已经灵活性。
实验拓扑:
(通过Ubuntu虚拟机实现)
分析:
如上图,h2,h3,h4三台为服务器,运行着各种服务进程,h1为客户机。本次实验通过这样一个拓扑,来设计一个实现负载均衡的北向程序,并且可以通过各种命令来完成许多要求、查看配置,如下发流表、数据传输。
例如,当三台服务器h2,h3,h4向客户端h1传输数据时,链路可能存在各种各样的情况,可能”空闲”、可能“拥挤”,这时便通过北向程序,根据链路的使用情况,动态地调整路由规则,实现负载均衡,来实现目的——提高网络连通性、数据处理能力等等。比如说,链路带宽若足够,则默认通过s4-s1的传输路径进行数据传送;而当剩余带宽不足的情况下,则应动态调整路由,使链路负载达到平衡。所以在现实应用时,我们应当选择适当、合理的负载均衡算法和实现方法。
方法:
实现SDN的负载均衡的常见方法有好几种,如:HTTP重定向、DNS域名解析、反向代理等......详细的介绍可以参考博客介绍
https://blog.csdn.net/ran_max/article/details/81350955、
https://blog.51cto.com/shhlamp/2054076 等
而本次我们的分组选择了应用均匀派发的方法,均匀派发是实现负载均衡最简单的策略,均衡派发的意思是指任务将均匀地派发到所有的服务器进程。在实现时,可以使用随机派发或者轮流派发。
均匀派发策略假设集群内所有进程具有相同的处理能力,且任务处理用时相同。
但实际上,由于进程部署环境的不同,其处理能力一般不同,任务处理时间也不尽相同。
三、实验演示
演示视频链接:
xxxxxxxxxxxxxxxx
四、工作历程
2019年12月20日 在分组报告后,组员对课题进行了各自的了解。之后进行了进行了小组讨论,对小组的分组实验要完成什么样的任务,如何进行任务分配、大致通过什么样的方法进行实验设计与研究等交流了意见并讨论。在第一次讨论中确认了各人分工、实验方法等。每人去了解网络上的课例,大致理解如何实现。并尝试、开始进行实现。
2019年12月24日 设计开始后,遇到的困难和问题主要是对一些工作不太熟练,如报文分析、一时想不起来某些指令...成员因人而异。并且,分组继续对工作任务的分析、查询知识进行了解。
经历数天,通过网络资源对设计思路的推敲了解与打代码的上手,之后的工作更为顺利,期间陆陆续续地完成内容。,由于前几天的挺多门的考试,所有前面几天的时间并没有很多、很好的花在实验上,所以进度较为慢。
2020年1月1日,大致完成了实验项目,经过团队合作核实之后,开始演示视频的录制。
2020年1月6日,完成实验并检查,并将实验代码上传至GitHub、将视频上传。