• 暂无更多图片。

负载均衡

更新:2021/2/20 9:59:33点击:
  • 产品品牌Array
  • 产品型号2600
  • 在线订购
产品介绍

1. 多链路接入背景介绍

随着Internet应用的不断发展,只有一个链路连接公共网络将导致单点失败和网络极其脆弱,目前日益增多的企业为了保证公司各个部门之间、供应商和客户之间可靠的Internet访问,都逐步采用多个接入链路(多宿主)接入Internet。

保证Internet接入的稳定性对于一个公司来说是非常重要的。现在绝大多数的公司采用一条Internet接入,也就是说使用一个ISP的链路。显然,一个ISP无法保证它提供的Internet链路的持续可用性,从而可能导致公司WAN接入的中断,而一个公司的Internet接入的中断则意味着高额的损失。

通常单链路用户系统结构设计图如下:

这样的结构存在以下问题:

1.1 单链路接入单点故障

在系统原有系统结构中,采用单条链路接入,一个或多个DNS服务器,这些服务器对于同一个域名均解析为同一个地址。在该种网络结构之中,无论主机系统、网络系统的规划有多么完美, 完全的排除了应用瓶颈和单点故障, 都还存在一个非常明显的单点故障, 就是网络接入部分的方案不够完整, 一旦网络接入部分出现中断就直接意味着所有应用中断。为了保证Internet接入的稳定性对于一个公司来说是非常重要的。现在绝大多数的公司采用一条Internet接入,也就是说使用一个ISP的链路。显然,一个ISP无法保证它提供的Internet链路的持续可用性,从而可能导致公司WAN接入的中断,而一个公司的Internet接入的中断则意味着高额的损失。

1.2 运营商之间互访

随着国内最大的Internet接入提供商Chinanet被拆分为北方China Netcom 和南方China Telecom之后,两方资源的互访受到了很大程度的影响。其出现的根本原因为南北网络的互通互联接点拥塞,造成用户丢包、延迟较大,从而导致访问缓慢,甚至对于一些应用根本无法访问。

1.3 双链路解决方案的产生以及其衍生的问题

一个企业可以采用多链路的多链路解决方案来避免Internet接入中断所造成的损失。多链路通常指同时使用不同ISP提供的多条Internet接入链路。由于多链路解决方案能够提供更好的可用性和性能,它正在被越来越多的企业所采用。可用性的提高来自于多条链路的使用,而性能提高则是因为同时使用多条链路增加了带宽。

多链路方案能够提高企业业务的可用性和性能,但这种方案也面临着特殊的问题和挑战

(1)首先就是IP地址管理的问题,在图一所示的网络中,可能会采用两种IP地址管理方式:

l  部网络使用同一个子网地址。

采用这种方式需要两个ISP之间相互配合协作,来在Internet网络上发 布到达该网段的正确路由信息。

l 每个ISP分配给内部网络不同的地址段。

这种方式下,内部网络要同时使用两个地址段的IP地址。

以上的两种方式都会面临一定的挑战。

对第一种方式来说,两个ISP之间必须相互配合协作,来在Internet网络上发布到达该网段的正确路由信息,并且还要保证两条链路的双向同时使用。尤其对于流入流量来说,如果不能保证链路的同时使用,多宿主解决方案的部分优点就无法实现。

对于第二种方式(目前使用较多的解决方式),在这种方式下,内部网络同时使用两个ISP提供的地址,一部分内部用户(A组)使用ISP1提供的地址,另一部分内部用户(B组)使用ISP2提供的地址。问题在于流出的流量处理,当ISP1的链路中断时,A组的用户将无法接入Internet。更进一步,如果指使用B组的地址,则ISP2的链路无法用于流入的流量,因为Internet上只有ISP1是流入该网络的唯一路径。

(2)流量分配的问题。通常租用教育网的链路需要按流入流出流量收费,而其他很多运营商的链路则采用包月的方式收费。因此如果过多的流量从教育网的链路经过,必然增加企业的整体成本,但若将所有流量都放在另一条链路上,一方面可能造成访问速度变慢,另一方面教育网的链路也不能得到有效的利用。

理想的方式是,进出的流量如果跟教育网有关,则流量走教育网链路,如果进出流量跟教育网无关,则走另一条链路。

除去以上的问题,多宿主网络的一些优势还没有完全实现,例如:

l 现在的一些多宿主网络解决方案仅仅是“共享”式,而不是真正的负载均衡。

l 没有就近性的路径判断。

l 对流入的流量没有很好的解决方案。使外部的用户访问能最快的进入机构的对外服务;对流出的流量没有解决根据最快到达要目标资源的访问策略;对于链路的健康状况也不能实时监测,也解决不了链路容灾,也就是当某一条链路出现故障后,将其流量导向另外链路的策略。

