域名解析

域名解析是域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP地址网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。 域名解析就是域名到IP地址的转换过程。 域名解析工作由DNS服务器完成。

1.DNS定义:

DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。

2.DNS作用:

(1)解析域名

人们在通过浏览器访问网站时只需要记住网站的域名即可,而不需要记住那些不太容易理解的IP地址。在DNS系统中有一个比较重要的的资源类型叫做主机记录也称为A记录,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。如果你有一个自己的域名,那么要想别人能访问到你的网站,你需要到特定的DNS解析服务商的服务器上填写A记录,过一段时间后,别人就能通过你的域名访问你的网站了。

(2)负载均衡

DNS除了能解析域名之外还具有负载均衡的功能,下面是利用DNS工作原理处理负载均衡的工作原理图:

由上图可以看出,在DNS服务器中应该配置了多个A记录,如:

 
  1. www.apusapp.com IN A 114.100.20.201;

  2. www.apusapp.com IN A 114.100.20.202;

  3. www.apusapp.com IN A 114.100.20.203;

3.DNSPod

介绍下DNSPod。DNSPod 是一款免费智能DNS产品。DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,达到互联互通的效果。能够让使用双线路或拥有多镜像的网站站长轻松实现智能DNS解析,让用户仅用单域名即可访问到最快速的镜像。

 

  如上图,我们可以给不同的线路(电信、网通、教育网)设置不同的IP(服务器),除此之外,DNSPod还支持,DNS轮询功能,可帮助网站进行均衡负载。如下图:

 

  接下来需要介绍下什么是DNS轮询。大多域名注册商都支持多条A记录的解析,其实这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,逐一分配到不同的IP上,这样就完成了简单的负载均衡。

因此,每次域名解析请求都会根据对应的负载均衡算法计算出一个不同的IP地址并返回,这样A记录中配置多个服务器就可以构成一个集群,并可以实现负载均衡。上图中,用户请求www.apusapp.com,DNS根据A记录和负载均衡算法计算得到一个IP地址114.100.20.203,并返回给浏览器,浏览器根据该IP地址,访问真实的物理服务器114.100.20.203。所有这些操作对用户来说都是透明的,用户可能只知道www.apusapp.com这个域名。

4.就近IP地址访问的算法和CNAME(别名)的好处

就近IP地址访问的算法,当我一个IP到DNS上面请求DNS域名解析的时候,DNS系统会根据你的IP地址所到达的域名对应的IP地址中路由跳数最小的那个IP地址作为访问的IP地址,具体你可以用LINUX的NSLOOKUP来查看域名所对应的IP地址,然后用PC的TRACERT的功能把所有DNS解析出来的IP地址进行跳数记录,然后在访问该域名,查看具体是哪个地址解析给你的PC。
比如百度,你会发现他上面实际解析出来的不是IP地址,而是 http://www.a.shifen.com这个域名,这个域名往下面去才是IP地址,而我估计,这个域名应该是百度自建的一个域名系统,最重要的作用就是指定你的IP所访问百度这个网址会使用到哪个IP地址,而使用CNAME有个好处就是,我IP地址去做改动的时候不需要去DNS运营商上面做改动,只需要自己的服务器做改动就好,方便自己的域名与实际IP地址做对应。

作者:池跃华
链接:https://www.zhihu.com/question/36891472/answer/69455356
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5.DNS域名解析负载均衡有如下优点:

1. 将负载均衡的工作交给DNS,省去了网站管理维护负载均衡服务器的麻烦。

2. 技术实现比较灵活、方便,简单易行,成本低,使用于大多数TCP/IP应用。

3. 对于部署在服务器上的应用来说不需要进行任何的代码修改即可实现不同机器上的应用访问。

4. 服务器可以位于互联网的任意位置。

5. 同时许多DNS还支持基于地理位置的域名解析,即会将域名解析成距离用户地理最近的一个服务器地址,这样就可以加速用户访问,改善性能。

6.DNS域名解析也存在如下缺点:

1. 目前的DNS是多级解析的,每一级DNS都可能缓存A记录,当某台服务器下线之后,即使修改了A记录,要使其生效也需要较长的时间,这段时间,DNS任然会将域名解析到已下线的服务器上,最终导致用户访问失败。

