基于软件定义网络的链路负载均衡方法技术

技术编号:32127241 阅读:26 留言:0更新日期:2022-01-29 19:18
本发明专利技术提供了一种基于软件定义网络的链路负载均衡方法,包括以下方法:S1、通过Ryu控制器下发LLDP报文来获取网络链路信息,利用获取到的网络链路信息,生成网络拓扑图;S2、网络感知应用使用Networkx的有向图数据结构存储拓扑信息,并使用Networkx提供的shortest_simple_paths函数在拓扑信息的基础上计算出最短路径。本发明专利技术有益效果:基于软件定义网络的链路负载均衡方法基于SDN对网络架构的全局查看能力,控制器对传输过程中的节点进行实时更新并计算,选出最优路径并进行数据传输。通过Mininet工具进行模拟,利用Networkx实现最短路径转发,结果表明SDN

【技术实现步骤摘要】
基于软件定义网络的链路负载均衡方法


[0001]本专利技术属于互联网领域,尤其是涉及一种基于软件定义网络的链路负载均衡方法。

技术介绍

[0002]随着互联网规模的迅速扩大,愈来愈多的数据都集中在数据中心进行处理,当数据相对集中进行传输时,会使网络流量瞬间巨幅增加,造成链路拥堵甚至网络瘫痪。这样会使数据中心服务性能下降,影响业务的日常运行。

技术实现思路

[0003]有鉴于此,本专利技术旨在提出一种基于软件定义网络的链路负载均衡方法,针对传统路径路由方法在复杂网络中出现的负载不均衡,传输速率慢等问题,提出一种基于软件定义网络的跳数负载均衡测试,在大业务量请求情况下,对负载均衡路径进行选择并分析建模。
[0004]为达到上述目的,本专利技术的技术方案是这样实现的:
[0005]基于软件定义网络的链路负载均衡方法,包括以下方法:
[0006]S1、通过Ryu控制器下发LLDP报文来获取网络链路信息,利用获取到的网络链路信息,生成网络拓扑图;
[0007]S2、网络感知应用使用Networkx的有向图数据结构存储拓扑信息,并使用Networkx提供的shortest_simple_paths函数在拓扑信息的基础上计算出最短路径。
[0008]进一步的,Ryu控制器构造PacketOut消息会周期性地向邻居设备发送LLDP报文,如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备;
[0009]当LLDP报文被送回到控制器时,触发EventOFPPacketIn事件,对应的处理函数会解析LLDP报文,得到设备之间的连接信息;
[0010]随后将得到的链路的信息作为边写入图中,接着获取链路拓扑并构建有向图,然后根据源和目的得到下一跳的输出端口创建拓扑图的对象,利用networkx存储网络拓扑,在存储拓扑信息后,在packet_in_handler中处理源到目的的转发指令,下发流表等操作。
[0011]进一步的,为了防止本地信息的频繁变化而引起LLDP报文的大量发送,每发送一个LLDP报文后都需延迟一段时间后再继续发送下一个报文。
[0012]进一步的,通过对源到目的的最短路径计算出每一跳的转发端口,根据端口下发转发指令。
[0013]基于软件定义网络的链路负载均衡的实验仿真方法,选用Ryu作为全局控制器,使用OpenVSwitch作为SDN交换机,选用Mininet作为SDN架构测试平台;
[0014]使用Mininet可视化工具创建tree拓扑,设置depth=3,fanout=3,拓扑中包含1个Ryu控制器,12个OpenvSwitch交换机和27个host;
[0015]使用python编写脚本,选出最短路径,实现链路负载均衡;
[0016]打开终端,输入命令ryu

manager tiaoshu.py
‑‑
observe

links,运行负载均衡脚本,登录Ryu控制器,输入命令./topo.py,启动拓扑;
[0017]运行脚本,对所有主机之间进行最短路径求解,并进行互ping,验证最短路径求解的准确性。
[0018]第二方面本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行基于软件定义网络的链路负载均衡方法。
[0019]第三方面本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行基于软件定义网络的链路负载均衡方法。
[0020]第四方面本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现基于软件定义网络的链路负载均衡方法。
[0021]相对于现有技术,本专利技术所述的基于软件定义网络的链路负载均衡方法具有以下有益效果:
[0022]本专利技术所述的基于软件定义网络的链路负载均衡方法基于SDN对网络架构的全局查看能力,控制器对传输过程中的节点进行实时更新并计算,选出最优路径并进行数据传输。通过Mininet工具进行模拟,利用Networkx实现最短路径转发,结果表明SDN