目前,面对以上的问题,有的用户和厂商采用了BGP协议的解决方案。这种解决方案使用BGP 作为路由器之间进行可用性和可达性通信的机制。管理员的某些职责就是对流入到路由中的流量进行监视,然后重新分配负载以保护路由器,使它们不会超负荷工作,同时为用户提供最快速的服务。

从IT管理方面来看,管理员的许多任务必须在网络上执行,有些任务比较复杂,而其它一些任务则非常耗时。一项相当乏味、但需要熟练掌握BGP 知识的工作便是按照当前和过去的链路负载状况人工对流量进行重新分配。即使这样,当出现问题时管理员也不可能随时作出响应并准确解决出现的问题。

此外,就流量负载均衡而言,BGP 还是有一些局限性。BGP 作为一项路由协议,它通常会将多个路径中的一个路径定义为Internet 的最佳路径,将所有的流量都通过此路径发送。对于流入的流量,路由器会将其发布到链路另一端的网关路由器。于是流量分配将不受路由器的控制,它完全依靠外部BGP 发布,流量很可能会从某个单链路中返回。目前对此的人工解决方案是将内部网络分成子网,分别将子网发布到BGP 邻居。这是一项人工操作,需要熟练掌握BGP 专业技术, 受到链路中有关网络阻塞和网络性能方面知识的限制,并且当网络状态不稳定时,它不能动态调整配置。

因此我们面临的挑战将是完成确定的人工任务,如更新BGP 路由表,这是一项重复性的工作并且非常耗时,我们需要自动处理这项任务来降低管理的开销。这样做可以让管理员将精力放在更加重要的问题上面,并且使他能够有效地利用自己的时间。

2. Array 提供最佳的解决方案

Array Networks提出了基于APV-LLB的解决方案:

在内部交换机和连接ISP的路由器之间,跨接一台APV智能交换机,所有的地址处理和Internet链路优化全部由它来完成。

对流出流量,可以进行智能地址管理,APV使用了称为SmartNAT的算法:当选定某一个ISP传送流出流量时,APV将选择该ISP提供的地址;为了优化流出的流量,APV还为流出的流量实施最快响应时间运算,内部主机要访问某外部服务时,可选择更有效的ISP路径。

对流入流量,APV-LLB集成的SmartDNS功能能够完成流入流量的负载均衡;使用与流出流量相同的最短响应时间判断机制,选择最佳的流入流量传输路径,进行最终的解析地址。

2.1 方案介绍

图中多宿主网络通过ISP1和ISP2接入Internet。每个ISP都分配给该网络一个IP地址网段,假设:

ISP1分配的地址段为100.10.1.0/24

ISP2分配的地址段为200.20.1.0/24

同样,Internet知道通过ISP1访问100.10.1.0/24,通过ISP2访问200.20.1.0/24。网络中的主机和服务器都属于私有网段192.168.1.0/24。

Array Networks的解决方案就是在内部交换机和连接ISP的路由器之间,跨接一台APV-LLB智能交换机,所有的地址处理和Internet链路优化全部由APVC-LLB智能交换机来完成。

如图所示,APV-LLB智能交换机的外侧端口1上绑定IP地址100.10.1.2/24,外侧端口2上绑定IP地址200.20.1.2/24,内侧端口上绑定IP地址192.168.1.1/24。解决方案实现方式如下。

2.2  流出(Outbound)流量处理

APV主要采用以下方式来处理流出流量。

SmartNAT

对于流出流量的智能地址管理,APV-LLB使用了称为SmartNAT的算法。当选定一个路由器(某一个ISP)传送流出流量时,APV-LLB将选择该ISP提供的地址。在图二中,如果APV-LLB选择ISP1作为流出流量的路径,则它将把内部的主机地址192.168.1.A/24翻译为100.10.1.10/24,并作为流出数据包的源地址。同样,如果APV-LLB选择ISP2作为流出流量的路径,则它将把内部的主机地址192.168.1.A/24翻译为200.20.1.10/24,并作为流出数据包的源地址。

采用SmartNAT时,APV-LLB支持的负载均衡算法包括:

Round Robin

APV-LLB按照顺序的选择多个出口链路作为每个数据流的流出路径。

Weighting Round Robing

APV-LLB为每个出口链路设定一个加权值,并根据加权值顺序的选择多个出口链路作为每个数据流的流出路径,权值大的链路被选择的次数多。通过此算法,企业可以在多条带宽不同的链路间合理分配流量,带宽高的链路权值大,因此承载的流量就高。

Shortest Response Time

为了优化流出的流量,APV-LLB还为流出的流量实施最快响应时间运算。如果内部主机要访问某一Internet站点,可能通过一个ISP的路径比通过其他ISP的路径有效。因此,APV-LLB可以提供最短响应时间算法,为流出到某一个站点的流量选择最佳的ISP路径,保证所需内容最快到达目的地,提高服务的品质。

