基于IP路由的GSLB《CDN技术详解》

基于IP路由的GSLB是基于路由器原有的路由算法和数据包转发能力工做的。web

如图所示,有两个本地均衡器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的主机路由可用,这种协商极可能不被运营商接受,这也是本方案实施的局限性。服务器

2006年Cisco公司叉提出一种LISP协议(Locator/ID Separation Protocol),用于多数据中心选址。它的核心思想是对数据包进行IP嵌套,实现访问同一IP地址(内层IP)的请求被路由到不一样目的IP(外层IP)去。负载均衡

在这里插入图片描述
简单的LISP的工做原理,如图所示。
LISP工做原理svg

图中的ITR和ETR是两台边缘设备MR与MS协同完成管理任务。学习

用户发往目的主机的数据报文第一次到达客户区域的LISP边缘设备ITR时,ITR会根据报文的目的IP地址向MR请求查询对应的ETR的公网IP(Locator IP),而这个IP地址的得到是经过MR与MS、ETR的通讯得到的。得到LoCator IP之后,ITR会把它封装在数据报文的外层报头中,再将数据报文发到公网上。数据报文到达ETR时,ETR会剥去外屡报头,再根据内层报头的IP和端口信息进行转发。这样,即便多个用户访问的是同一个目的IP,也可能由于外层封装中的LocaLorIP不一样而被调度到不一样的POP点去。网站

LISP中各角色之间的关系人都是经过手工指定的方式创建的,如ITR上须要指定MR地址,ETR上须要指定MS地址,ETR发布哪些内部IP信息到MS上,都是手工指定的。只有MR和MS之间能够经过BOP来创建邻接关系。LISP有两个优势,一是公网设备不须要学习站点内部明细IP路由项,二是当访问的目标服务在站点间迁移时,能够只变动Locator IP,而不须要对真正的目的IP进行变动。3d