快捷导航
查看: 53|回复: 13

域名解析的IP路由通信的过程表格(内网域名解析)

[复制链接]

1万

主题

0

回帖

1万

积分

论坛元老

积分
12107
发表于 2023-10-9 09:51:51 | 显示全部楼层 |阅读模式
<p data-track="1">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    我们在之前的文章中简单提到过,一个IP可以对应多个域名,那么一个域名可以对应多个IP吗?如果我们想要达成这种效果,需要通过什么技术手段来实现?
   </span>
</p><p data-track="2">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    从理论上讲,一个域名是可以对应多个IP的,在这种情况下,当不同的用户访问该域名时,就会访问到不同的IP地址。比如,现在北京用户在访问example.com这个域名,上海用户也在访问,两个用户虽然都访问同一个域名,但访问的IP地址并不一定相同,而是会根据负载均衡调度系统将距离访客路由跳数最小的那个IP地址返回给对应的访客。这样就能保证不同地区和线路的用户都能获得最快速稳定的访问体验。同时,由于有多个备选IP,当其中一个出现问题时,可以通过宕机切换,提高业务可用性。
   </span>
</p><p class="pgc-img-caption">
</p><p data-track="5">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    要实现一个域名对应多个IP地址的效果,首先需要了解DNS(域名系统)的工作原理。
   </span>
</p><p data-track="6">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人们更方便地访问互联网。我们平时访问网站更多的是通过域名而非IP地址去触达,但域名并不能被计算机直接识别,所以需要通过DNS将域名“翻译”称可由计算机直接识别的IP地址。具体的操作方式,是在DNS解析操作平台,添加一条解析记录(A记录或AAAA记录),将网站的域名指向服务器的IP地址。一般情况下,一个域名对应一个IP地址,也就只需添加一条解析记录即可。如果想要实现一个域名对应多个IP地址,就需要添加多条解析记录,这也是通过DNS实现负载均衡的简单原理。
   </span>
</p><p data-track="7">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    如我们想要将www.example.com这个域名分别指向1.1.1.1(北京电信)、2.2.2.2(上海移动)、3.3.3.3(深圳联通)三个IP。
   </span>
</p><p data-track="8">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    那么我们就可以在DNS服务器中配置三个A记录,分别为
   </span>
</p><p data-track="9">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    www.example.com IN A 114.100.20.201;
   </span>
</p><p data-track="10">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    www.example.com IN A 114.100.20.202;
   </span>
</p><p data-track="11">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    www.example.com IN A 114.100.20.203;
   </span>
</p><p data-track="12">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    这样,每次域名解析请求都会根据对应的负载均衡算法计算出一个不同的IP地址返回给访客,这样就构成了一个服务器集群,并实现负载均衡的效果。在实际场景中,当北京用户访问www.example.com域名时,DNS会根据负载均衡算法和A记录得出一个就近IP地址1.1.1.1返回给客户端,当上海用户访问www.example.com域名时,DNS就会返回给2.2.2.2的服务器地址,深圳用户返回3.3.3.3。
   </span>
</p><p data-track="13">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    不同用户就近访问不同的服务器IP地址,访问速度大大提升,同时也减轻了单个服务器的访问压力。
   </span>
</p><p data-track="14">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    实现负载均衡的方式有很多种,其中DNS是一种十分简单和有效的技术手段,它主要有以下几点优势:
   </span>
</p><p data-track="15">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    (1)将负载均衡工作交给DNS,省去了网站管理维护负载均衡服务器的麻烦;
   </span>
</p><p data-track="16">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    (2)技术实现比较灵活,操作简单,成本低,适用于大多数TCP/IP应用;
   </span>
</p><p data-track="17">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    (3)对于部署在服务器上的应用来说,不需要修改任何代码就能实现不同机器上的应用访问;
   </span>
</p><p data-track="18">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    (4)很多DNS系统还支持基于地理位置的域名解析,可以将域名解析成距离用户地理位置最近的服务器地址,加快用户访问速度。
   </span>
</p><p data-track="19">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    但基于DNS的负载均衡同样也存在一些弊端:
   </span>
</p><p data-track="20">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    1.目前的DNS系统是需要经过递归服务器、顶级服务器、权威服务器以及众多缓存等多级解析的,在每一个环节都可能存在解析记录缓存。如果服务器IP发生变动,即使修改了A记录,也需要各级缓存失效后才能生效。而在解析生效前的这段时间,用户可能就会根据缓存记录访问到已经被更换过的服务器上,从而导致访问失败。
   </span>
</p><p data-track="21">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    2. DNS负载均衡采用的是简单的轮询算法,不能区分不同服务器之间的性能和负载差异,不能反映服务器当前的运行状态,所以负载均衡效果并不太好。
   </span>
</p><p data-track="22">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    3.为了本地DNS服务器能够及时同步权威服务器上的最新记录,所以一般将DNS缓存刷新时间设置得比较小,这就会导致DNS频繁发起解析请求,从而造成额外的网络问题。
   </span>
</p><p data-track="23">
<span style="color: #000000; --tt-darkmode-color: #A3A3A3;">
    所以一些大型网站总是使用DNS域名解析作为第一级负载均衡手段,然后在通过提供负载均衡服务的内容部服务器再进行负载均衡,将最终请求发到真实的服务器上,从而完成最终请求。
   </span>
</p>

1

主题

2552

回帖

3833

积分

论坛元老

积分
3833
发表于 2023-10-19 00:45:37 | 显示全部楼层
学习了,谢谢分享、、、

1

主题

2650

回帖

3980

积分

论坛元老

积分
3980
发表于 2023-10-26 18:58:42 | 显示全部楼层
难得一见的好帖

1

主题

2540

回帖

3815

积分

论坛元老

积分
3815
发表于 2024-1-1 23:10:47 | 显示全部楼层
有点意思,谢谢楼主的无私分享!!!

1

主题

2626

回帖

3944

积分

论坛元老

积分
3944
发表于 2024-2-16 04:13:52 | 显示全部楼层
牛啊兄弟 支持一下

1

主题

2618

回帖

3932

积分

论坛元老

积分
3932
发表于 2024-2-16 04:14:38 | 显示全部楼层
我是个凑数的。。。

1

主题

2670

回帖

4010

积分

论坛元老

积分
4010
发表于 2024-2-16 04:14:39 | 显示全部楼层
学习了,不错,讲得太有道理了

1

主题

2692

回帖

4043

积分

论坛元老

积分
4043
发表于 2024-2-16 04:18:01 | 显示全部楼层
不错不错,楼主您辛苦了。。。

1

主题

2540

回帖

3815

积分

论坛元老

积分
3815
发表于 2024-3-4 12:00:27 | 显示全部楼层
路过,支持一下啦

1

主题

2544

回帖

3821

积分

论坛元老

积分
3821
发表于 2024-3-18 20:22:48 | 显示全部楼层
前排支持下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|聚云老站长 ( 粤ICP备2023011934号-1 )

GMT+8, 2024-5-13 05:55 , Processed in 0.638786 second(s), 24 queries .

快速回复 返回顶部 返回列表