华为USG9500高端防火墙智能选路和负载均衡技术白皮书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
资料编码
华为USG9500高端防火墙
智能选路和负载均衡技术白皮书
文档版本V1.0
发布日期201402
版权所有© 华为技术有限公司2009。
保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。
除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。
除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司
地址:深圳市龙岗区坂田华为总部办公楼邮编:518129
网址:
客户服务邮箱:support@
客户服务电话:4008302118
目录
1应用场景 (4)
2负载均衡技术介绍 (4)
2.1智能选路负载均衡技术 (4)
2.1.1 最小时延负载均衡 (4)
2.1.2 路由权重负载均衡 (6)
2.1.3 链路带宽负载均衡 (7)
2.2内置ISP路由选路 (8)
2.3出站透明DNS代理 (9)
2.4智能DNS (10)
2.5服务器负载均衡 (14)
3组网应用 (16)
3.1企业出口多ISP选路 (16)
3.2企业出口ISP多链路备份 (17)
3.3企业内部服务器负载均衡 (19)
1 应用场景
随着业务发展的需要,许多企业通常会在网络出口部署多条链路以等值负载分担的方式来分担出接口流量,虽然在一定程度上提升了网络的稳定性和可
靠性,但是等值负载分担不会考虑链路的带宽差异,只是把流量在每条链路上
进行简单的平分,这样就可能会导致某些带宽性能较高的链路出现空闲,而某
些带宽性能较低的链路出现堵塞的情况。
为了保证链路带宽的更充分、更合理
的利用,我们需要根据现网的实际情况考虑链路带宽的分配。
业务选择哪条链路转发更加合适?如某些业务从A链路转发比从B链路转发更迅速,而另外一些业务与之相反,是从B链路转发比从A链路转发要快。
链路质量是否存在差异?如业务从A链路转发的总体效果比B链路要好。
链路带宽是否存在差异?如A链路是高速链路,B链路是低速链路。
从方向上来区分,就产生了2种智能选路场景,一是出站智能选路,企业网络出口多链路之间的选路;一是入站负载均衡,对内部的服务器做流量负载。
出站智能选路:企业从不同运用商获得多条出口链路,链路的带宽、质量等都有所不通,怎样才能保证大部分用户的最佳访问效果,保证每个链路
带宽最大限度的利用,是规划链路资源需要考虑的问题;
入站负载均衡:内部网络多个服务器之间的负载均衡,保证流量较平均地分配到各个服务器上,避免出现一个服务器满负荷运转、另一个服务器却
空闲的情况。
2 负载均衡技术介绍
2.1 智能选路负载均衡技术
2.1.1最小时延负载均衡
企业从不同运营商获得多条出口链路,几条链路的总带宽足够企业用户使
用,此时企业需要考虑的是用户业务流量从哪条链路转发的效果最好,用户访
问外网不同服务时选择哪条链路体验最佳。
最小时延负载均衡工作模式,是通
过对比从不同链路访问外网服务器的时延大小,最终确定最优访问链路,可以
很好的满足这种场景的应用。
如图1所示。
访问服务器A时,因为链路A的时延最小,因此流量从出接口GE1/0/0访问服务器A,如果链路A的流量带宽达到设置的阈值,后续访问服务器A的流量会选择第二小的时延链路,也就是图1中的链路B,最后是链路C。
访问服务器B时,因为链路B的时延最小,因此流量从出接口GE1/0/1访问服务器B,如果链路B的流量带宽达到设置的阈值,后续访问服务器B的流量会选择第二小的时延链路,也就是图1中的链路C,最后是链路A。
访问服务器C时,因为链路C的时延最小,因此流量从出接口GE1/0/2访问服务器C,如果链路C的流量带宽达到设置的阈值,后续访问服务器C的流量会选择第二小的时延链路,也就是图1中的链路A,最后是链路B。
图1 最小时延负载均衡应用场景图
最小时延负载均衡主要应用在用户上网体验要求较高的多出口场景,用户流量根据系统探测的链路转发时延大小,选择时延最小的链路转发,让用户体
验到最佳的访问效果。
除此之外,管理员还可以根据网络实际情况的需要,静
态设置某些固定的访问从管理员要求的链路转发,这样可以更加灵活的控制流
量走向,让流量负载较小的链路分担部分流量负载过大链路的压力。
2.1.2路由权重负载均衡
企业从不同运用商获得多条出口链路,其中连接ISPA的链路稳定性最高,业务转发整体效果最好,其次是链路B,最差的是链路C。
路由权重负载均衡模
式是通过在每条链路上设置路由权重值,根据权重值的比例来分配用户流量,
能够满足此种多出口场景的应用,如图2所示。
链路A设置的路由权重为50,占整个权重的一半,所以企业用户访问外网的流量一半分配到链路A进行转发。
如果链路A上的带宽流量达到设置的阈值,则后续流量会按照其它空闲链路的权重比例重新分配。
链路B设置的路由权重为30,所以经过链路B转发的业务流量占到总体流量的30%。
如果链路B上的带宽流量达到设置的阈值,则后续流量会按照其它空闲链路的权重比例重新分配。
链路C设置的路由权重为20,所以经过链路C转发的业务流量最少,只占到总体流量的20%。
如果链路C上的带宽流量达到设置的阈值,则后续流量会按照其它空闲链路的权重比例重新分配。
注意:
流量的分配是按照每条链路设置的权重比例来分配的,如果链路A、链路B、链路C分别设置的权重为60、30和60,那么流量的分配是按照2:1:2的比例来
分配的。
图2 路由权重负载均衡应用场景图
路由权重负载均衡主要应用在链路质量存在差异的多出口场景,质量最优的链路分担的流量最多,这样可以在最大程度上保证大部分用户的访问效果,
且不浪费其它链路的带宽。
2.1.3链路带宽负载均衡
企业从不同运用商获得多条出口链路,但链路的物理带宽不一样,每条链路租用的带宽也不一样。
为保证每个链路带宽最大限度的利用,可以选择链路
带宽负载均衡模式来分配带宽流量,链路带宽负载均衡是指当存在多条路由优
先级相同但物理带宽不同的链路时,用户流量按照物理带宽的比例分配到每条
链路上,当每条链路的承载到达了用户配置带宽阈值后,流量转发到其他空闲
链路上。
如USG9000与ISP1用1GE物理链路连接,用户租用了ISP1的100M带宽,
那么物理带宽就是1G,用户配置带宽就是100M。
如图3所示。
三条链路中两条
是通过GE接口连接的,另外一条是通过10GE接口连接的,流量分配的比例为1:
1:10,三条链路的用户带宽阈值分布为100M,100M,500M。
正常情况下,链路A、B、C按照1:1:10的比例分配会话,同时USG9000监控每条链路的实际带宽,如当A链路的带宽达到配置的带宽阈值100M时,而
B、C链路未达到100M和500M,则新建会话的流量会按照物理带宽比例1:10
负载分担给B、C链路。
图3 链路带宽负载均衡应用场景图
链路带宽负载均衡主要应用在链路物理带宽存在差异的多出口场景,流量的分配是按照链路物理带宽的比例来分配的,这样可以保证高速链路的最大利
用,且不浪费其它链路的带宽。
2.2 内置ISP路由选路
如下图所示的等价路由多出口场景中,如果访问ISPB的流量从连接ISPA的出接口上发送,则会影响报文转发效率。
用户通过USG9000访问Server,USG9000
会随机分配用户流量从不同的出接口转发,这就有可能出现下图所示的链路1
和里链路2两条链路,而链路2才是用户所期望的路线。
通过ISP路由选路功能可以保证访问特定ISP网络的用户报文从相应的出接口转发出去,让用户流量总是从最短路径转发,提升了用户的访问体验。
USG9000自带有相应的ISP路由,已经预置下列运营商的ISP地址文件:
china-mobile.csv:中国移动
china-telecom.csv:中国电信
china-unicom.csv:中国联通
china-educationnet.csv:中国教育网
该ISP地址文件可以直接使用,不用重新制作。
也可以根据特殊的情况对ISP 路由的文件进行人工修改,满足组网要求。
2.3 出站透明DNS代理
企业的内网用户在发起DNS请求时,通常使用内置的DNS server地址,终端PC内的DNS server地址包括为首选和备选,同一个私网内每个PC分配的DNS
server首选地址相同(如电信DNS),这样每个PC向外发起DNS请求时,都会
向电信DNS server请求地址,得到的都是电信的网络地址,这样PC向外发起网
络连接时都是向电信ISP链路发起。
当企业出口租用了多个运营商ISP链路时,如果DNS请求都是向电信发起,那么按照目的地址选路,上网的流量都拥向电信ISP链路,这样电信的ISP链路
过于拥挤,而联通的ISP链路出于闲置状态,无法最大化利用出口租用的带宽。
USG9500提出了出站透明DNS代理功能,会根据ISP链路配置的带宽阈值对链路进行监控,当某个链路的带宽到达一定的上限后,会调整DNS请求报文,
将DNS server地址强制性改变成带宽充足的ISP方向,如首选DNS server是电信
地址,当电信链路达到阈值时,USG9500在网络出口处强制改变DNS server为
联通的DNS server地址,后续报文请求到的DNS地址为联通的地址,后续流量
目的地址指向联通,达到减轻电信ISP链路的目的。
2.4 智能DNS
根据企业内网部署的Web服务器地址数量不同,智能DNS可以分成单服务器智能DNS和多服务器智能DNS两个场景。
单服务器智能DNS
如图1所示,企业或数据中心一般都通过多条链路连接到多个ISP网络,但有时只会公布一个服务器地址(例如2.2.2.10),为其中一个ISP的用户(例如ISP2
用户)提供Web访问服务。
企业或数据中心的DNS服务器上存在Web服务的域
名与这个服务器地址的对应关系。
当其他ISP的用户(例如ISP1用户)通过域名访问企业的Web服务(例如)时,首先会向企业内的DNS服务器发起DNS请求。
DNS服务器
解析并返回的服务器地址(ISP2服务器地址2.2.2.10)与用户自身的地址(ISP1
用户地址1.0.0.1)是属于不同ISP网络的。
这样就会导致该用户(ISP1用户)实际访问企业的Web服务时,需要先绕道到服务器所属的ISP网络(ISP2网络)才能到达服务器,从而增加了业务访问延迟,并且增加了ISP间流量的结算成本。
而且所有外网用户访问企业Web服务时都需要通过服务器所属的ISP网络(ISP2网络),这很可能导致设备连接这个ISP网络的链路(ISP2链路)拥塞,而连接其他ISP网络的链路(ISP1链路)闲置。
图1 单服务器不支持智能DNS场景
如图2所示,USG9000提供的智能DNS功能可以解决此问题。
这种在企业内网只部署一台Web服务器的场景称为单服务器智能DNS场景。
通过配置单服务器智能DNS功能,USG9000将返回给用户(例如ISP1用户)的服务器地址修改为用户所属ISP网络的地址(例如1.1.1.10,属于ISP1),同时在设备上会增加一个地址映射关系,当用户访问1.1.1.10地址时,设备会映射到2.2.2.10这个实际服务器上。
如果用户与服务器属于同一ISP网络(例如ISP2网络),则USG9000不会修改返回的服务器地址。
这样就保证了用户(例如ISP1的用户)访问企业的Web服务时,直接访问
1.1.1.10从自身所属的ISP网络(ISP1网络)就可以到达Web服务器,从而提升了
用户的访问速度和用户体验。
而且从宏观上看,用户都通过自身所属的ISP网络
访问企业的Web服务,避免了企业的一条ISP链路拥塞而其他ISP链路闲置的情
况,实现了流量的负载均衡。
图2 单服务器智能DNS场景
多服务器智能DNS
如图3所示,大型企业或数据中心在对外提供Web服务(例如网页访问)时,一般都会公布多个服务器的地址(例如1.1.1.10,2.2.2.10),用来供给不同的ISP
用户访问。
企业或数据中心的DNS服务器上存在Web服务的域名与多个服务器
地址的对应关系。
当其中一个ISP(例如ISP1)的用户通过域名访问Web服务(例如)时,首先会向企业内的DNS服务器发起DNS请求。
DNS服务器
会解析并返回多个服务器地址(1.1.1.10和2.2.2.10)给该用户。
用户(ISP1用户)
会随机选择其中一个服务器地址进行访问,所以这个服务器地址很可能是属于
另外一个ISP的(例如ISP1用户随机选择了ISP2服务器地址2.2.2.10)。
这样就会
导致该用户(ISP1用户)实际访问企业的Web服务时,需要先绕道到另外的ISP 网络(ISP2网络)才能到达Web服务器,从而增加了业务访问延迟,并且增加了ISP间流量的结算成本。
图3 多服务器不支持智能DNS场景
如图4所示,USG9000提供的智能DNS功能可以解决此问题。
这种在企业内网为多个ISP部署了多台Web服务器的场景称为多服务器智能DNS场景。
配置多服务器智能DNS功能后,USG9000只会返回一个服务器的地址给每个用户,这个服务器的地址与用户的地址属于同一个ISP网络的。
例如对于ISP1的用户,USG9000只会返回ISP1的服务器地址;对于ISP2的用户,USG9000只会返回ISP2的服务器地址。
这样就保证了用户实际访问企业的Web服务时,直接从自身所属的ISP网络就可以到达Web服务器,从而提升了用户的访问速度和用户体验。
图4 多服务器智能DNS场景
2.5 服务器负载均衡
日益增长的网络业务量对服务器造成了巨大压力,当单个服务器无法满足网络需求时,企业一般会采取更换高性能设备或增加服务器数量的方法来解决
性能不足的问题。
如果更换为高性能的服务器,则已有低性能的服务器将闲置,
造成了资源的浪费。
而且后续肯定会面临新一轮的设备升级,导致投入巨大,
企业却无法获得很高的收益。
如果单纯地增加服务器的数量,则涉及到如何分
配流量、服务器间的协同机制等很多复杂的问题。
服务器负载均衡(SLB,server
load balancing)技术较好地解决了上述问题。
服务器负载均衡就是将本应由一个服务器处理的业务分发给多个服务器来处理,以此提高处理业务的效率和能力。
如下图所示,这些处理业务的服务器
组成服务器集群,对外体现为一台逻辑上的虚拟服务器。
对于用户来说,他们
在访问的就是这台逻辑上的服务器,而不知道实际处理业务的是其他服务器。
由USG9000决定如何分配流量给各个服务器,这样做的好处显而易见:如果某
个服务器损坏,USG9000将不再分配流量给它;如果现有服务器集群还需要扩
容,直接增加服务器到集群中即可。
这些内部的变化对于用户来说是完全透明
的,非常有利于企业对网络的日常运维和后续调整。
服务器负载均衡功能可以保证流量较平均地分配到各个服务器上,避免出现一个服务器满负荷运转、另一个服务器却空闲的情况。
USG9000还可以根据不同的服务类型调整流量的分配方法,满足特定服务需求,提升服务质量和效率。
服务器负载均衡技术的核心是健康检查和负载均衡算法。
USG9000会不间断地向各个实服务器发送健康检查报文,实时监控服务器的健康情况,并记录服务器的状态,这个检查过程称为健康检查。
在转发Client 1的流量前,USG9000会根据各个实服务器的状态,判断其是否可以参与流量分配,只有健康的服务器才能参与流量分配,业务故障的服务器将被排除在外。
但是USG9000仍然会向业务故障的服务器发送健康检查报文,一旦发现服务器业务恢复,将立即让其参与流量分配。
这样即可确保流量被转发到健康的服务器上,不会造成请求失败的情况。
当存在多个可用的实服务器时,USG9000会根据负载均衡算法选择一个实服务器,然后转发流量到此服务器上。
负载均衡算法决定了如何分配流量给服务器,并使各个服务器尽可能地保持均衡状态。
最终负载均衡效果的好坏完全取决于算法的选择是否合适,用户需要根据具体的应用场景和业务特点选择合适的算法。
USG9000支持的负载均衡算法如下:
简单轮询算法
加权轮询算法
最小连接算法
加权最小连接算法
会话保持算法
加权会话保持算法
选择负载均衡算法时需要考虑两个主要因素:
服务器的性能
根据服务器的性能差异来分配业务,可以保证设备得到充分利用,提高服务的稳定性。
当各个服务器的性能不同且成一定比例关系时,可通过设置权重来实
现负载均衡:性能高的服务器权重值大,分配到较多的业务;性能低的服务器权
重值小,分配到较少的业务。
服务器的业务类型
服务器的服务类型不同,则会话连接的时长或服务请求的次数可能会有差异。
如果用户请求的服务需要长时间保持会话连接,那么必须考虑服务器并发处
理的连接数。
如果用户需要和服务器进行多次交互,才能完成某个特定的服务,
那么必须保证这期间的所有请求都发送到一个固定的服务器上,否则将导致请求
失败。
3 组网应用
3.1 企业出口多ISP选路
如上图所示企业出口租用了多个ISP的链路,联通3条链路,电信2条链路,企业用户上网时,向外请求DNS,出口USG9500防火墙可以利用出站透明DNS
代理和内置ISP路由选路解决客户的出口选路问题。
提前在USG9500上预置联通DNS server地址和电信DNS server地址,当内部用户发起DNS请求是,USG9500可以根据出口链路状态动态调整内部用户请求
的DNS server地址,这样可以控制每个出口链路的带宽负载,如用户要访问
时,USG9500可以判断出口链路状态,当电信链路比较拥塞时,
可以将用户的DNS请求发给联通DNS server,用户得到联通的163服务器地址,
根据USG9500上配置的内置ISP路由,去往联通的流量送到联通ISP链路上转发,
此用户发起的访问流量就转移到租用联通的ISP链路上。
此方式根据DNS的选择自动调整了网络的带宽使用,提高了带宽使用效率,同时直接采用内置的ISP选路机制,减轻了用户的配置工作量,达到了更优的选
路。
3.2 企业出口ISP多链路备份
企业A有三条出口链路分别连接到ISPA、ISPB和ISPC,其中连接ISPA的链路带宽最大,达到200Mbit/s,其他两条链路的带宽都为100Mbit/s。
由于业务的需要,企业内部用户访问服务器A的频率比较高。
为了充分利用链路带宽,并保证用户业务的快速转发,企业A对网络规划如下:
1.针对服务器A的访问流量要求都从连接ISPA的链路转发;如果连接ISPA的链路带宽达到设置的阈值,后续访问服务器A的流量从连接ISPB的链路转发;如果连接ISPB的链路也达到设置的阈值,访问服务器A的流量从连接ISPC 的链路转发。
2.企业内部用户访问外网其它服务器的流量按照转发效果最优的那条出口链路转发。
USG9500部署在网络出口,可以按照最小时延选路选择链路回应时间最小的作为出口,也可以利用路由权重,ISPA、B、C按照2:1:1权重进行选路,或者按照链路带宽选路200M、100M、100M进行选路,三种方式都能实现负载分担,当某条链路带宽达到阈值是,业务可以转发到其他链路充分提高带宽利
用率。
3.3 企业内部服务器负载均衡
企业数据中心的服务器按照服务类型划分成不同的业务区,每个业务区都包含多台服务器。
USG9000作为数据中心的安全网关部署在网络出口,通过接口GE1/0/1和GE1/0/2分别连接ISP1和ISP2网络,HTTP业务区同时为两个ISP网络的用户提供
服务。
由于现有HTTP服务器server1和server2的性能已不能满足实际需求,所以企业新购入一台高性能的设备server3,和原有设备一起对外提供服务。
为了提升服务质量和用户体验,企业需要监控每一台服务器的健康状态,保证流量不被分配到故障服务器上。
USG9500利用服务器负载均衡实现内网服务器之间的负载分担,对外体现出一个服务器地址,对内实现3台服务器共同工作,同时监控服务器质量,避免单台设备故障影响使用。