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

基于IP路由的GSLB《CDN技术详解》基于IP路由的GSLB是基于路由器原有的路由算法和数据包转发能力工作的。如图所示,有两个本地均衡器1和2,放在不同的POP点中,负责各自POP点内的服务器的负载均衡。先为这两个本地均衡器配置一个相同的VIP地址,对IP网上的路由器来说,这是到同一个IP地址的两条不同的路由。1)当终端a输入URL访问网站时,DNS系统会把VIP作为域名解析结果反馈给终端。2)终端向这个VIP发送请求时,请求数…

大家好,又见面了,我是你们的朋友全栈君。

基于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的主机路由可用,这种协商很可能不被运营商接受,这也是本方案实施的局限性。

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

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

图中的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进行变更。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143013.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【pycharm】解决pycharm无法在settings里安装库的问题

    【pycharm】解决pycharm无法在settings里安装库的问题本来想直接在pycharm的setting里安装库,但是安装的时候一直转圈圈,要么是太慢要么显示失败。发现用命令行可以解决这个问题。具体操作如下:打开命令行,输入下面语句(确保路径一致)。安装完成:刷新一下pycharm的setting中显示库的界面,可以看到已经更新了不少个库。搞定~~…

    2022年8月26日
    3
  • 素数定理整合_素数定理简单证明

    素数定理整合_素数定理简单证明埃拉托色尼筛法基本素数判别法:正整数n是素数,当且仅当他不能被任何一个小于sqrt(n)的素数整除定理:如果m是一个合数,那么n一定有一个不超过sqrt(n)的素因子推论:如果n是一个合

    2022年8月2日
    2
  • acwing-167. 木棒(深搜dfs+减枝)「建议收藏」

    acwing-167. 木棒(深搜dfs+减枝)「建议收藏」乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入格式输入包含多组数据,每组数据包括两行。第一行是一个不超过 64 的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。输出格式为每组数据,分别输出原始木棒的可能最小长度

    2022年8月9日
    3
  • 发现一个非常好的的VB学习网站。www.newxing.com[通俗易懂]

    发现一个非常好的的VB学习网站。www.newxing.com[通俗易懂]
    www.newxing.com 会经常上上看的。
     

    2022年6月21日
    67
  • 几种将网站设为首页的代码是_网页设计基本代码

    几种将网站设为首页的代码是_网页设计基本代码加入收藏夹,设为首页代码把以下代码加入相应位置:加入收藏设为首页鼠标指向时提示设为首页将下列代码插入区中:设为首页打开页面时自动弹出窗口询问是否设为首页将以下代码放在之间:functionmyhomepage(){this.homepage.style.behavior=’url(#default#homepage)’;this.homepag

    2025年6月22日
    0
  • 从零开始ARM裸机开发之建立开发环境

    从零开始ARM裸机开发之建立开发环境从零开始ARM裸机开发之建立开发环境                                   –参考朱有鹏ARM裸机课程1、前言:以前学过TQ2440的程序,在Ubuntu中建立的环境是不符合S5PV210需要的开发环境的这篇博文主要讲解一下建立一个简单的嵌入式开发环境需要什么?2、回

    2022年5月6日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号