《一种多WAN口设备负载均衡的实现方法.pdf》由会员分享,可在线阅读,更多相关《一种多WAN口设备负载均衡的实现方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102882802 A (43)申请公布日 2013.01.16 C N 1 0 2 8 8 2 8 0 2 A *CN102882802A* (21)申请号 201210406322.7 (22)申请日 2012.10.23 H04L 12/803(2013.01) H04L 12/757(2013.01) (71)申请人厦门四信通信科技有限公司 地址 361009 福建省厦门市软件园观日路 44号301单元J2区 (72)发明人许财义 (74)专利代理机构福建炼海律师事务所 35215 代理人许育辉 张辉 (54) 发明名称 一种多WAN口设备负载均衡的实现方法 。
2、(57) 摘要 一种多WAN口设备负载均衡的实现方法,首 先,为每个WAN口创建路由表;然后,在路由查找 之前将数据包送到连接跟踪标记模块,得到该数 据包的MARK值,并赋值给数据包的mark字段;之 后,在路由查找模块中,根据mark字段,使用不同 的路由表为数据包进行路由判断;最后,根据上 一步骤的路由判断,处理数据包,转发或本地接收 等;本发明能够实现基于LINUX系统的多WAN口 设备按比例进行负载均衡的功能。 (51)Int.Cl. 权利要求书1页 说明书3页 附图1页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 3 页 附图 1 页 1/。
3、1页 2 1.一种多WAN口设备负载均衡的实现方法,其特征在于: 首先,为每个WAN口创建路由表;然后,在路由查找之前将数据包送到连接跟踪标记模 块,得到该数据包的MARK值,并赋值给数据包的mark字段;之后,在路由查找模块中,根据 mark字段,使用不同的路由表为数据包进行路由判断;最后,根据上一步骤的路由判断,处 理数据包,转发或本地接收。 2.如权利要求1所述的一种多WAN口设备负载均衡的实现方法,其特征 在于: 连接跟踪标记模块按如下步骤完成工作: 步骤A,判断数据包所属的连接是否已经被标记,如果被标记,则取出该标记值,赋给数 据包的mark字段;否则,转入步骤B; 步骤B,进入到该。
4、步骤的数据包按如下方式被标记:假设有n个WAN口,负载比例为N1: N2:Nn,则每连续N1+N2+Nn个数据包中,其中N1个数据包被标记为M1,N2个数据 包被标记为M2,Nn个数据包被标记为Mn,其中,N1,N2, ,Nn,M1,M2, ,Mn均为自 然数; 步骤C,将数据包的标记值保存到连接跟踪表中。 3.如权利要求1所述的一种多WAN口设备负载均衡的实现方法,其特 征在于:路由查找的时候,根据数据包中标记值,即mark字段,使用不同的路由表进行 路由判断,从而将数据包导向不同的WAN口。 权 利 要 求 书CN 102882802 A 1/3页 3 一种多 WAN 口设备负载均衡的实现。
5、方法 技术领域 0001 本发明涉及一种多WAN口设备负载均衡的实现方法,具体与linux网络协议栈、 Netfilter/Iptables的编译安装与修改、策略路由和高级路由的使用有关。 背景技术 0002 在现有技术中,有很多WAN口设备,把原本“一对多”的WAN接入方式变 成“多对多”的方式,满足了用户更多带宽等需求。多WAN口设备主要用于增加带宽、 线路备份等方面。允许用户以更经济的成本成倍增加带宽。 0003 而当前很多WAN口设备不具备按比例进行自动负载均衡的功能,正常情况下只使 用一个WAN口进行数据传输,其他WAN口单纯作为备用。 发明内容 0004 本发明所要解决的技术问题是。
6、提供一种多WAN口设备负载均衡的实现方法,实现 基于LINUX系统的多WAN口设备按比例进行负载均衡的功能。 0005 为达到发明目的,本发明采用如下技术方案: 一种多WAN口设备负载均衡的实现方法,首先,为每个WAN口创建路由表;然后,在路 由查找之前将数据包送到连接跟踪标记模块,得到该数据包的MARK值,并赋值给数据包的 mark字段;之后,在路由查找模块中,根据mark字段,使用不同的路由表为数据包进行路由 判断;最后,根据上一步骤的路由判断,处理数据包,转发或本地接收等。 0006 进一步地,连接跟踪标记模块按如下步骤完成工作: 步骤A,判断数据包所属的连接是否已经被标记,如果被标记,。
7、则取出该标记值,赋给数 据包的mark字段;否则,转入步骤B; 步骤B,进入到该步骤的数据包按如下方式被标记:假设有n个WAN口,负载比例为N1: N2:Nn,则每连续N1+N2+Nn个数据包中,其中N1个数据包被标记为M1,N2个数据 包被标记为M2,Nn个数据包被标记为Mn(注:N1,N2,,Nn,M1,M2,,Mn均为自然 数); 步骤C,将数据包的标记值保存到连接跟踪表中。 0007 进一步地,路由查找的时候,根据数据包中标记值(即mark字段),使用不同的路由 表进行路由判断,从而将数据包导向不同的WAN口。 0008 采用上述技术方案,本发明能够实现基于LINUX系统的多WAN口设。
8、备按比例进行 负载均衡的功能。 附图说明 0009 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1为本发明方法的流程框图。 说 明 书CN 102882802 A 2/3页 4 具体实施方式 0010 为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结 合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用 以解释本发明,并不用于限定本发明。 0011 如图1所示的本发明的实施方式,Netfilter/Iptables是LINUX 2.4。
9、.x/2.6.x 内核集成的IP信息包过滤系统,分为Netfilter与Iptables两部分。其中Netfilter是 LINUX内核IP协议栈中的一系列函数调用入口,设置在报文处理的路径上,它会在路由查 找之前执行处理过程。 0012 LINUX网络协议栈是一个层次架构的软件架构,层与层之间通过预定的接口传递 报文,网络报文中包含了协议各层使用到的各种信息,在LINUX的2.4与2.6版本中采用 结构sk_buff来存储报文数据。在该结构里有一个变量:mark。该变量不是包本身的一部 分,而是包在穿越系统过程中由内核分配的与包相关联的一个字段。该字段只能在本地的 mangle表里使用,可以。
10、与本地的高级路由功能联用,以使不同的包应用不同的策略。 0013 连接跟踪即跟踪并记录连接状态,Linux为每一个经过网络协议栈的数据包,生成 一个新的连接记录项,此后所有属于该连接的数据包都被唯一地分配给这个连接,并标识 连接状态。连接跟踪是防火墙模块的状态检测的基础,同时也是地址转换中实现SNAT与 DNAT的前提。CONNMARK是netfilter/iptables中的一个特性,实现了往连接跟踪记录上 打标记的方法(即sk_buff中的mark字段)。 0014 从2.2版本开始,Linux加入了高级路由机制,基于该机制Linux系统可以有多达 256个路由表,且每个路由表都各自独立。。
11、同时Linux内包含一个路由策略数据库,我们可 以在该库里添加一些路由规则来确定“哪类数据包”应该“根据哪个路由表”来传输。在此, 我们可以使用数据包中的mark字段作为匹配条件。 0015 下面一个双WAN口的实施实例,其按2:1分配负载: (1) 使用ip工具为两个wan口建立各自的独立路由表,编号分别为150与151; (2) 修改iptables中的MARK模块,到达该模块处理的数据包,第一个标记为150,第 二个标记为150,第三个标记为151,第四个150,第五个标记为150,第六个标记为151,如此 循环; (3) 应用如下两条策略路由,标记(MARK值)为150的连接使用路由表。
12、150,标记为 151的使用路由表151 ip rule add fwmark 150 table 150 ip rule add fwmark 151 table 151; (4) 按如下添加数据包处理规则,第一条规则从连接跟踪记录表中取出当前数据 包所属连接的MARK值,并记录在该数据包中;第二条规则则判断当前数据包所处的连接是 否已打上标记,是则将数据包直接放回协议栈,否则继续执行第三条规则;第三条规则将数 据包放入步骤(1)所述的MARK模块,对数据包进行循环标记;第四条规则用于保存该数据 包所处连接记录信息,包括MARK值 iptables -t mangle -A PREROUTI。
13、NG -j CONNMARK restore-mark iptables -t mangle -A PREROUTING -m mark ! -mark 0 -j RETURN 说 明 书CN 102882802 A 3/3页 5 iptables -t mangle -A PREROUTING -j MARK -set-mark 150 iptables -t mangle -A PREROUTING -j CONNMARK -save-mark。 0016 本发明能够实现基于LINUX系统的多WAN口设备按比例进行负载均衡的功能。 0017 上述说明示出并描述了本发明的优选实施例,如前所述,应当理解本发明并非局 限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和 环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改 动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附 权利要求的保护范围内。 说 明 书CN 102882802 A 1/1页 6 图1 说 明 书 附 图CN 102882802 A 。