HLLB可提高数据传输速率,实现网络链路负载均衡,满足用户在复杂环境中对传输速率要求。
附图说明
[0023]构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0024]图1为本专利技术实施例所述的SDN网络体系结构示意图;
[0025]图2为本专利技术实施例所述的基于跳数的负载均衡策略的实现流程图示意图;
[0026]图3为本专利技术实施例所述的基于跳数的负载均衡策略示意图;
[0027]图4为本专利技术实施例所述的基于跳数的负载均衡策略测试拓扑示意图;
[0028]图5为本专利技术实施例所述的基于软件定义网络的链路负载均衡方法运行步骤示意图。
具体实施方式
[0029]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0030]下面将参考附图并结合实施例来详细说明本专利技术。
[0031]随着互联网规模的迅速扩大,愈来愈多的数据都集中在数据中心进行处理,当数据相对集中进行传输时,会使网络流量瞬间巨幅增加,造成链路拥堵甚至网络瘫痪。这样会使数据中心服务性能下降,影响业务的日常运行。
[0032]近年来,在SDN环境下对链路负载均衡的研究有很多。比如,文献提出K

Dijkstra算法,利用控制器对网络状况进行全局评估,再结合K

Dijkstra算法求解出最短路径;文献
改进动态均衡算法,考虑到调度对流丢包率的影响,兼顾流QoS的需求,优先选择丢包率影响较小的流,达到负载均衡效果;文献将多地址流表定向对请求进行分区映射,并且设置活动连接数为负载评估参数,通过蚁群算法求解最佳负载重定向方案;文献提出自适应数据包传输,为每个流提供网络结构的对称视图,那么数据包扩散可以产生接近最优的性能。文献利用改进的蚁群算法,把网络传输路径上流量负载模拟为
[0033]蚁群算法中选择路径的关键因子,目的是使数据流均匀快速通过选择路径,减少堵塞。
[0034]本文针对传统路径路由方法在复杂网络中出现的负载不均衡,传输速率慢等问题,提出一种基于软件定义网络(Software Defined Network,SDN)的跳数负载均衡测试(SDN Hop Link Load Balancing,SDN

HLLB),在大业务量请求情况下,对负载均衡路径进行选择并分析建模。
[0035]1 SDN介绍
[0036]1.1 SDN定义
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于软件定义网络的链路负载均衡方法,其特征在于,包括以下方法:S1、通过Ryu控制器下发LLDP报文来获取网络链路信息,利用获取到的网络链路信息,生成网络拓扑图;S2、网络感知应用使用Networkx的有向图数据结构存储拓扑信息,并使用Networkx提供的shortest_simple_paths函数在拓扑信息的基础上计算出最短路径。2.根据权利要求1所述的基于软件定义网络的链路负载均衡方法,其特征在于:Ryu控制器构造PacketOut消息会周期性地向邻居设备发送LLDP报文,如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备;当LLDP报文被送回到控制器时,触发EventOFPPacketIn事件,对应的处理函数会解析LLDP报文,得到设备之间的连接信息;随后将得到的链路的信息作为边写入图中,接着获取链路拓扑并构建有向图,然后根据源和目的得到下一跳的输出端口创建拓扑图的对象,利用networkx存储网络拓扑,在存储拓扑信息后,在packet_in_handler中处理源到目的的转发指令,下发流表等操作。3.根据权利要求2所述的基于软件定义网络的链路负载均衡方法,其特征在于:为了防止本地信息的频繁变化而引起LLDP报文的大量发送,每发送一个LLDP报文后都需延迟一段时间后再继续发送下一个报文。4.根据权利要求2所述的基于软件定义网络的链路负载均衡方法,其特征在于:通过对源到目的的最短路径计算出每一跳的转发端口,根据端口下发转发指令。5.根据权利要求1

4任一所述的基于软件定义网络的链路负载...

【专利技术属性】
技术研发人员:苗笛杨俊杰周炳晟纪胜寒王优祎康
申请(专利权)人:天津职业技术师范大学中国职业培训指导教师进修中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1