基于IP路由的GSLB是基于路由器原有的路由算法和数据包转发能力工作的。
如图所示,有两个本地均衡器1和2,放在不同的POP点中,负责各自POP点内的服务器的负载均衡。先为这两个本地均衡器配置一个相同的VIP地址,对IP网上的路由器来说,这是到同一个IP地址的两条不同的路由。
1)当终端a输入URL访问网站时,DNS系统会把VIP作为域名解析结果反馈给终端。
2)终端向这个VIP发送请求时,请求数据包经过路由器A,路由器A查看路由表来决定通过哪条路径转发数据包至VIP。它会发现有两条不同的路由,然后基于路由协议算法选择一条路由到达这两个本地均衡器中的一个。
因为每次访问请求的终端IP地址不同,路由条件也不同,所以在多个路由器上优选的路由不同,从统计复用的角度来看基本是在负载均衡器1和2之间均匀分布的。这样,就通过路由器实现了两个POP点之间的负载均衡。
上面讲述的这种基于IP路由的GSLB方案主要艘建议用于使用IGP协议(内部网关协议)的一个城域网或者自治城内部,很难实现基于BGP协议(外部网关协议)的畴自治域全国性负载均衡。
因为在默认情况下,大多数BGP协议的路由器都不维护单台主机的路由,否则会导致路由表过于庞大。运营商为了控制路由条目的数量,也会丢弃主机路由。但是为了让基于IP路由的GSLB能正常工作,每台路由器都必须维护一条到VIP的主机路由。这样,就要求选用这种GSLB方案的CDN服务商与运营商相协调路由器针对某个VIP的主机路由可用,