南宫28干货:一种根据SDN的服务器负载均衡计划日期:2021-07-04 11:28:46 浏览次数:39 分类:负载均衡 来源:南宫28登录入口 作者:ng28南宫娱乐官网 |
||
网络现已成为许多商业的支撑脊柱,宦官网络中每天都有新的设备参加,致使网络规划巨大化。很多的网络设备不只意味着需求投入更多的资源,且使网络结构越加复杂化,办理难度增大且易错。为了防止网络办理过错的产生,一种新式的网络架构呈现,即软件界说网络(Software Defined Networking,SDN)[1]。SDN技术旨在完结操控层与数据层面的别离,而操控层是物理上会集的一系列操控器。这些操控器经过开发一系列运用能够检测和办理网络行为,完结网络可编程化。SDN能够完结各种传统物理网络的功用,如负载均衡。软件界说网络中的操控器经过改动数据平面交流机的流表项来调整受影响的流到冗余途径上传输,然后防止网络资源被过度占用[2]。
在云场景中,LBaaS(Load Balancing as a Service,负载均衡即服务)是Openstack[3]云核算渠道现已投入研讨的负载均衡处理计划。可是,它搭载的Openstack项目——网络和地址办理(Neutron)仅能完结指定方针的网络拜访。在大型云运用场景中,LBaaS并不能支撑起负载均衡事务。所以,Openstack中将SDN作为Neutron模块的一个插件开展网络事务处理LBaaS的限制,如NFV(Network Function Virtualization,网络功用虚拟化)。Window根据云渠道的操作系统Azure中的云规划负载均衡计划(Ananta)[4],也借鉴于SDN的操控层面和数据平面别离的架构,完结了云规划下可扩展的根据软件的四层地址转化负载均衡服务。它的操控部分不能检测网络中巨细负载的流量,将数据部分规划规划得很大,本钱相应也增大。比较于前两者,SDN具有独立的操控器来自主办理网络,可支撑编程完结指定事务;不似Anata,SDN将操控层面和数据平面别离以不同的软件运转,并以网络接口衔接,内部程序互不搅扰。现在,关于SDN环境中的负载均衡以算法研讨为主,计划布置研讨甚少。在以SDN架构为主的Google的B4[5]网络中,也没有适宜的负载均衡计划。
SDN的开源操控器有NOX、Opendaylight、RYU和Floodlight等[6]。Floodlight集成了SDN的操控层与部分运用层,内部的南向接口经过Restful API完结。比起NOX、POX以及Maestro几款SDN操控器,Floodlight具有更好的功能,支撑各个运用模块,一起处理Openflow音讯[7]。本文提出的负载均衡计划作为一个运用模块,运转在Floodlight操控器程序结构中,可一起扩展服务器负载均衡算法与途径挑选的负载均衡计划。试验环境根据Mininet[8]仿真,每个节点默许的装备相同,服务器群的均衡战略选用轮询算法,途径则挑选最短途径。模块中增加多个网络检测参数,使得此计划可扩展性强。
本文将负载均衡计划布置为一个封装的运用模块(Loadbalancer),并整合在Floodlight的程序结构中。依照此次的试验环境,负载均衡计划架构显现如图1所示。Floodlight用Restful API完结南向接口衔接操控器模块与运用模块,网络长途衔接完结其北向接口至Mininet软件仿真的网络,检测网络数据并下发流表到各Openflow交流机。Loaderbalancer作为整合在其间的一项运用,参加流表的拟定。交流机依照流表进行数据传输,即完结了负载均衡服务。
负载均衡的服务进程中包含了剖析Packet_In音讯、负载均衡决议计划、途径挑选以及流表下发。图2为整个负载均衡服务的通讯流程。
②交流机检测到其流表中不存在与此Request packet相匹配的流表,即发送Packet_In包向操控器恳求决议计划,此处dstIp=VIPIp;
第一次通讯流程完毕后,Openswitch将流表进行存储,之后需求相同途径的衔接直接经过交流机转发。
在SDN环境中,虚拟服务器都有相同的装备,轮询调度算法能够节省负载战略耗费的时刻。在Floodlight操控器中,负载均衡战略选用轮询调度算法能够为其他模块供给核算空间。轮询调度算法将每一次来自网络的恳求都能够轮番分配给内部中的服务器,从1到 ,然后从头循环。它每次调度履行 ,并选出第 台服务器。
本计划的试验操作系统选用的是Ubuntu。SDN数据平面由虚拟机中的Mininet建立,运转在主机中的Floodlight作为操控器与负载均衡器。Floodlight支撑网络可视化,经过拜访其端口页面能够发现网络拓扑、网络衔接、交流机流表、交流机以及主机信息。
在Ubuntu的主机终端,经过API敞开Floodlight的负载均衡服务。此次试验别离创建了2个VIP完结ICMP与TCP负载均衡服务.图3、图4别离是参数装备和回来的数据。
图5是本次试验的拓扑结构图。因为本文的负载均衡计划是面向衔接的,UDP协议数据传输完后不需求断开衔接。流表转发方法与ICMP相似,所以本文中不再进行UDP协议的测验。试验中,首要经过在Mininet中别离运用h1~h5、he1~he6建议4次对VIP1的恳求,模仿ICMP恳求的网络拜访状况;其次建议Wget拜访VIP2,模仿TCP协议负载均衡状况;最终为了验证本文是面向衔接的,运用同一台主机屡次对VIP2进行Wget拜访。
整个用户网络向ICMP服务器共建议了10起拜访,每起4次,并被轮询分配到不同服务器下。图7为经过wireshark在某一主机端的抓包剖析。可见,它的数据包的意图地址现已被转化为VIP1的地址。
经过负载均衡服务找到途径并下发流表后,交流时机主动记载流表,下次收到相同恳求包时会主动依照流表下发。图8经过操控器的显现页面查询Open-Switch3中记载的流表,从中亦能够剖分出本文提出的负载均衡计划完结了面向衔接的服务器均衡。为了再次验证,本文持续选用TCP协议进行试验。
图9是运用10台主机对VIP2建议Wget拜访的成果,图10则是运用同一台主机对VIP2建议10次Wget拜访。理论上,因为TCP协议是无状况的衔接,每次协议完结后会主动断开衔接。而本文的均衡计划是面向衔接,所以两次拜访的成果相同。试验成果显现与理论共同,证明本文的负载均衡计划适合于面向衔接的负载均衡。从图11的Open-Switch3的流表能够得出,同一主机屡次拜访VIP2时,数据包轮换经过不同端口,证明了拜访进程由不同的服务器轮换进行呼应。
与ICMP协议均衡不同的是,针对TCP协议,此计划保存在交流机内的流表是不可用的。TCP协议着重于其可靠性,数据传输完毕后会封闭衔接,因而待到下一次衔接时,交流机收到的包数据与存在流表记载中的数据不同。此刻,交流需求再次向Floodlight提取解析意图地址的恳求,由Loadbalancer从头决议计划挑选意图服务器,并决议其传输途径。
比较于传统网络,SDN能够更好地统筹网络,并操控网络中的流量转发。本文使用SDN的大局网络视图,提出了一个扩展性极高、灵活性强的根据Floodlight操控器的负载均衡计划。运用Floodlight的Rest API设置负载均衡参数进行试验,并经过Wireshak抓包验证了其在服务器间的均衡成果杰出,能够处理网络的拥塞问题,进步网络的服务技术。SDN操控器的可移植性高,网络事务开展前景巨大。网络操控权的会集不只使负载均衡服务本钱下降、易完结,且网络中其他节点不用再进行负载核算,耗费减小。
(1)Monitor会一向以为Pool中的一切负载均衡成员都处于活泼状况,即都能够处理网络恳求,一切的成员会一向呈现在VIP的分发列表中,即便成员对应的主机不能呼应网络恳求,这在实践运用中会形成负载均衡的呼应反常;
暗箭寻找到更优异的负载均衡算法,是处理本文缺乏的要害。现在,不少研讨者根据SDN负载均衡算法进行了研讨。文献[9]提出一种能够优化负载均衡问题的粒子群化算法,以链路的带宽运用率最接近为负载均衡决议计划下发到Openflow交流机的原则;文献[10]根据马尔科夫链算法选出最优负载均衡的途径;文献[11]则提取传输途径的特性,练习BP神经网络猜测归纳负载并挑选最小负载的途径。比较很多的负载均衡算法,恰当扩展到本文提出的负载均衡计划中,需求做更进一步的研讨。
南宫28