这是一道互联网大厂的面试真题,主要考察的就是DNS域名解析的过程是什么样的。以此为背景进而考察安全相关问题。综合性还是很强滴。本文将从案例出发开始一步一步深入。

一、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地址没有问题,然而访问他的域名就会出现错误。


更多相关文章

  1. 中国省市区地址三级联动jQuery插件
  2. 整理:Google jQuery 引用地址大全和方法(转)
  3. 导入地址簿联系人,存储在数组中并保存到数据库
  4. 纯 html 以及 js 多域名跳转
  5. 【竞价网站绝技】根据访客ip,页面显示访客所属城市的html代码(借用
  6. 程序员送女朋友的礼物:域名和祝福视频
  7. 浏览器的地址栏尺寸是否会影响CSS媒体查询?
  8. html高德地图ip定位之后拖动自定义定位地址
  9. PHP将邮件发送到多个电子邮件地址

随机推荐

  1. Markdown 必备神器
  2. 《Python知识手册》,V3.0版来了,2021年,走起
  3. 五分钟看懂一道中等难度的算法题
  4. 学算法的那些年,吴师兄接触的网站、软件、
  5. 这是什么沙雕题目?测试用例居然有人身高为
  6. 惊叹,Pyecharts绘制饼图原来可以如此漂亮!
  7. 结婚这件小事
  8. Matplotlib 动态图还可以这样玩,收藏了!
  9. (美团)巧用数组下标,轻轻松松找出所有元素
  10. 字节一面,面试官告诉我链表掌握的不熟练