APP下载

出口链路负载均衡技术在Cisco设备中的应用研究*

2014-08-08王文军

关键词:报文交换机链路

王文军, 吴 菁

(贵州民族大学 信息工程学院,贵阳 550025)

随着网络技术的发展,单条链路、单台服务器或单台网络设备已无法满足用户业务的快速增长需求,负载均衡(Load Balancing,简称LB)通过一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽,加强网络数据处理能力、提高网络的灵活性和可用性,满足用户业务不断发展的需求。负载均衡从服务的对象上,可分为服务器负载均衡、链路负载均衡和防火墙等网络设备负载均衡。而链路负载均衡技术的出现不仅使服务提供商受益:方便扩展网络规模和业务系统容量,还可以快速响应用户业务访问需求,提升用户业务处理速度,降低网络延时;更可以为用户提供冗余可选链路,规避攻击入侵并减少网络故障干扰,提升网络健壮性,最终使用户受益。

1 链路负载均衡技术

(1) 链路负载均衡定义。由于跨不同运营商链路访问时,存在很多的问题,如延时大、丢包率高而导致客户体验不好。因此越来越多的企业,通过链路负载均衡技术来改善用户的访问体验,提高网络带宽资源利用率。链路负载均衡即指网络设备转发数据流量时,选择响应速度快、符合带宽要求的网络链路提供服务。

(2) 链路负载均衡类型。链路负载均衡类型主要分为出口链路负载均衡和入口链路负载均衡。一般现企业内网到外网会租用多个运营商的线路作为出口,不同的运营商链路带宽和延迟都不同,出口链路的负载均衡技术通常可以根据不同企业用户的不同访问外网需求择优选择链路。而入口链路的负载均衡技术通常将访问企业流量的链路选择与DNS域名解析结合,用户通过DNS域名访问企业内部时,负载均衡器选择可用链路的IP地址作为DNS域名解析结果,指引访问企业的外部流量选择合适的网络转发链路。

2 Cisco设备中的出口链路负载均衡技术研究

图1为Cisco设备实现出口链路负载均衡的典型组网模型图,企业内网与核心交换机相连,核心交换机上行与两台负载均衡设备相连,而每台负载均衡设备与外网有两条链路相通(即电信和联通)。企业内网用户访问外网服务器时,企业内用户端发出的请求报文会经过核心交换机,发往其中一台负载均衡设备(两台负载均衡设备互为主备),业务流量经过负载均衡设备处理后,最终为客户端的请求选中一条最优的链路通向外网。

一般情况下根据用户请求的目的地址来选择出口链路(图1),如果请求的目的地址是属于电信地址网段的,则优先选择电信出口;如果请求的目的地址是属于联通地址网段的,则优先选择联通出口;如果请求的目的地址既非电信地址,也非联通地址,则可以默认优先选择电信出口。

图1 出口链路负载均衡典型组网模型

2.1 出口链路负载均衡特性架构

Cisco出口链路负载均衡特性主要包括5个模块(图2):流分类、链路、持续性、探测器和LB转发。每个模块主要功能如下:

(1) 流分类模块。负载均衡设备根据业务流量的特征,对网络流量进行分类和管理,最终将业务流量转发给合适的链路网关进行处理或转发,流量分类和流量管理是负载均衡的核心内容。根据报文的IP地址、协议号、端口号等三、四层信息对流量进行分类,对符合条件的四层报文进行转发、丢弃、负载均衡等。

(2) 链路模块。负载均衡设备对业务流量进行分类后,对于符合条件的用户业务流量,选择对应的链路组提供服务。最终根据链路组中配置的负载均衡算法,来选择满足条件的链路处理或转发用户的数据报文。

(3) 持续性模块。负载均衡设备启用持续性功能后,可自动生成用户业务报文和链路的对应关系表,从而将用户一段时间内的连接请求始终交给同一条链路转发,满足业务系统的需求。

(4) 探测器模块。健康性检测是指负载均衡设备定时对链路的服务状态进行探测,收集链路的健康状况及运行信息,及时隔离工作异常的链路,最终选择高效能的链路完成业务处理和转发。

(5) LB转发模块。业务流量到达负载均衡设备后,LB转发模块根据解析后的业务流量特征和LB控制面各模块下发至转发面的数据,决定选择哪条是最优的链路来最好地为用户提供服务。

2.2 如何配置出口链路负载均衡

在有多个运营商出口的网络环境中,配置出口链路负载均衡,可实现链路的动态选择,提高服务的可靠性。在Cisco的负载均衡设备上可配置链路,链路组,动作模板,七层分类,三层分类以及流策略等。用户若要实现基本的出口链路负载均衡功能,其基本配置操作流程如下:

/*第一步创建链路,并配置链路参数,包括链路对应的网关IP地址、带宽限制、带宽阈值、权重等*/

link Telecom1

ip address 20.20.20.1

weight 90

conn-limit max 25000

rate-limit connection 3500

rate-limit bandwidth inbound 100 threshold 80

rate-limit bandwidth outbound 100 threshold 80

q

link Unicom1

ip address 30.30.30.1

weight 60

conn-limit max 20000

