1、F 5 GTM 与 LC 配合工作说明1. 为什么要使用 GTM在原 Chinanet 分为北方 China Netcom 和南方 China Telecom 之后。由于南北网络之间的互联问题。出现了从南方用户访问北方网站或北方用户访问南方用户访问速度较慢的问题。其出现的根本原因为南北网络的互通互联接点拥塞,造成用户丢包、延迟较大,从而导致访问缓慢,甚至对于一些应用根本无法访问。对于一个运行关键业务的电子商务网站来说,保持用户的访问速度和访问的成功率非常重要。需要一套系统来解决南方和北方用户的访问问题。以下是一张实测数据表,测试在每一次访问中,采用同一个客户端,分别访问同一台服务器在网通和电信
2、两条链路的虚拟服务地址。总共 60 秒钟,请求同样的内容。测试项目 网通北京 ADSL 用户访问 12 月 2 日凌晨 1 时广东电信用户访问,宽带用户,带宽未知,12 月2 日 16:30网通北京 ADSL用户访问,12 月2 日 16:00上海 ADSL 宽带用户访问,12 月 2 日 20:00访问目的链路 网通 电信 网通 电信 网通 电信 网通 电信60 秒完成请求数:72 69 4 76 52 47 19 35每秒钟完成请求数1.20 1.15 0.07 1.27 0.87 0.78 0.32 0.58总共发送字节数(in KB)14.19 13.47 0.96 14.96 13.
3、61 12.23 3.87 7.03每秒发送字节数(in KB/s)0.24 0.22 0.02 0.25 0.23 0.20 0.06 0.12总共接收字节数(in KB)4148.24 4001.90 256.58 4388.54 3019.94 2703.26 21.73 39.83每秒接收字节数 (in KB/s)69.12 66.68 4.28 73.12 50.32 45.05 0.36 0.66表中可以看出,对于同一个应用,一个用户分别从两条线路进行访问,得出的访问速度差异是非常大的。最大的差值在广东电信分别访问站点的两条线路,其速度差异接近 20 倍。F5 GTM 与 LC 多
4、链路多站点接入方案F5 公司北京办事处 22. GTM 工作模式F5 BIGIP-GTM 主要通过 DNS 解析来控制用户访问的目的站点。对于多个数据,多条链路的情况下,首先采用 F5 BIGIP-LC 将一个数据中心内的同一组服务对外映射成分布在多条链路上的 VS。用户通过统一的域名访问如,GTM 将根据内部的算法,选择一个最佳的 VS 与访问域名对应后返回个发起 DNS 请求的客户端。从而引导用户访问最佳的数据中心并通过最佳的链路。GTM 上采用 DataCenter、VS 、和 WideIP 来标识系统中的各元素,系统逻辑结构图如下:F5 GTM 与 LC 多链路多站点接入方案F5 公司
5、北京办事处 3其中:GTM 配置: VS:表示各线路真实对外提供服务的 IP 地址,在本系统中, VS 为BIGIP-LC 上映射的后端服务器地址。每一个后端的应用均对外在每条链路上映射一个地址。 WideIP:表示外部用户访问的统一域名如 ,每个 WideIP均与相应的多个 VS 相对应,对于每一个 LocalDNS 的请求,GTM 均会选择一个或多个相应的 VS 地址返回。WideIP 主要负责 A 记录的解析。 DataCenter:用于标识线路或数据中心,位于同一个数据中心的所有VS、GTM 配置上均位于同一个 DataCenter。如果在一个 DataCenter 有多条链路,则所有
6、的 VS 将会关联在不同的链路上。 Link: 用于标识每个 DataCenter 接入的链路,该链路信息由 GTM 通过 iQuery 协议从 BIGIP-LC 上获得。 Zone Runner/BIND:在 GTM 内部用于解析非动态域名,提供标准DNS 服务器的所有功能。包括 SOA、NS 、MX 和 A 记录的解析。BIGIP-LC 配置: Link:用于标识每个 DataCenter 的接入链路, BIGIP-LC 负责统计每条链路上的流量、连接数等信息,以提供 GTM 实现分配选择。 VS:表示对应于各线路的服务地址,该地址为虚拟地址 Pool:用于对后端的服务器分组,在同一组内可
7、以是一个或多个服务器F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 4组成的负载均衡组。BIGIP 将对 VS 的访问根据预先定义的算法分配到 Pool 中的每个 Member 节点上。 Member:标识每一台真实的服务器地址和提供服务的端口。3. BIGIP-LC 工作模式由于采用了多条链路接入,则此时必将面临将系统中的一台或多台服务器同时对多条链路提供服务的问题。在系统设计中,我们采用了 F5 BIGIP 来实现了多出口接入。如图:在 BIGIP-LC 实现多链路接入的时候,采用了 BIGIP-LC 上的 AutoLastHop技术。对于每条线路,在 BIGIP-LC
8、上均配置一个与线路分配网段对应的 IP 地F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 5址,这些 IP 地址均映射到后端的一台或同一组服务器。当用户访问不同地址的时候,BIGIP-LC 上将建立每个请求与来源设备 Mac 地址的对应关系表。即将每个用户的请求连接和上端的路由器 MAC 地址进行对应,在服务器数据返回的时候,则根据该对应表将返回的数据包发送到相应的路由器,避免了数据往返通路不同的问题。同时,通过 LC 上的 Transparent Monitor,可以对每条链路的健康状态进行独立检查。并通过链路和 VS 的绑定,将 VS 和链路的状态信息进行关联,以备 GT
9、M 进行解析决策。4. GTM 与 LC 的协同工作模式GTM 与 BIGIP-LC 之间采用 iQuery 协议进行加密通讯。该协议采用 443端口,采用标准 SSL 加密通讯协议对传输内容进行封装。在协议层全部采用业界标准 XML 进行数据传输。典型的传输内容格式如下:F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 69.2.0BIG3D Version 9.2.0.150.0.0linux379676193629186047409599701468604126273929076123100000iQuery 通讯为双方向通讯。 GTM 可以从 BIGIP-LC 上获得以
10、下主要信息:VS 定义:通过配置 Auto Discovery,GTM 可以自动从 LC 上获取所有的VS 定义和 Link 定义,从而不需要在 GTM 中对这些配置进行重新定义和配置。当 LC 上进行 VS 的添加或删除时, GTM 可以自动在配置中对这些 VS 进行添加和删除,以供 WideIP 算法进行选择。Link Throughput: 链路的带宽使用状态,即每条链路实际使用的带宽大小,GTM 获得该信息之后,可以通过带宽负载均衡算法对用户的访问请求进行动态调整分配,使每条链路的带宽使用保持平衡。同时,在 GTM 上也可以通过限制每条链路的使用带宽来调整分配算法,避免单条链路使用带宽
11、达到其极限值,避免网络层丢包造成用户访问失败。该设置也适用于不同的数据中心之间的链路选择。Link Status:链路的通断状态。即每条链路的当前健康状态。GTM 获得该信息后,则可以通过链路当前的健康状态决定是否将新的用户请求分配到该F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 7链路上。如果发现链路故障,则将该链路关联的所有 VS 设置为不可用状态,并停止将新的用户分配到这些 VS 上,从而避免用户访问失败。VS Connections: 每条链路上每个应用的当前并发连接数。GTM 获得该信息后,可以通过负载均衡算法和上限设置方法平衡每条链路上各个应用的实际分配连接数,
12、避免单个 VS 在单条链路上的连接数过高而导致用户访问失败。该设置也适用于不同的数据中心之间的链路选择。VS Kilobytes/Second: 即每条链路上的 VS 的流量值。GTM 获得该信息后,可以通过负载均衡算法和上限设置的方法平衡每条链路上各个应用的实际适用带宽,避免单个 VS 在单条链路上的连接数过高而导致用户访问失败。该设置也适用于不同数据中心之间的链路选择。 在 GTM 从 LC 上获取信息的同时,也可以驱动 LC 进行 Round Trip Time 算法的探测工作当 GTM 收到一个 Local DNS 请求时,会首先查找本地的 RTT 表。如果请求的 Local DNS
13、在该表中,则直接返回 RTT 值最小的链路上的 VS 给 Local DNS。如果访问的 Local DNS 不在表中,则先随机选择一个 VS 返回给 Local DNS,然后通过 iQuery 协议通知每个 DataCenter 的 LC 对该 Local DNS 进行探F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 8测。在得到返回信息后,将返回值存放在 RTT 表中,以待下次使用。当某一条链路发生故障时,则 GTM 将选择次好的链路所对应的 VS 返回给Local DNS。从而保证用户的最佳体验。5. 协同工作模式带来的优点 可支持多中心、多链路的网络结构当在系统结构中
14、存在或者将来准备扩展到多中心,每个中心多链路并行的结构时,只有通过 GTM + LC 的协同工作模式,才能实现系统的整体规划,统一调度。而目前在市场上还没有其他任何产品可以实现该功能。 可避免单条链路使用带宽过高的情况通过 GTM 从 LC 上获取每条链路的带宽状态,并设定理论最高阀值,可有效的避免由于优化算法可能带来的单条链路带宽使用过高的情况。从而避免由于单链路达到阀值造成的丢包和用户无法访问的问题。F5 GTM 与 LC 多链路多站点接入方案F5 公司北京办事处 9 自动发现通过 GTM 和 LC 之间的加密通讯协议,GTM 可自动发现和删除在 LC 上定义的 VS 和 Link,简化了网络的运营和管理,避免运维中可能存在的人为风险。