DNS解析域名:域名和IP不相对应,会是什么情况

开一篇补充2个常见但是重要的网络问题:

1.域名和URL是什么?

域名时一台或者一组服务器的名称,用来确定服务器在Internet上的位置(解析为IP后查找)
URL是统一资源定位符(Uniform Resource Locator)

例如:
www.cdcxhl.com 是创新互联网站建设的域名,根据这个域名我们可以找到创新互联网站建设的服务器http://www.idckuai.cn/services/domain/ 是URL,根据这个URL可以定位到网站某一个页面

2.域名会解析为IP,那么域名和IP是一一对应的吗?
不是的,域名和IP是一种多对多的关系。

这里有3点需要知道的:

① 可以将多个提供相同服务的服务器IP设置为一个域名
② 但在同一时刻,一个域名只能解析出一个IP地址(其中一台服务器)
③ 同样,一个IP可以绑定多个域名,数量不限

补充①的情况:

通常多个IP对应一个域名,解析为IP的时候回得到一个IP数组,程序员会拿第一个数组元素,那么这个IP就会被使用,其他IP就没有被使用,会为了实现负载均衡,一些大型网站和CDN服务商会动态改变IP地址的顺序,使得每一个IP地址有机会成为解析结果的第一个IP地址

补充③的情况:

发送的http会有一个Host的字段,比如 Host: www.cdcxhl.com,服务器会根据这个域名,去相应的根目录找到请求的资源。软文营销这时候你想问,如果我直接输入IP呢?访问的是哪个网站?其实这里会有一个默认域名,输入IP设置默认后会定位到该域名的资源,如果不设置则会报错。

一、DNS运行原理
1、为什么要DNS
DNS的作用在于域名解析。每个网站通常都会有一个域名和至少一个IP地址。比如说百度的域名,112.80.248.74就是百度的IP地址。
我们想要访问百度的时候只需要输入域名就可以,当然IP也可以,为什么不使用IP登录呢?看上面的数字就知道,一串复杂的数字难以记忆。我们每天要登录大量的网站可能都需要一个小本子去记录,访问哪个查哪个,效率低下。因此只需要记住域名即可。
但是问题来了,互联网是通过IP地址进行数据的传输的,因此就需要一种手段来把我们的域名映射为IP地址,这就是DNS的作用。

2、DNS工作原理
既然DNS要把域名映射为IP地址,实现步骤是什么样呢?别着急,我们先来了解一下域名服务器的概念。

从上面这张图可以看到,域名的管理是分层次的成都网站制作。高级是根,也叫做根服务器。从上往下功能逐渐细化。DNS就是和这些服务器进行打交道。

有了上面的这些概念,现在我们再来认识一下DNS的工作原理就容易多了。DNS域名解析的过程有两种,我们分别来看一下:

(1)递归查询

意思是每次当前服务器查不到时,都由当前的域名服务器代劳查询。

(2)迭代查询

意思是每次当前服务器查不到时,都由自己亲自再去下属服务器查询。
上面解释的比较清晰。太多的文字并不能很好地解决问题。
OK,知道了DNS如何进行域名解析之后,回到我们今天文章的问题。

二、DNS解析域名与IP不一致,访问了该域名会发生什么
我们的问题是基于DNS工作失败之后出现的状况。因此我们答案就是域名解析出现了故障会发生什么。

(1)域名和IP不一致,域名解析成了其他的的IP地址,但是这个IP地址正确。访问该域名就会访问其他的网站。

如何去做呢?知乎上有一个阿里巴巴的回答:
从技术上来讲是可以解析到任意IP地址的,这时候针对这个地址发起HTTP访问,HTTP头中的host字段会是你的域名(而非该IP对应站点的域名),如果对方的网站HTTP服务器没有做对应的防护就可以访问,如果方的网站HTTP服务器有防护则无法访问。

(2)域名和IP不一致,域名解析成了其他的的IP地址,但是这个IP地址错误,访问该域名就会失败。

还有一种情况:访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。

OK,今天的文章先到这。如有问题还请批评指正。
分享题目:DNS解析域名:域名和IP不相对应,会是什么情况
当前链接:http://hbruida.cn/article/sohpjs.html