rate-limit connection 3000

rate-limit bandwidth inbound 300 threshold 80

rate-limit bandwidth outbound 300 threshold 80

q

/*第二步配置链路健康性检测,在出口链路负载均衡中,需要检测链路状态,以便系统做负载均衡决策时判断是否使用该链路*/

probe probe1 icmp

time-out 10

interval 20

fail-interval 20

q

/*第三步创建链路组,将各链路加入链路组,并启用服务,同时配置链路组中的参数,包括此链路组中使用的探测器、负载均衡算法、报文转发模式等*/

linkgroup group1

link Telecom1

inservice

q

link Unicom1

inservice

q

probe probe1

method roundrobin

mode redirect

q

/*第四步创建负载均衡动作模板,绑定链路组,即指定动作选择此链路组,同时也表明动作类型是出口链路负载均衡*/

action act1

linkgroup group1

q

/*第五步创建七层分类,并指定流量匹配规则*/

17class 17class1

match any

q

/*第六步配置ACL规则,以识别需要做出口链路负载均衡的各类业务流量*/

acl number 3000

rule permit ip destination111.224.0.0 0.0.255.255

q

/*第七步创建三层分类,映射七层分类和动作模板,并指定匹配规则为匹配acl 3000的流量做出口链路负载均衡*/

13class 13class1

17class 17class1 action act1

if-match acl 3000

q

/*第八步创建负载均衡策略,以绑定三层分类,其中一个策略可以绑定多个三层分类,实现不同的业务应用*/

policy policy1

13class 13class1

q

/*第九步在某接口下绑定负载均衡策略,只有策略绑定后才能生效,才能对该接口下的匹配三层分类的流量做出口链路负载均衡*/

interface eth-trunk 1

policy policy1

q

2.3 如何实现出口链路负载均衡

企业内客户端发出的请求报文进入负载均衡设备时首先查看入接口下有无绑定负载均衡策略,如果负载均衡策略已被绑定,则表示流量走负载均衡的业务处理,进入下一步。反之,流量不走负载均衡业务处理,走正常的二三层转发。

负载均衡策略下是否已绑定三层分类,如果三层分类没有在负载均衡策略下绑定,则设备直接将报文丢弃。反之,三层分类已被负载均衡策略绑定,进入下一步。

负载均衡设备根据请求报文的基本属性,如源目的ip、源目的port、报文protocol等五元组信息与设备上三层分类下配置的数据规则是否一致来决定该设备是否对该业务流量提供出口链路负载均衡服务。如果不匹配,设备不对其提供服务,直接将该报文丢弃;反之,则会进入下一步。

匹配三层分类后,再看其是否匹配三层分类下绑定的七层分类,如果匹配七层分类,则会命中三层分类下与七层分类对应绑定的动作模板。在七层分类下可配置多条匹配规则,并且可按用户的意愿配置匹配类型“与”或“或”。“与”类型是指要匹配七层分类下的所有规则才算匹配成功,而“或”类型是只要匹配其中一条规则即认为匹配成功。如果不匹配,设备不会对该请求流量提供出口链路负载均衡服务。匹配any是指任何报文都可进入下一流程,命中对应的动作模板。

如果动作模板下绑定的是链路组,则表明动作类型是出口链路负载均衡,则会进入下一步处理;如果绑定的是持续性组,则表明动作类型是stickiness,那么每次命中该动作模板时都会一直命中同一条链路;如果绑定的动作类型是drop,则表明每次命中该动作模板时都会将报文丢弃;如果绑定的动作类型是forward,则表明每次命中该动作模板时都会查路由将报文直接转发。

设备根据动作模板下绑定的链路组中配置的负载均衡算法和探测器,选择一条负载较小且健康的链路。如果链路组中有的链路,经过探测器检测发现是不健康的,则首先不予考虑,通过负载均衡算法在健康的链路当中选择最优的链路。

主要介绍的动作模板类型是出口链路负载均衡。在动作模板下不仅可以绑定链路组,还可为绑定的链路组配置相应的备链路组。如果主链路组中所有的链路都down了,那么就会进行链路组的主备切换,备用链路组进行提供服务。同时在链路组中每条链路也可以配置相应的备用链路,如果正在服务的主链路down了,备用链路也会接管继续提供服务。

图3即为Cisco设备实现出口链路负载均衡,处理业务报文的主要流程图。如下则为在实验室模拟现网的镜像环境出口链路负载均衡实验实例,在实验室搭建的镜像环境网络拓扑如图4,实验测试过程如表1。从表1可以看出负载均衡器不仅能通过请求的报文目的地址选择链路出口,而且也可以在选择的链路down的情况下,改而选择健康的链路出口。

图3 出口链路负载均衡设备处理业务报文的主要流程

图4 实验室镜像环境出口链路负载均衡网络拓扑

表1实验室镜像环境出口链路负载均衡实验测试过程

