双中心GSLB域名寻址算法

admin 2024年6月7日00:50:00评论2 views字数 1195阅读3分59秒阅读模式
双中心GSLB域名寻址算法

术语解答:GSLB (Global Server Load Balance)全局负载。

之前已经引入过GSLB作为双中心入口承载全局负载择优选路功能的宏观技术实现,这篇文章我们将进一步揭露在实现高可用的质量保障下,一个域名映射多个互联网IP时,用户最终是用哪个地址来进行访问的。

01

IPv4地址的珍贵属性

Precious Attributes

为满足互联网业务高可用,同时秉承不浪费的原则,当前我们为生产业务每条专线都分配了一个IPv4互联网地址,测试业务也分配一个IPv4地址保证可用。对于特殊需求业务额外分配同等数量的IPv6地址进行互联网访问。那么,当前我们拥有的IPv4地址到底有多珍贵呢?

域名机构(IANAICANN)与美国政府的爱恨情仇不在这里赘述,最终呈现的结果就是当前的域名所属权是ICANN社区社群管理,而该机构也将地址的划分权分配给了5个区域互联网注册管理机构(RIR),下图中数字表示各RIR拥有的/8 IPv4地址个数。

双中心GSLB域名寻址算法

基于IANA官网进行二次加工

随着大量移动终端的出现,IPv4地址也面临枯竭的局面,下图为个人整理出来的IPv4枯竭时间轴。

双中心GSLB域名寻址算法

02

GSLB域名寻址算法

Addressing Algorithm

上面说明了IPv4地址的珍贵性,下面来细说下在域名有多个映射地址的场景下,通过什么算法机制来返回给用户IPv4地址呢?

第一原则肯定是就近原则,比如说移动用户返回移动,以此类推。如果没有识别出来该用户的归属,那就按照第二原则两条带宽高的专线轮询返回地址。

二话不说直接抓包来说明下:源地址2xx.x.x5.20的用户要访问E信,从报文结果来看最后域名返回的地址是39的移动地址

双中心GSLB域名寻址算法

互联网全局来查,用户也确实是移动用户:

双中心GSLB域名寻址算法

那么这中间的算法是怎么计算的呢,继续上图为证:

双中心GSLB域名寻址算法

可以看到,GSLB根据就近原则会把每一条记录都进行计算,39地址最终得分100,另外两条专线地址得分都是not higher,所以最终39地址高分通过,GSLB将39地址返回给用户。

上面这种情况是最标准的情况,就近原则同进同出。但是如果没有识别出来专线运营商,又是怎么计算的呢,继续来一条网工的传统手艺,抓包上图为证:

双中心GSLB域名寻址算法

上图的算法逻辑是:因为没有识别出来用户的运营商,所以按照第二原则两条带宽高的专线轮询返回地址,在分别计算移动和电信连个专线的得分都是75后;最后又比对了一下联通的得分,发现联通是80分超过上面两种计算方式,所以最终GSLB返回了211联通的地址。经过查询,该用户地址也确实是联通的:

双中心GSLB域名寻址算法

通过以上庖丁解牛的分析,想必大家对GSLB的算法原理有了初步的印象,在一边感叹算法精密的同时,伴随IPv4地址全球逐渐枯竭的现状,我们后期也会酌情采取地址复用的优化策略来保证资源存量,所以当前的IPv4地址大家且用且珍惜。

双中心GSLB域名寻址算法

文章作者 / 赵旭彤

封面设计 / Lina

原文始发于微信公众号(EBCloud):双中心GSLB域名寻址算法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月7日00:50:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   双中心GSLB域名寻址算法https://cn-sec.com/archives/2818994.html

发表评论

匿名网友 填写信息