2. 不能够按服务器的处理能力来分配负载。DNS负载均衡采用的是简单的轮询算法,不能区分服务器之间的差异,不能反映服务器当前运行状态,所以其的负载均衡效果并不是太好。

3. 可能会造成额外的网络问题。为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,
一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。

事实上,大型网站总是部分使用DNS域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组服务器并不是实际提供服务的物理服务器,而是同样提供负载均衡服务器的内部服务器,这组内部负载均衡服务器再进行负载均衡,请求发到真实的服务器上,最终完成请求。

dns 解析,一个域名解析到多个ip地址相关推荐

  1. 引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应

    引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应 ...

  2. 实现一个域名对应多个IP地址和DNS优缺点详解!

    实现一个域名对应多个IP地址和DNS优缺点详解! 1.DNS定义: DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访 ...

  3. 一个网站服务器有多少个ip,一个服务器可以有多少个ip地址

    一个服务器可以有多少个ip地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  4. python判断ip地址是否合法_python实现判断一个字符串是否是合法IP地址的示例

    一个刚结束的笔试题目,简单贴一下吧,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:判断一个字符串是否是合法I ...

  5. aspx 判断字符串是否为decimal_python实现判断一个字符串是否是合法IP地址

    一个刚结束的笔试题目,简单贴一下吧,下面是具体实现: #!usr/bin/env python#encoding:utf-8 '''__Author__:沂水寒城功能:判断一个字符串是否是合法IP地址 ...

  6. Linux下实现一个网卡绑定多个IP地址

    在我们用Linux来架设Web服务器和FTP服务器的时候有可能会遇到在一台服务其上实现多个站点的需要(虚拟主机),这种情况下我们可以通过增加物理网卡,来解决.但是我们的服务器上会有多少多余的扩展槽呢? ...

  7. Shell脚本学习-阶段十二-在CentOS 7上给一个网卡分配多个IP地址

    文章目录-Shell阶段十二-在CentOS 7上给一个网卡分配多个IP地址 前言 在CentOS 7上给一个网卡分配多个IP地址 总结 前言 在CentOS 7上给一个网卡分配多个IP地址 有时你也 ...

  8. 如何判断一个字符串是否为合法的IP地址。

    如何判断一个字符串是否为合法的IP地址. import java.util.Scanner;public class MyTest {public static void main(String[] ...

  9. DNS域名解析实现一个域名对应多个IP地址DNS以及优缺点

    1.DNS定义: DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网. 2.DNS作用: (1)解析域名 人们 ...

最新文章

  1. 学计算机打字一段话,初学电脑基础知识打字
  2. 深度学习还不能解决什么问题?
  3. c语言容斥原理,容斥原理 | 易学教程
  4. matlab铣削表面形貌仿真,进给方向振动辅助铣削三维表面形貌仿真分析
  5. JavaScript操作BOM对象 - document对象; history 和 location对象 ,对话框,Date时间对象...
  6. 【Qt串口波形绘图】基于QCustomPlot的串口波形绘图上位机,源码开放
  7. 使用DirectX9进行遮盖剔除
  8. java多商户商城系统源码下载
  9. 《思考,快与慢》读书笔记
  10. 独立游戏开发入门的 6 个步骤
  11. 数据分析师面临的11个挑战及其解决方法
  12. python标准数据类型叮叮叮
  13. 企业微信如何发成绩给家长-Leo老师来教你
  14. 消费者权益法规的精神
  15. 仿小米商城官网首页模板(HTML+CSS)
  16. 详述如何退出 Vim 编辑器
  17. linux 一次io大小,linux – AWS EBS中IO操作(IOP)的大小是多少?
  18. 让你的写作变得更加高效——最新文章生成工具推荐
  19. RabbitMQ消息确认机制-07
  20. Spark机器学习管道 - Pipeline

热门文章

  1. 三级管集电极开路电路工作原理详细分析
  2. GitHub使用之路
  3. C语言结构体typedef struct详解
  4. 点到平面的距离公式【转】
  5. 康复医疗 趋势引领新蓝海
  6. gradle下载安装(个人记录)
  7. LaTeX Error: File `numcompress.sty‘ not found. 解决方案
  8. 电脑广告弹窗怎么解决?
  9. 让人可怕的团队是怎样炼成的?
  10. 任正非在持股员工代表会上讲:我的家人永不会进入接班人序列