CN107592272B - 一种基于源ip地址进行负载均衡的方法及装置 - Google Patents

一种基于源ip地址进行负载均衡的方法及装置 Download PDF

Info

Publication number
CN107592272B
CN107592272B CN201710967738.9A CN201710967738A CN107592272B CN 107592272 B CN107592272 B CN 107592272B CN 201710967738 A CN201710967738 A CN 201710967738A CN 107592272 B CN107592272 B CN 107592272B
Authority
CN
China
Prior art keywords
load balancing
address
routing table
source
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710967738.9A
Other languages
English (en)
Other versions
CN107592272A (zh
Inventor
方沛昱
单哲
杨曙军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Centec Communications Co Ltd
Original Assignee
Centec Networks Suzhou Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201710967738.9A priority Critical patent/CN107592272B/zh
Publication of CN107592272A publication Critical patent/CN107592272A/zh
Application granted granted Critical
Publication of CN107592272B publication Critical patent/CN107592272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明揭示了一种基于源IP地址进行负载均衡的方法及装置,所述方法包括:用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与源ip地址对应的负载均衡因子;根据负载均衡因子选择相应的用于转发报文的成员出口。本发明方案实现简单,且利用现有网络设备的路由表的最长掩码匹配算法,实现对负载均衡的规划和动态调整,且不需要非常复杂的硬件设计和大量的内存。

Description

一种基于源IP地址进行负载均衡的方法及装置
技术领域
本发明涉及一种负载均衡技术,尤其是涉及一种基于源IP地址进行负载均衡的方法及装置。
背景技术
负载均衡在网络规划中是很重要的一种应用,可以同时达到扩展带宽和链路保护的目的。目前常用的负载均衡手段主要有下述两种方案,方案1,基于接收报文的固定字段做hash(哈希)算法,然后根据hash值和负载均衡组的成员数来选择最终的出口。方案2,基于当前负载均衡组的成员的负载状态,选择最轻的链路,以达到对带宽的充分利用。
但是上述两种方案都存在一定的缺陷:方案1基于固定字段,并且Hash算法一般是CRC(循环冗余检验)或者异或算法,因此无法对负载均衡的状态做规划,最终的实际负载均衡的效果可能会不理想。方案2对于带宽的利用比较合理,每一个新流都可以选择当前最轻的链路。但是该方案的实现比较复杂,并且需要记录大量的流的状态,消耗较多的内存;同时,路径的选择完全基于当前负载,无法做预先的规划。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于源IP地址进行负载均衡的方法及装置,利用网络设备自身已有的路由表对负载均衡进行预先的规划和动态调整。
为实现上述目的,本发明提出如下技术方案:一种基于源IP地址进行负载均衡的方法,包括:
S1,用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与所述源ip地址对应的负载均衡因子;
S2,根据所述负载均衡因子选择相应的用于转发报文的成员出口。
优选地,所述S2包括:直接选择与所述负载均衡因子的值相对应的成员出口,或者用所述负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。
优选地,所述方法还包括:根据路由表内路由条目的状态对相应的负载均衡因子进行规划。
优选地,所述根据路由表内路由条目的状态对相应的负载均衡因子进行规划包括:
根据用报文的源ip地址查找到的路由条目的状态判断报文流量的大小;
根据判断结果配置路由表中与源ip地址对应的负载均衡因子。
优选地,所述方法还包括:根据路由表的变化动态对负载均衡因子进行调整。
本发明还提出了另外一种方案:一种基于源IP地址进行负载均衡的装置,包括:负载均衡器,所述负载均衡器包括一张路由表、报文查找模块、出口选择模块,及具有一个负载均衡组,
所述路由表中配置有多个路由条目,每个路由条目中配置有负载均衡因子;
所述负载均衡组具有多个成员出口;
所述报文查找模块对于进入负载均衡器的报文用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与所述源ip地址对应的负载均衡因子;
所述出口选择模块根据所述报文查找模块查找得到的负载均衡因子选择相应的用于转发报文的成员出口。
优选地,所述出口选择模块直接选择与所述负载均衡因子的值相对应的成员出口,或者用所述负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。
优选地,所述装置还包括:负载均衡因子规划模块,用于根据路由表内路由条目的状态对相应的负载均衡因子进行规划。
优选地,所述负载均衡因子规划模块包括:
流量判断模块,用于根据用报文的源ip地址查找到的路由条目的状态判断报文流量的大小;
负载均衡因子配置模块,用于根据流量判断模块的判断结果配置路由表中与源ip地址对应的负载均衡因子。
优选地,所述负载均衡器为三层交换机或路由器。
本发明利用现有网络设备的路由表,使用报文源IP地址对路由表进行最长掩码匹配查找,以获得负载均衡因子,最终由这个负载均衡因子来选择负载均衡组的成员出口,即可实现对负载均衡的规划和动态调整,而不需要非常复杂的硬件设计和大量的内存。
附图说明
图1是本发明方法的流程示意图;
图2、图3是本发明装置的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种基于源IP地址进行负载均衡的方法及装置,使用网络设备自身路由表的最长掩码匹配算法,基于报文源IP地址进行负载均衡。
如图1所示,本发明所揭示的一种基于源IP地址进行负载均衡的方法包括:
S1,用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与源ip地址对应的负载均衡因子。
具体地,结合图2和图3所示,报文进入网络设备,网络设备本身会维护一张路由表,该路由表中具有多项路由条目,每项路由条目中配置有报文目的出口和负载均衡因子。该网络设备还有一个负载均衡组,如表示为负载均衡组G,这个负载均衡组G有多个成员端口。
当报文进入网络设备的入口后,首先用报文的目的ip地址查找路由表,得到报文需从负载均衡组G出去。但是得不到具体从负载均衡组G的哪个成员端口出去。
此时,采用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与源ip地址对应的负载均衡因子,如表示为负载均衡因子L,由该负载均衡因子L从负载均衡组G中选择真正的成员端口。
需要解释说明的是,最长掩码匹配是指在IP协议中,被路由器用于在路由表中进行选择的一个算法。因为路由表中的每个表项都指定了一个网络,所以一个目的地址可能与多个表项匹配。最明确的一个表项,即子网掩码最长的一个就叫做最长掩码匹配。
S2,根据负载均衡因子选择相应的用于转发报文的成员出口。
具体地,在上述步骤S1得到当前源ip地址对应的负载均衡因子后,有两种方法可以来从负载均衡组中选择报文转发真正的成员端口。
一种方法是,直接选择与负载均衡因子的值相对应的成员出口,如负载均衡因子的值为1,则选择负载均衡组中的成员端口1;负载均衡因子的值为2,则选择负载均衡组中的成员端口2,依此类推。
另一种方法是,用负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。如负载均衡因子的值为5,负载均衡组中的成员端口数为4,则负载均衡因子5对成员出口的个数取模的数值为1,即选择负载均衡组中的成员端口1。
另外,优选地,本发明最终的链路选择(即负载均衡因子)可以根据路由表的状态进行预先规划。具体地,在IP网络中,路由表是最长掩码匹配的算法,可以体现一个网络节点潜在的负载状态。比如说,源IP地址查到了32位掩码的路由条目,那表示当前这个报文来源于一个终端,其流量不会太高。如果源IP地址查到了16位掩码的路由条目,那表示当前这个报文来源于某个网段,一个网段肯定聚合了大量的终端,潜在的流量会比较大。
根据上述判断的报文流量大小,规划路由表中与源ip地址对应的负载均衡因子。如对于流量大的报文规划负载均衡因子对应带宽较宽的成员出口;对于流量小的报文规划负载均衡因子对应带宽窄的成员出口。从而实现在学到路由表之后,可以根据路由表的状态对负载均衡因子进行规划。
另外,本发明也可以根据路由表的变化动态对负载均衡因子进行调整,以期适应当前的网络状态。因为,一般路由变化之后,相对来说,其对应的业务也发生了变化,这时候可以根据实际变化的情况,对报文做负载均衡因子进行调整,以适应变化了的路由。
结合图2和图3所示,本发明还揭示了一种基于源IP地址进行负载均衡的装置,其包括:负载均衡器,该负载均衡器包括一张路由表、报文查找模块、出口选择模块,及具有一个负载均衡组G,路由表中具有多项路由条目,每项路由条目中配置有报文目的出口和负载均衡因子L;负载均衡组G具有多个成员出口,如具有4个成员出口A/B/C/D。
报文查找模块对于进入负载均衡器的报文用报文的源ip地址查找路由表,从路由表中得到与源ip地址对应的负载均衡因子L。具体查找过程可参照上述步骤S1中的描述。
出口选择模块根据报文查找模块查找得到的负载均衡因子L选择相应的用于转发报文的成员出口。具体地,出口选择模块可以直接选择与负载均衡因子的值相对应的成员出口,或者可以用负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。具体选择过程可参照上述步骤S2中的描述。
优选地,本发明装置还包括:负载均衡因子规划模块,用于根据路由表内路由条目的状态对相应的负载均衡因子进行预先规划。具体地,负载均衡因子规划模块包括流量判断模块和负载均衡因子配置模块,其中,流量判断模块用于根据用报文的源ip地址查找到的路由条目的状态判断报文流量的大小;负载均衡因子配置模块,用于根据流量判断模块的判断结果配置路由表中与源ip地址对应的负载均衡因子。
本实施例中,负载均衡器为三层交换机或路由器。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (6)

1.一种基于源IP地址进行负载均衡的方法,其特征在于,包括:
S1,用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与所述源ip地址对应的负载均衡因子;
S2,根据所述负载均衡因子选择相应的用于转发报文的成员出口;
所述方法还包括:根据路由表内路由条目的状态对相应的负载均衡因子进行规划,所述根据路由表内路由条目的状态对相应的负载均衡因子进行规划包括:
根据用报文的源ip地址查找到的路由条目的状态判断报文流量的大小;
根据判断结果配置路由表中与源ip地址对应的负载均衡因子。
2.根据权利要求1所述的方法,其特征在于,所述S2包括:直接选择与所述负载均衡因子的值相对应的成员出口,或者用所述负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。
3.根据权利要求1所述的方法,其特征在于,所述S1中,用报文的源ip地址查找路由表的同时,采用报文的目的ip地址查找路由表,得到报文转发的负载均衡组。
4.一种基于源IP地址进行负载均衡的装置,其特征在于,包括:负载均衡器,所述负载均衡器包括一张路由表、报文查找模块、出口选择模块,及具有一个负载均衡组,
所述路由表中配置有多个路由条目,每个路由条目中配置有负载均衡因子;
所述负载均衡组具有多个成员出口;
所述报文查找模块对于进入负载均衡器的报文用报文的源ip地址在路由表中做最长掩码匹配的查找,从路由表中得到与所述源ip地址对应的负载均衡因子;
所述出口选择模块根据所述报文查找模块查找得到的负载均衡因子选择相应的用于转发报文的成员出口;
所述装置还包括:负载均衡因子规划模块,用于根据路由表内路由条目的状态对相应的负载均衡因子进行规划;
所述负载均衡因子规划模块包括:
流量判断模块,用于根据用报文的源ip地址查找到的路由条目的状态判断报文流量的大小;
负载均衡因子配置模块,用于根据流量判断模块的判断结果配置路由表中与源ip地址对应的负载均衡因子。
5.根据权利要求4所述的装置,其特征在于,所述出口选择模块直接选择与所述负载均衡因子的值相对应的成员出口,或者用所述负载均衡因子对成员出口的个数进行取模,根据取模得到的结果选择相应的成员出口。
6.根据权利要求4所述的装置,其特征在于,所述负载均衡器为三层交换机或路由器。
CN201710967738.9A 2017-10-17 2017-10-17 一种基于源ip地址进行负载均衡的方法及装置 Active CN107592272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710967738.9A CN107592272B (zh) 2017-10-17 2017-10-17 一种基于源ip地址进行负载均衡的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710967738.9A CN107592272B (zh) 2017-10-17 2017-10-17 一种基于源ip地址进行负载均衡的方法及装置

Publications (2)

Publication Number Publication Date
CN107592272A CN107592272A (zh) 2018-01-16
CN107592272B true CN107592272B (zh) 2020-10-27

Family

ID=61053211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710967738.9A Active CN107592272B (zh) 2017-10-17 2017-10-17 一种基于源ip地址进行负载均衡的方法及装置

Country Status (1)

Country Link
CN (1) CN107592272B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324244B (zh) * 2018-03-28 2021-09-14 北京华为数字技术有限公司 一种基于Linux虚拟服务器的路由方法及服务器
CN109347623B (zh) * 2018-10-18 2022-09-09 苏州盛科通信股份有限公司 一种链路负载均衡应用中进行会话保持的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184053A (zh) * 2007-12-29 2008-05-21 杭州华三通信技术有限公司 局域网出口链路选择方法、装置及路由设备
CN101729424A (zh) * 2009-12-16 2010-06-09 杭州华三通信技术有限公司 一种流量转发的方法、设备和系统
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
CN103716208A (zh) * 2013-12-31 2014-04-09 北京邮电大学 支持大象流的网络管理方法、系统、交换机和网络
CN104301252A (zh) * 2014-09-26 2015-01-21 北京奇艺世纪科技有限公司 一种数据发送系统及数据发送方法
CN106487676A (zh) * 2016-10-27 2017-03-08 盛科网络(苏州)有限公司 一种基于大象流的动态ecmp芯片实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967199B2 (en) * 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184053A (zh) * 2007-12-29 2008-05-21 杭州华三通信技术有限公司 局域网出口链路选择方法、装置及路由设备
CN101729424A (zh) * 2009-12-16 2010-06-09 杭州华三通信技术有限公司 一种流量转发的方法、设备和系统
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
CN103716208A (zh) * 2013-12-31 2014-04-09 北京邮电大学 支持大象流的网络管理方法、系统、交换机和网络
CN104301252A (zh) * 2014-09-26 2015-01-21 北京奇艺世纪科技有限公司 一种数据发送系统及数据发送方法
CN106487676A (zh) * 2016-10-27 2017-03-08 盛科网络(苏州)有限公司 一种基于大象流的动态ecmp芯片实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
入口链路负载均衡技术在Cisco设备中的应用研究;王文军 等;《长春大学学报》;20140630;第24卷(第6期);全文 *

Also Published As

Publication number Publication date
CN107592272A (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
US11374848B2 (en) Explicit routing with network function encoding
US10742488B2 (en) Detecting link faults in network paths that include link aggregation groups (LAGs)
EP3086510B1 (en) Service chain management method, system and device
US20190238483A1 (en) Dedicated virtual local area network for peer-to-peer traffic transmitted between switches
US9680751B2 (en) Methods and devices for providing service insertion in a TRILL network
Detti et al. Wireless mesh software defined networks (wmSDN)
EP3668025B1 (en) Routing control method, device, and system
JP5373625B2 (ja) マルチキャストルーティングのための方法および装置
US9363178B2 (en) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US20150372916A1 (en) Routing via multiple paths with efficient traffic distribution
US20070036161A1 (en) System and method of routing Ethernet MAC frames using Layer-2 MAC addresses
US10530692B2 (en) Software FIB ARP FEC encoding
US20150334057A1 (en) Packet forwarding
WO2019129236A1 (zh) 基于隧道传输数据的方法及装置
CN110061915B (zh) 跨多个架构交换机的虚拟链路聚合的方法和系统
CN109379297B (zh) 一种实现流量负载均衡的方法和装置
CN104243270A (zh) 一种建立隧道的方法和装置
JP2014504812A (ja) マッピングサーバ装置、ネットワークシステム、パケット転送方法およびプログラム
KR20150013536A (ko) 분할 동점 처리기를 사용한 802.1aq 네트워크에서의 동일 비용 최단 경로들 중의 선택
US9049030B1 (en) Methods and apparatus for efficient multicast
US8861339B2 (en) Packet forwarding function of a mobility switch deployed as routed SMLT (RSMLT) node
CN107592272B (zh) 一种基于源ip地址进行负载均衡的方法及装置
CN102255816A (zh) 负载分担方法及装置
CN113923161A (zh) 一种报文转发方法及装置
WO2011113358A1 (zh) 用于ip网络的路由转发方法及网络设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province

Patentee after: Suzhou Shengke Communication Co.,Ltd.

Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province

Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd.

CP03 Change of name, title or address