序号实验内容实验预置条件实验步骤实验结果1在负载均衡器上配置如果请求的报文目的地址是服务器的地址,将该请求下一跳重定向到链路1(1)交换机1和交换机2上都有到达Server的路由(2)在交换机1与交换机3上连的接口和交换机2与交换机3上连的接口均配置SNAT(源地址转换)功能(1)创建并配置分别到交换机1的链路1、到交换机2的链路2;(2)配置用于链路1和链路2健康性检测的udp探测器;(3)创建两个链路组,均指定转发模式为重定向模式,两个链路组均绑定链路1、链路2和udp探测器,但在链路组1中,配置链路1的优先级高于链路2的优先级,在链路组2中,配置链路2的优先级高于链路1的优先级;(4)配置L7分类和两个负载均衡动作模板,在动作模板1中绑定链路组1,在动作模板2中绑定链路组2;(5)创建ACL3001,并配置其规则为允许目的地址为50.50.50.5/32(即Server的ip地址)的报文通过。创建ACL3002,并配置其规则为允许目的地址为50.50.50.6/32的报文通过;(6)创建L3分类1,绑定L7分类和动作模板1,并指定匹配规则为匹配ACL 3001的流量做优先选择链路1的出口链路负载均衡。创建L3分类2,绑定L7分类和动作模板2,并指定匹配规则为匹配ACL 3002的流量做优先选择链路2的出口链路负载均衡;(7)配置负载均衡策略,绑定L3分类1和L3分类2,并在连PC的接口上应用负载均衡策略;(8)在PC上通过浏览器访问Server上的网页。通过在交换机1上的端口镜像抓包发现PC发出的请求报文经过链路1到达Server2拔掉链路1的网线,使得负载均衡器探测到链路1网络不通,负载均衡器自动转而将请求下一跳重定向到健康的链路2同上步骤同实验1的步骤,唯一的区别在于在第8步之前,增加一步拔掉链路1的网线通过在交换机2上的端口镜像抓包发现PC发出的请求报文经过链路2到达Server3修改负载均衡器上的ACL配置,如果请求的报文目的地址是服务器的地址,将该请求下一跳重定向到链路2同上步骤同实验1的步骤,唯一的区别在于第6步,修改负载均衡器的配置,将L3分类2改为绑定ACL 3001,L3分类1改为绑定ACL 3002通过在交换机2上的端口镜像抓包发现PC发出的请求报文经过链路2到达Server

3 结 论

为了规避运营商出口故障带来的网络可用性风险,和解决网络带宽不足带来的网络访问问题,企业往往会租用两个或多个运营商出口。但如何合理运用多个运营商出口,既不造成资源浪费,又能很好地服务于企业,一直是企业关注的问题。传统的策略路由可以在一定程度上解决该问题,但是策略路由配置不方便,而且不够灵活,无法动态适应网络结构变化,且策略路由无法根据带宽进行报文分发,造成高吞吐量的链路无法得到充分利用。出口链路负载均衡技术,可以通过动态均衡算法,能够在多条出口链路中进行负载均衡,算法配置简单,且具有自适应能力,能解决上述问题。这种出口链路负载均衡技术具有如下优势:

(1) 高可靠性。单条甚至多条网络链路发生故障时,系统自动将业务切换到正常的网络链路,使业务不被中断,降低了网络故障率,提高了业务处理的可靠性。

(2) 高性能。负载均衡将业务较为均衡地分担给多条网络链路,从而将这些链路的处理能力整合起来,对外看来,犹如一条“大”的链路,提高了网络的整体性能。

(3) 可扩展性。通过出口链路负载均衡,用户可方便地增加链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。

参考文献:

[1] CISCO SYSTEMS INC. Device Manager Guide, Cisco ACE 4700 Series Application Control Engine Appliance[OL-26644-03]. 2013

[2] CISCO SYSTEMS INC. Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide[OL-23547-01]. 2010

[3] 宋继平. 动态链路负载均衡技术在园区网络中的应用探讨[J]. 电信技术, 2013(1):47-49

[4] 田芮利. 负载均衡技术在企业网中的应用[J]. 信息与电脑:理论版, 2012(9):133-135

[5] POSTEL J. Internet Protocol-DARPA Internet Program Protocol Specification[M]. IETF RFC:USC/Information Sciences Institute, 1981

[6] 百度文库. F5链路负载均衡解决方案[EB/OL]. http:∥wenku.baidu.com/link?url=Sq6QcfHAAdVIDvZbIa7gU5DMT JuFruUaN8LDnbt1hwwbycpfTd9MtR_jU8gshtxmrZInw0k4ot4rx0zHwyWLSjDjSh7lC8dN5N3_3zRxVBm, 2011

[7] 百度百科.链路负载均衡[EB/OL]. http:∥baike.baidu.com/link?url=yG_N6-ZyMF41xu4PzWs3A0jlQQvG55B7eyvm PRSbceTeH-gD_xQnRmqUerhJtI7HdVR0Hcd7baB9JsmxbAIvO_, 2014

猜你喜欢

报文交换机链路
基于J1939 协议多包报文的时序研究及应用
天空地一体化网络多中继链路自适应调度技术
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于地铁交换机电源设计思考
修复损坏的交换机NOS
使用链路聚合进行交换机互联
ATS与列车通信报文分析
基于3G的VPDN技术在高速公路备份链路中的应用
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700