基于SDN负载均衡的高校选课系统
2022-08-29黄举何茂忠张晓蒙符广全
黄举,何茂忠,张晓蒙,符广全
(临沂大学,山东 临沂 276000)
0 引 言
当前高校学生通过高校选课系统进行选课,由于选课人数多、选课周期短、争取班级有限的名额等原因使得大量学生在短期内登录选课系统,导致系统卡断、网络堵塞。经调研,这种现象在高校普遍存在。究其根本原因是随着网络用户数量的急剧增加,海量数据在同一时间急需处理,出现应用访问的高峰期现象,系统处理能力受限;在资源需求量大的高峰期,传统网络架构全局性差,实时流量分布不均,导致网络时效性差。SDN 提供了更加灵活控制转发的能力,因此考虑利用SDN 网络架构与负载均衡技术,以提高选课系统稳定性和实时性。
1 SDN 技术综述
1.1 SDN 优势分析
SDN 是一种新型的网络架构,具有开放接口、网络虚拟化、集中式控制三大优势,其主要思想是将网络互连节点上决定报文转发和流量走向的复杂逻辑从交换机或路由器中抽离,将集中式的控制平面和分布式的转发平面相互分离,实现底层网络对上层应用透明化。
SDN 提供开放的可编程接口,网络管理员通过网络编程控制网络流,控制器监听网络中设备的资源状态。在网络状态变化时,控制器以实时资源为基础计算最优策略并下发流表,底层网络设备依照流表信息对数据流进行调整,从而能更好地应对网络突发性流量,实现流量智能转发。
1.2 SDN 构架分析
SDN 体系架构是三层架构,自上至下依次为应用层、控制层、基础设施层。应用层包括各种应用程序如流量监测、接入控制。应用层与控制层之间使用SDN 北向接口协议进行通信,用户可以按照不同需求进行开发。控制层是SDN架构的核心层,是网络逻辑控制平面,通过北向接口接收应用层配置信息,通过南向接口控制数据报文转发。底层基础设施层主要包括物理网络设备,实现数据的传输与转发功能,由支持Openf low 协议的交换机和路由器网络设备组成,如图1所示。
图1 SDN 体系架构
1.3 SDN 在大数据智能传输上的优势
SDN 是一种新型的网络架构,控制与转发分离、直接可编程实现控制。应对大数据传输,与传统网络的分布式控制与管理架构相比,更易实现对上层应用与业务的弹性响应。
首先传统网络是分布式网络,无中心控制节点,无法从整个网络的角度对流量进行调控。SDN 采用全局集中控制和分布高速转发,数据与控制分离在一定程度上降低了网络设备和控制软件的成本,实现高性能的网络转发能力。
其次SDN 具有直接可编程性,为开发者提供一整套编程接口,使开发者能在网络中添加自己新的服务。可编程能力体现在很多的层次上,从下往上依次为芯片可编程、FIB可编程、RIB 可编程、设备OS 可编程、设备配置可编程、控制器可编程和业务可编程。
2 负载均衡技术在选课系统中的应用需求与优势
2.1 高校选课系统对负载均衡的需求调查
在本研究对十余所高校的学生就其读高校集中选课阶段网络拥堵情况进行问卷调查,为避免偶然性,每所高校均收集一定量的学生问卷数据。对问卷结果分析得知,在调查的十余所高校中有高达77%的高校学生在选课时遭遇严重的选课系统网络拥堵,学生网络选课有困难,常常需要错时选课,选课受到网络困扰。
为此进行探索研究,设计开发基于SDN 负载均衡的在线选课系统,从基于SDN 链路负载均衡和基于SDN 应用负载均衡两个角度设计,将大量的并发访问请求分担到多台底层网络设备并行处理。在复杂多变的网络环境下保证网络服务的稳定性和效率,是负载均衡需要解决的一个重要问题。
2.2 负载均衡在选课系统中的功能应用
负载均衡技术用以平衡服务器集群中各服务器和请求应用之间的通信负载,根据实时响应时间进行判断,快速可靠的将海量并发访问数据分担至多台节点服务器上,实现智能通信管理,发挥最佳的服务器群性能,解决选课系统网络拥堵,减少等待时长。
2.3 基于SDN 来部署负载均衡的优势
随着网络数据流量指数增长,传统网络负载均衡对新网络环境变化的感知力不足,无法精确衡量和预判全网络环境负载量,新型网络体系SDN 为负载均衡的改进提供了崭新的方向。OpenFlow 控制器集中控制交换设备,统一配置交换机更易获得全局拓扑,支持负载均衡技术,制定最优策略。
3 基于SDN 负载均衡技术的系统方案
学生首先通过web 服务器登录在线选课系统发出选课请求,然后通过SDN 控制层的OpenFlow 交换机和负载均衡交换机接受请求,通过算法选择最优路径,在服务器集群中选择最佳网络设备处理,访问数据服务器进行选课操作,完成后通过负载均衡交换机将结果反馈给学生客户端。SDN路线设计流程图如图2所示。
图2 SDN 链路负载均衡思路
部分功能代码:
学生登录选课系统,发送选课数据包到OpenFlow 交换机。OpenFlow 交换机由OpenFlow 协议、安全信道和流表三部分组成。流表是OpenFlow 交换机的核心部分,OpenFlow交换机包含一条或多条流表,通过OpenFlow的协议,可添加、更新和删除流表中表项。选课数据包进入交换机与流表中流表项进行匹配。若相关流表项存在,则执行相关命令完成数据转发处理。若不存在相关流表项,则会计算获得K 个备选路径。当K 值大于0 时,OpenFlow 交换机利用评估模型,计算出最有利于全局负载均衡的一条链路,然后将转发策略写入交换机流表中新添加的流表项。若K 值为0,既未能获得备选路径,将会按照基本转发模块的转发策略添加流表项下发流表。如图3所示。
图3 SDN 网络下的服务器集群与负载均衡
选课系统最终的响应能力受制于服务器系统的处理环节,也受制于网络传输环节,突发的流量聚集导致拥塞严重影响了网络响应。系统设计中用服务器集群技术和负载均衡技术来解决服务器处理环节的问题,通过SDN 进行节点流量分布管理解决传输问题,通过多种技术的结合,综合改善和提升系统性能。
3.1 采用服务器集群技术提升系统并发响应能力
服务器集群技术提供故障切换功能,具有较高的可靠性。当服务器集群中某计算机组出现硬盘、内存、电源故障时,其余服务器迅速作出反应,保持正常工作并执行故障计算机组的任务,保障系统可靠稳定的正常运行。利用服务器集群技术可以有效降低计算机组处理数据的压力,保证每个节点都承担一定的处理负载,动态均衡使每台服务器的任务量大大减少,进一步提高了选课系统的负载能力,避免网络拥堵停机,避免网络服务器单点故障产生的问题。
3.2 采用负载均衡技术均衡服务器的处理能力
服务器集群技术可以将高校机房大量普通服务器组合,实现价格昂贵的服务器性能,并通过实时需要动态调节接入集群的服务器数量。集群里的每一台服务器都设置一个最大的可连接数目n,当某服务器目前已连接数目达到n 时,会向负载均衡交换机发送停止接收信息a,交换机接收信息a后,不再将该交换机考虑在路径选择当中。直到该服务器某任务结束,此时连接数目小于允许最大连接数n,发送开始接收信息b,负载均衡交换机接收到信息b 后,再次将该服务器加入路径选择中。
3.3 采用SDN 技术均衡网络流量分布
SDN 网络架构具有智能调控流量走向的功能使其在网络流量的分布中起到均衡的作用。SDN 提供端到端的可见性及控制能力,可使系统智能地将数据路由到最优的网络路径,完成均衡网络流量分布的功能。学生集中选课流量集中剧增时,自动流量管理应对性强,可极大减轻网络管理的工作量。
4 实验建模验证
通过仿真实验模拟实验,深入研究和验证选课系统方案的有效性。
工具平台环境:实验利用Ubuntu 操作系统,安装Mininet和ryu控制器,构成实验仿真平台,搭建SDN网络拓扑。实验器具包含一台远程控制器、两台负责流量分配的交换机和五台主机,其中h1、h2 两台主机作为服务器,另外三台主机模仿选课时的学生客户机对服务器进行访问,如图4所示。
图4 实验拓扑
搭建模拟环境:使用仿真平台mininet 的examples 相关指令启用可视化工具miniedit,通过可视化界面绘制拓扑图,极大提高了操作的方便性、灵活性。
带宽测试。为了观察负载均衡在路径中的实际作用,使用mininet 的iperf h2 h1 等命令观察负载均衡开启前后路径带宽。在开启前两个主机之间的带宽为254Mbits/sec,251Mbits/sec,负载均衡开启后两个主机之间的带宽提为8.75Gbits/sec,8.75Gbits/sec,带宽由254Mbits/sec 提升到了8.75Gbits/sec,通过前后比对可以明显看到带宽的提升。
负载模拟与测试。同样可以在控制器中打开wireshark过滤抓取packet_in 数据包通过查看h3 请求访问应答情况,在模拟访问过程中,当h3 客户机同时发送访问请求时,通过数据抓包发现前后几次请求分别由h1、h2 两台服务器应答,两台交换机的负载量基本均衡,如图5所示。
图5 服务器应答均衡
负载均衡开启前后可以观察到网络路径中的带宽得到明显提升。 经过对方案建模实验,综合实验数据可以得出初步结论,基于SDN 部署负载均衡能够成倍地提高网络中的带宽,增大吞吐量,提升系统响应性能,有效地解决网络拥堵的问题。
5 结 论
基于SDN 部署负载均衡可以有效解决高校选课系统学生集中选课难,网络堵塞卡顿的问题。用基于SDN 的网络架构模式代替传统的网络架构模式进行自动化管理,智能分配数据流,再配以服务集群技术和负载均衡技术,可以极大提高学生选课系统的稳定性和响应运算能力,使其对突发性的海量数据访问和流量具有良好的灵活性、智能性,能够适应拥堵更加严重的网络环境,解决学生选课难题。