网站首页 > 文章精选 正文
概述
在多出口场景下,当到达目的网络有多条等价路由或者缺省路由时,FW默认按照逐流负载分担模式进行转发,使用源IP地址和目的IP地址进行HASH计算选择出接口,即由报文的源IP和目的IP决定选择哪条路,不会考虑各条链路的实际带宽或链路的实时状态。当转发流量较大时,很可能出现一部分链路拥塞、另一部分链路闲置的情况,造成链路资源的浪费。当某些链路的传输质量比较差时,可能造成访问失败,影响用户的体验。用户也无法选择优先使用某些链路转发流量,可能产生额外的费用。
全局选路策略可以解决上述问题。当到达目的网络有多条等价路由或者缺省路由时,全局选路策略可以根据不同的智能选路方式,即链路带宽、权重、优先级或者自动探测到的链路质量选择出接口,并根据各条链路的实时状态动态调整分配结果,以此实现链路资源的合理利用,提升用户体验。
智能选路方式
FW支持四种智能选路方式,不同的智能选路方式可以满足不同的需求,管理员可以根据设备和网络的实际情况进行选择。
设置智能选路的方式时,如无特别说明,“接口”和“接口链路”为等同的概念。FW通过对相关接口进行设置,体现对接口链路带宽、权重、优先级等方面的设置。
表1 智能选路方式
智能选路方式 | 定义 | 部署 | 使用场景 |
根据链路带宽负载分担 | FW按照带宽比例将流量分配到各条链路上。带宽大的链路转发较多的流量,带宽小的链路转发较少的流量,所有链路都会被充分利用,不会有链路闲置的情况。 | 在各条链路的出接口上配置入方向和出方向的带宽。管理员需要根据实际链路带宽设置合理的带宽值。 | 当企业从不同ISP处获得多条带宽不等的链路时,为了充分利用各链路的带宽,提高链路的利用率,可以选择该选路方式。具体示例请参见根据链路带宽负载分担。 |
根据链路质量负载分担 | FW优先使用链路质量高的链路转发流量。 | 配置衡量链路质量的参数:丢包率、时延和时延抖动,管理员可以根据实际需要选择其中的一个或多个参数。3个链路质量参数的计算方法请参见根据链路质量负载分担。 三个质量参数中,丢包率是最重要的参数,如果两条链路的丢包率、时延、时延抖动各不相同,那么FW判定丢包率小的链路质量高。 | 当企业从不同ISP处获得多条链路时,为了使用户获得最佳的访问体验,需要FW能够根据各链路的实时传输质量动态调整流量的分配,此时可以选择该选路方式。具体示例请参见根据链路质量负载分担。 |
根据链路权重负载分担 | FW按照权重的比例将流量分配到各条链路上,权重大的链路转发较多的流量,权重小的链路转发较少的流量,所有链路都会被充分利用,不会有链路闲置的情况。 | 在各条链路的出接口上配置权重。一般来说,需要综合考虑各链路的带宽、转发时延、链路租借费用等因素,“转发性能最优的链路”并不单指转发速度最快的链路,而是最符合企业利益的链路,所以管理员需要根据实际情况设置合理的权重。 | 当企业从不同ISP处获得多条性能不等的链路时,为了优先使用转发性能最优的链路,保证大多数用户的访问体验,且不浪费其它性能稍差的链路,可以选择该选路方式。具体示例请参见根据链路权重负载分担。 |
根据链路优先级主备备份 | FW优先使用主接口转发流量。 | 在各条链路的出接口上配置优先级,优先级最高的接口称为主接口,其他优先级的接口统称为备份接口。 该智能选路方式分为两种场景:主备备份场景和负载分担场景,具体请参见根据链路优先级主备备份。 | 当企业从不同ISP处获得多条链路时,如果各链路的带宽、转发时延、链路租借费用等因素存在较大差异,那么可以优先使用某些链路传输流量,并利用其他链路作为备份链路或负载分担链路,提高业务的可靠性,此时可以选择该选路方式。具体示例请参见根据链路优先级主备备份。 |
根据链路带宽负载分担
如图1所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路带宽为200M,ISP2和ISP3的链路带宽均为100M,所以带宽比例为2:1:1。当FW转发一段时间流量后,各链路上累计传输的流量将分别占到总流量的50%、25%、25%,即各链路传输流量的比例和带宽的比例成正比。
FW是根据各接口指定带宽的比例来分流的,而不是根据流量的实时流速。所以实际上各接口链路上分配的流量比例很难和设置的带宽比例一致,总是会有波动。
比如有3条接口链路,带宽比例设置为2:1:1,此时有4条流量,FW分别将这4条流量按照2:1:1分配到这3条接口链路上,即接口1分了2条流,接口2和3各分了1条流。但每条流的流速不一样,所以此时接口上转发的流量大小比例并不是2:1:1。
为了保证链路不会过载,管理员设置了过载保护阈值,各链路均为90%。当某条链路的带宽使用率达到90%时,已建立会话的流量仍从该链路转发,但是后续新建立会话的流量不再通过此链路转发,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的带宽比例进行负载分担。如果所有链路都已过载,那么FW将继续按照各链路的带宽比例分配流量。
图1 根据链路带宽负载分担
根据链路质量负载分担
丢包率、时延和时延抖动是FW衡量链路质量的3个参数。表2列出了3个链路质量参数的计算方法。
表2 链路质量参数的计算方法
链路质量参数 | 计算方法 |
丢包率 | FW发送若干个探测报文后,将统计丢包的个数,并计算丢包率。丢包率等于丢包个数除以探测报文个数。 |
时延 | 回应报文的接收时间减去探测报文的发送时间即为时延。FW发送N个探测报文后,将分别计算每次探测的时延,并取N次探测的平均值作为最终结果。 |
时延抖动 | 相邻两次探测的时延之差取绝对值即为时延抖动。FW发送N个探测报文后,将分别计算相邻两次探测的时延之差并取绝对值,然后取所有时延抖动的平均值作为最终结果。 |
FW自动向目的IP发送链路质量探测报文,获取各链路的传输质量信息,并将链路质量探测结果保存在链路质量探测表中。当有流量到达FW时,FW首先根据报文的目的IP去匹配探测表,如果匹配则根据探测表中记录的出接口转发流量;如果未匹配,则自动向目的IP发起质量探测选择最优的链路转发流量,并将探测结果记录在链路质量探测表中,当质量探测表项老化后,新的流量触发智能选路时需要重新进行链路质量探测。
缺省情况下,链路质量探测报文的协议类型为tcp-simple(FW使用TCP报文检查网络的连通性,只要目的设备回应第一个探测报文,即认为链路是可用的,无需完成三次握手)。此时,FW针对TCP业务流量使用tcp-simple协议进行质量探测,针对非TCP业务流量使用ICMP协议进行质量探测。探测报文的协议类型还可以修改为ICMP,此时FW针对所有业务流量都使用ICMP协议探测进行质量探测。
为了简化配置、减轻探测对设备性能的影响,FW将对单个IP的质量探测结果当做该IP所在网段的质量探测结果,管理员可以根据实际需要扩大或缩小网段的范围。
如图2所示,FW拥有3条出接口链路,分别属于不同的ISP。FW向各个ISP内的指定设备发送5个探测报文,其中ISP1链路没有丢包,ISP2链路丢了2个包,ISP3链路没有收到回应报文。所以FW判定ISP1的质量最高,将优先使用ISP1链路转发流量,只要探测表项没有老化,FW就一直使用ISP1转发流量,不会使用ISP2链路和ISP3链路。如果管理员为各链路设置了过载保护阈值,那么当ISP1链路的带宽利用率达到阈值时,ISP1链路将不再参与智能选路,FW会选择其他链路中质量最高的ISP2链路转发后续流量。
图2 根据链路质量负载分担
根据链路权重负载分担
如图3所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路权重为5,ISP2的链路权重为3,ISP3的链路权重为2,所以权重比例为5:3:2。当FW转发一段时间流量后,各链路上累计传输的流量将分别占到总流量的50%、30%、20%,即各链路传输流量的比例和权重的比例成正比。
为了保证链路不会过载,管理员设置了过载保护阈值,各链路均为90%。当某条链路的带宽使用率达到90%时,此链路将不再被分配流量,FW会在未过载的链路中智能选路,后续流量按照未过载链路之间的权重比例进行负载分担。如果所有链路都已过载,那么FW将继续按照各链路的权重比例分配流量。
图3 根据链路权重负载分担
根据链路优先级主备备份
该智能选路方式分为两种场景:
- 主备备份场景:FW优先使用主接口转发流量。如果没有为主接口链路指定过载保护阈值,那么即使链路过载,FW也不会使用其他链路传输流量。只有当主接口链路发生故障后,优先级次高的备份接口才被启用以替代主接口,而其他优先级更低的备份接口则仍未启用。
- 负载分担场景:为了提高传输的可靠性和负载能力,可以为各接口链路设置过载保护阈值。当主接口链路过载时,FW会使用优先级次高的备份接口和主接口一起分担流量。当主接口和优先级次高的备份接口都过载后,余下的备份接口中优先级最高的接口才被启用进行流量分担。
如图4所示,FW拥有3条出接口链路,分别属于不同的ISP。其中,ISP1的链路优先级为8,ISP2的链路优先级为3,ISP3的链路优先级为1,ISP1的链路优先级最高。管理员设置了过载保护阈值,各链路均为90%。FW优先使用ISP1链路转发流量,当ISP1链路的带宽利用率达到90%后,启用ISP2链路和ISP1链路一起分担流量。当ISP1链路和ISP2链路都过载时,启用ISP3链路和ISP1、ISP2链路一起分担流量。当3条链路都过载时,FW将按照各链路带宽的比例分配流量,不再根据链路优先级来分配。
图4 根据链路优先级主备备份
会话保持
FW支持在四种智能选路方式中配置会话保持功能。
智能选路接口可以配置过载保护阈值,当链路的带宽利用率达到过载保护阈值时,FW对新流量进行智能选路时将排除该过载链路,在其他未过载的链路中进行选路。这样可能会导致用户上网流量在链路过载前选择了该链路,而新建会话流量(如打开新网页)因为原链路过载而被FW从其他链路转发出去,从而出现已经登录的网站在刷新后需要重新登录,网络游戏在链路切换后掉线,甚至某些网上银行业务因检测到IP地址变化而拒绝用户访问等现象。
为了解决上述问题,可以开启智能选路会话保持功能。
开启该功能后,上网用户流量进行首次智能选路选择某链路后,FW会生成相应的会话保持表项,新流量如果命中了该会话保持表项,FW按照会话保持表项中记录的链路转发流量,这样能保证该用户的流量始终使用同一链路转发。
以基于源IP的会话保持模式为例介绍会话保持的原理,如图5所示,用户A的上网流量进行首次智能选路后,会生成一个会话保持表项,其中包含了源IP地址、匹配的智能选路策略ID和首次选路的出接口。当该用户再次发起连接时,FW会根据新流量中的源IP和匹配的智能选路策略ID查找相应的会话保持表项,并直接使用会话保持表项中记录的出接口转发该流量,这样就保证了此用户的流量始终使用同一出接口转发。
图5 会话保持
全局选路策略配置要点
背景信息
在多出口场景下,当到达目的网络有多条等价路由或者缺省路由时,通过配置全局选路策略,FW可以根据智能选路方式为命中等价路由或缺省路由的流量动态地选择出接口。
缺省路由选路功能默认开启,可以通过undo default-route enable命令关闭缺省路由选路功能。关闭该功能后,当报文命中缺省路由(等价缺省路由除外)时,则不进行智能选路,将按照firewall load-balance命令配置的负载分担方式选择出接口。
完成全局选路策略的配置后,后续经过FW的流量将按照选路策略被转发。而之前的部分流量由于会话没有老化,所以不会立即按照选路策略被转发。管理员可以通过命令行reset firewall session table手动清除会话表信息或者等待会话老化。
因为清除会话表项信息将导致连接中断,所以请慎重操作,只有确认对业务不会造成不良影响后,才能清除会话表信息。
全局选路策略配置过程
- 配置智能选路成员接口。
完成接口的基础配置,例如接口的IP地址、掩码、接口所在安全区域等。
配置接口的网关地址。
(可选)在接口上应用健康检查,检查接口链路的连通性。
(可选)配置接口所在链路的带宽和过载保护阈值。
- (可选)配置普通接口组。ISP接口组的配置请参考ISP选路配置要点。
普通接口组是智能选路成员接口的集合,配置普通接口组相当于批量添加智能选路成员接口。
- 配置全局选路策略。
配置智能选路方式。
添加智能选路成员接口。
(可选)开启过载保护功能。
(可选)指定健康检查和链路质量指标,检查出接口链路的质量是否符合链路质量指标的质量要求。
(可选)配置会话保持功能。
(可选)配置参与智能选路HASH计算的参数。
(可选)当智能选路方式为根据链路优先级主备备份时,设置备份接口自动关闭功能。
配置智能选路成员接口
操作 | 命令 | 说明 |
进入系统视图 | system-view | - |
进入接口视图 | interface interface-type { interface-number | interface-number.subinterface-number } | 该接口为智能选路成员接口,为智能选路添加成员接口前,首先需要完成接口基础配置,例如接口的IP地址、掩码、接口所在安全区域等,此处不给出详细配置。 |
配置接口的网关地址 | gateway gateway-address [ route { enable | disable } ] | 缺省情况下,配置接口的网关地址后下发对应的缺省路由。 PPPoE接口、Dialer接口、POS接口、4G LTE Cellular接口、Tunnel接口无需配置接口网关地址。 |
(可选)接口上应用健康检查 | healthcheck healthcheck-name | 健康检查必须已经配置完成。接口上应用健康检查后,FW只在健康的链路中进行智能选路。如果没有配置健康检查功能,则默认所有链路状态正常。 说明: 一个接口只能应用一个健康检查。 |
(可选)配置接口所在链路的带宽和过载保护阈值 | bandwidth { egress | ingress } bandwidth-value [ threshold threshold ] | 如果不指定过载保护阈值,当接口流量超过接口承载能力后,超过的部分将会直接被接口丢弃。 当接口为智能选路的成员接口时,建议为接口所在链路指定带宽和过载保护阈值。如果链路过载,即带宽利用率达到threshold指定的值时,则此成员接口不再参与智能选路,FW只会在未过载的成员接口中选择出接口。当过载链路的带宽利用率小于threshold后,此成员接口才重新参与到智能选路中。如果所有成员接口都过载,则FW将按照智能选路模式进行流量转发,不再考虑链路是否过载。 说明: 当智能选路方式为根据链路带宽负载分担时,必须为成员接口指定带宽,建议配置过载保护阈值。当智能选路方式为其他方式时,为使智能选路达到最佳效果,建议配置链路带宽和过载保护阈值。 |
(可选)配置普通接口组
操作 | 命令 | 说明 |
新建普通接口组 | interface-group [ interface-group-id ] name interface-group-name | - |
配置接口组中添加接口成员 | add interface interface-type interface-number | - |
配置全局选路策略
- 进入全局多出口视图。
multi-interface
- 配置全局选路策略的智能选路方式。
mode { priority-of-link-quality | priority-of-userdefine | proportion-of-bandwidth | proportion-of-weight }
智能选路方式决定了选路的标准,全局选路策略支持以下4种选路方式:
智能选路方式 | 命令 | 说明 |
根据链路带宽负载分担 | mode proportion-of-bandwidth | FW按照链路带宽的比例将流量分配到各条链路上。 |
根据链路质量负载分担 | mode priority-of-link-quality | FW按照链路的实时传输质量动态调整流量的分配。此方式可以根据丢包、时延、时延抖动等参数中的一个或多个判断链路的传输质量,选择质量最佳的链路转发流量,提升用户体验。 |
根据链路权重负载分担 | mode proportion-of-weight | FW按照链路权重的比例将流量分配到各条链路上。根据链路权重负载分担是默认的智能选路方式。 |
根据链路优先级主备备份 | mode priority-of-userdefine | FW优先使用链路优先级高的链路转发流量,并使用其他优先级低的链路作为备份链路或负载分担链路。 |
3.当智能选路方式为根据链路质量负载分担时,还可以进行如下配置:
操作 | 命令 | 说明 |
配置链路质量探测报文的协议类型 | priority-of-link-quality protocol { icmp | tcp-simple } | 缺省情况下,链路质量探测报文的协议类型为tcp-simple。 |
配置链路质量探测的质量参数 | priority-of-link-quality parameter { delay | jitter | loss } * | 缺省情况下,链路质量智能选路的质量参数为丢包率(loss)。 |
配置链路质量探测的探测间隔和探测次数 | priority-of-link-quality { interval interval | times times } * | 探测间隔(interval)的缺省值是5秒,探测次数(times)的缺省值是3次。 |
配置链路质量探测的掩码长度 | priority-of-link-quality mask mask-length | 掩码长度的缺省值是16。 使用命令mode配置智能选路模式为根据链路质量负载分担后,可以使用本命令配置掩码长度。设备对某个目的IP完成质量探测后,会将该探测结果作为某个目的网段的质量探测结果,该目的网段即由目的IP和本命令配置的掩码长度确定,可以通过命令display priority-of-link-quality table查看目的IP和掩码长度。 由于一个目的IP的质量探测结果可以代表其所在网段内的所有目的IP,所以用户可以根据实际需要扩大或缩小网段的范围,建议使用缺省值。 |
配置链路质量探测表项的老化时间 | priority-of-link-quality table aging-time aging-time | 老化时间的缺省值是1800秒。 |
4.添加智能选路成员接口。
add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } [ priority priority | weight weight ] *
FW只在智能选路成员接口中选择出接口,根据智能选路方式的不同,还需要为成员接口配置相应的参数:
参数 | 命令 | 说明 |
成员接口的带宽和过载保护阈值 | 在配置接口时,已经配置接口带宽和过载保护阈值,此处无需配置。 | 当智能选路方式为根据链路带宽负载分担时,需要为成员接口指定带宽。如果要实现接口过载保护功能,还需要配置过载保护阈值,当链路的带宽利用率达到指定值时,FW将不再使用此链路传输流量,而是选择未过载的链路传输。 |
成员接口的权重 | add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } weight weight | 当智能选路方式为根据链路权重负载分担时,需要为成员接口指定权重,如果不指定,则默认权重为1。 |
成员接口的优先级 | add { interface interface-type interface-number | interface-group { interface-group-name | isp isp-name } } priority priority | 当智能选路方式为根据链路优先级主备备份时,需要为成员接口指定优先级,如果不指定,则默认优先级为1。 |
5.(可选)开启过载保护功能。
overload protection enable
缺省情况下,智能选路策略已开启过载保护功能。
智能选路成员接口上指定了带宽和过载保护阈值时,当某链路带宽利用率达到过载保护阈值时,在进行智能选路时将排除该过载链路,在其他未过载的链路中进行选路,但可能导致链路过载时新建会话需要切换出接口链路,影响业务体验,此时可以通过undo overload protection enable命令关闭过载保护功能。即使链路过载,智能选路也不会排除该过载链路,也就不会进行切换链路。
6.(可选)指定健康检查和链路质量指标。
healthcheck healthcheck-name sla sla-name
健康检查对象使用healthcheck name命令创建,链路质量指标对象使用sla name命令创建。
链路质量探测功能依赖健康检查,如果需要根据链路的时延、抖动和丢包率进行更智能的选路,需要在选路策略中同时引用健康检查对象和链路质量指标对象。在选路成员接口上引用健康检查功能只能探测出接口链路的连通性。
在全局选路策略或多出口策略路由中引用了健康检查和链路质量指标后,FW将实时检查出接口链路的质量(时延、抖动和丢包率)是否符合链路质量指标的质量要求,不符合要求的链路不参与智能选路,直到链路质量重新符合要求。
7.(可选)配置会话保持功能。
参数 | 命令 | 说明 |
开启会话保持功能 | session persistence enable | 缺省情况下,智能选路会话保持功能是关闭的。 须知: 关闭会话保持功能后,FW会立即删除该智能选路策略对应的所有会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。 当某个智能选路成员链路down时,该链路对应的会话保持表项将会立即老化,FW处理新流量时,会在其他正常链路中重新选路。 |
配置会话保持功能的模式 | session persistence mode { source-ip | destination-ip } * | 缺省情况下,智能选路会话保持模式为基于源IP。 须知: 修改会话保持模式后,FW会立即删除该智能选路策略对应的所有会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。 |
配置会话保持的源子网掩码长度或目的子网掩码长度 | session persistence source-ip mask mask-length session persistence destination-ip mask mask-length | 缺省情况下,智能选路会话保持的源子网掩码长度为32位,目的子网掩码长度为16位。 须知: 修改源子网掩码长度或目的子网掩码长度后,FW会删除已有的会话保持表项,可能导致部分用户发生链路切换,请谨慎操作。 |
配置会话保持表项的老化时间 | session persistence table aging-time aging-time | 缺省情况下,会话保持表项的老化时间为300s。 当一个会话保持表项持续没有会话命中的时间达到老化时间时,此表项老化。 |
8.(可选)当智能选路方式为根据链路带宽负载分担和根据链路权重负载分担时,可以选择配置参与智能选路HASH计算的参数。
load-balance flow hash { destination-ip | destination-port | source-ip | source-port } *
缺省情况下,参与智能选路HASH计算的参数为源IP地址(source-ip)。如果出接口流量哈希不均,请调整哈希模式。
当智能选路方式为根据链路带宽负载分担和根据链路权重负载分担时,如果智能选路的结果有多个出接口,设备会根据智能选路HASH计算的结果选择其中一个作为出接口。例如智能选路方式为根据链路带宽负载分担时,如果两条接口链路的带宽相同,且均未过载,此时FW会利用HASH计算选择其中一个接口作为出接口。
9.(可选)当智能选路方式为根据链路优先级主备备份时,可以选择设置备份接口自动关闭功能。
standby-interface status down
当智能选路方式为根据链路优先级主备备份时,如果某个成员接口的优先级最高,那么这个接口称为主接口,其他成员接口称为备份接口。配置本命令后,所有备份接口的状态变为DOWN,只有当主接口过载(需要配置接口过载保护)或状态为DOWN时,优先级最高的备份接口状态才变为UP,其他备份接口的状态仍为DOWN。当主接口和优先级最高的备份接口均过载或状态均为DOWN时,优先级第二高的备份接口状态才变为UP,以此类推。
如果接口中同时包含了子接口和父接口(如Eth-Trunk1.1和Eth-Trunk1),且子接口的优先级比父接口的优先级高 ,则不能开启此功能,否则会引起该接口循环的自动关闭和打开。
猜你喜欢
- 2025-08-03 学习回顾—BGP(0x03C)-配置向对等体发送缺省路由
- 2025-08-03 「网络」五大网络概念:IP、子网掩码、网关、DHCP和PPPoE
- 2025-08-03 记住3个部分、2个地址,1个公式,你也能轻松划分子网
- 2025-08-03 OSPF基础配置命令及案例
- 2025-08-03 学习回顾——OSPF路由协议(0x2A)-配置OSPF路由聚合
- 2025-08-03 静态路由深入讲解
- 2025-08-03 CTF竞赛密码学 之 LFSR
- 2025-08-03 学习回顾—BGP(0x045)-配置BGP路由振荡抑制
- 2025-08-03 WIFI管理员密码忘记了怎么办?路由器默认WIFI管理密码是多少?
- 2025-08-03 IPv6全面了解
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)