DNS的实现,面试常问

很多公司面试都会有这个问题,比如从浏览器输入www.baidu.com打开到显示页面,经过哪些。

从这个简单的问题,可以看出应聘者对网络这块的了解程度。

DNS说白了,就是将域名解析成IP的过程。为什么要解析ip,因为ip才是你真正要访问的东西的地址。

解析的过程中,会产生DNS挟持,DNS污染使得解析的IP错误,造成大面积访问404的问题,

所以很多公司采用httpDNS的方式,来缓存到本地环境,减少这块的错误。

一般DNS解析过程分为

1、递归查询,即发一次请求,等你给结果,主要用于本地dns服务器

2、迭代查询,发一次请求,返回一次,在请求,在返回....用于本地dns服务器向dns根域名服务器

DNS服务器是一个错综复杂的集群缓存服务器,一层一层递进式的方式,来提升效率

DNS根域名服务器的变动不是很频繁,所以本地都会有缓存,通过根域名可以找到域名的顶级dns服务器,也就是www.baidu.com中的.com,根域名告诉本地域名服务器,.com的IP地址,本地域名服务器就访问这个ip,查找下一级的域名对应的域名服务器IP地址,本地域名系统继续访问下一级的域名服务器,最后找到完整域名对应的IP。

当然在查找的过程中,都会先查缓存。

大致过程如下图所示

 当然为了更好的展示自己的技能,你可以使用dig命令查看解析过程

dig www.baidu.com +trace  可以看到详细的dns解析过程。

参考资料:

DNS递归查询与迭代查询 - 皈依之路 - 博客园 (cnblogs.com)

不为人知的网络编程(九):理论联系实际,全方位深入理解DNS-网络编程/专项技术区 - 即时通讯开发者社区! (52im.net)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RenBingo

一点一滴源于你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值