Destination IP-Based Routing

根据双链路网络的特点,APV-LLB还提供基于每个数据流的目标IP地址的路由选择算法。APV-LLB会检查每个流的目标IP地址是否属于预先设定的一个地址范围,若是,则选择某一条特定链路作为该数据流的流出路径。通过此算法,用户可以设定目标IP地址属于网通范围的,通过网通的链路流出,属于电信地址范围的流量则通过电信的链路流出。

2.3 其它重要功能设置:

链路健康检查

APVC-LLB在多宿主网络中的一个主要作用是检测ISP链路的可用性,即健康状况。因此,APVC-LLB提供了链路健康检查的功能,从而保证多条数据链路的正常,提高服务质量。

路径健康检查

公司访问Internet的可靠性不仅仅是由ISP路由器提供的链路状况决定的,而是由整个数据流经的路径决定。因此,APVC-LLB提供了路径健康检查的功能,从而保证整条数据路径的正常,提高服务质量。

策略路由

APVC-LLB可以设置基于用户数据包源IP/Port、目标IP/Port的策略路由,通过该功能可以帮助学习人为的对特殊的流入流出流量进行规划,比如某个院系的应用系统需要比较高的数据传输带宽,而企业的多条Internet链路的带宽存在不均衡性,管理员可以选择一条带宽更高的链路承载这个院系的数据流量。

总结:建议流出流量使用Destination IP-Based Routing规则与Shortest Response Time规则相结合的方法,当用户上网访问目标IP地址属于网通范围的,通过网通的链路流出,属于电信地址范围的流量则通过电信的链路流出。对于其他不不属于网通与电信地址范围的站点,用户访问根据最快响应时间的算法,APV-LLB会判断从2个链路到目标站点的响应时间哪个更短,将用户流量导向响应时间较小的链路上,也就是用户通过速度最快的链路进行访问。

2.4 流入(Inbound)流量处理

APV-LLB不仅需要管理流出的流量,还必须管理来自Internet的访问,即流入(InBound)流量。假设图四中的ServerWeb服务器,Internet主机名为llb.arraynetworks.net,地址为私有IP192.168.1.100/24

SmartDNS

APV-LLB上集成的SmartDNS功能能够完成流入流量的负载均衡。

图:流入流量的负载均衡

如图所示,在DNS服务器上注册两笔NS记录,指向APV-LLB:

llb.arraynetworks.net 100.10.1.10

llb.arraynetworks.net 200.20.1.10

而在APV-LLB上设置静态的地址翻译:

192.168.1.100 100.10.1.10

192.168.2.100 200.20.1.10

当有Internet用户访问llb.arraynetworks.net时,DNS服务器回应给用户由APV-LLB来完成最终地址解析。APV-LLB根据具体设置来选定适当的ISP线路,如果选择ISP1,则将地址解析为100.10.1.10。同样,如果选择ISP2,则将地址解析为200.20.1.10。从而完成流入流量的负载均衡。

采用SmartDNS时,APV-LLB支持的负载均衡算法包括:

l Round Robin

APV-LLB顺序的将多个ISP的IP地址作为每次用户解析请求的返回值。

l Weighting Round Robing

APV-LLB为每个ISP的IP地址设定一个加权值,并根据加权值顺序的选择多个ISP的IP地址作为每次用户解析请求的返回值,权值大的ISP的IP地址被选择的次数多。通过此算法,用户可以在多条带宽不同的链路间合理分配流量,带宽高的链路权值大,因此承载的流量就高。

l Source IP-Based Routing

APV-LLB还提供基于每个数据流的源IP地址的路由选择算法。APV-LLB会检查每个用户解析请求的源IP地址是否属于预先设定的一个地址范围,若是,则选择某一个ISP的IP地址作为该次用户解析请求的返回值。通过此算法,用户可以设定源IP地址属于网通范围的,通过网通的链路流入,属于电信地址范围的通过电信的链路流入。

总结:建议流入流量使用Source IP-Based Routing规则,当用户请求的Local DNS地址属于网通地址范围的,通过网通的链路流入站点,属于电信地址范围的流量则通过电信的链路流入。对于其他不不属于网通与电信地址范围的站点,用户访问可以将默认的算法定向到某一个性能较好的ISP链路上,也可以根据Weighting Round Robing的算法,为每个ISP的IP地址设定一个加权值,并根据加权值顺序的选择多个ISP的IP地址作为每次用户解析请求的返回值,权值大的ISP的IP地址被选择的次数多。通过此算法,用户可以在多条带宽不同的链路间合理分配流量,带宽高的链路权值大,因此承载的流量就高。

更多产品