漫画:这是我见过对DNS最通俗易懂的解释了

开源Linux

共 1646字,需浏览 4分钟

 ·

2021-04-04 01:21

亲爱的,我出去一趟。




你要去干嘛?

有事。




有什么事?

我跟同事讨论下网络方案。




讨论什么方案?

我跟你说了,你也不知道。




你说呀!你不说怎么知道我不知道。

那好吧,我给你讲一讲,看你能不能给我一点建议。最近有个局点需要配置DNS代理功能。




什么是DNS?

DNS就像是网络世界的地图,根据域名查找对于的IP地址,能够让用户更方便的上网。


DNS是域名系统(Domain Name System)的简称,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。


我上网的时候,会用到DNS吗?

我们上网都有用到它,例如访问某个网站,输入的是网址,实际机器访问的是ip地址。



以访问www.163.com为例,看下是DNS会进行哪些操作:
主机名.次级域名.顶级域名.根域名
www.baidu.com.root
  1. 首先查找电脑上的DNS缓存列表,如果有记录,那么直接返回对于IP地址,否则进行下一步;

  2. 查找电脑上的HOST文件的映射关系,如果有记录,那么返回对于IP地址,否则进行下一步;

  3. 查找互联网线路供应商的本地DNS服务器(即中国电信、中国移动或中国联通),本地DNS服务器先查找自己的缓存记录,如果有记录,那么返回对于IP地址,否则本地DNS服务器向根域名服务器发生请求;

  4. 根域名服务器收到请求后,查看是.com顶级域名,于是返回.com顶级域名服务器的IP地址给到本地DNS服务器;

  5. 本地DNS服务器收到回复后,向.com顶级域名服务器发起请求;

  6. .com顶级域名服务器收到请求后,查看是.baidu.com次级域名,于是返回.baidu.com次级域名服务器的IP地址给到DNS服务器;

  7. 本地DNS服务器收到回复后,向.baidu.com次级域名服务器发起请求;

  8. .baidu.com次级域名服务器收到请求后,查看是自己管理的域名,于是查看域名和IP地址映射表,把www.baidu.com的IP地址返回给本地DNS服务器;

  9. 本地DNS服务器收到回复后,向电脑回复域名对应IP地址,并把记录写入本地DNS服务器的缓存里;

  10. 电脑收到回复后,使用IP地址访问网站,并把记录写入电脑DNS缓存中。


DNS缓存可以提高查询效率,但是当域名和IP地址映射关系发生变化时,或者缓存的IP地址对应的服务器故障时,使用DNS缓存就不能正常访问网站了,因此DNS缓存默认也是有时间限制的。

那你说的DNS代理有是干什么用的?

顾名思义,DNS代理代替电脑跟DNS服务器进行请求和查询。作用是简化网络配置和集中管理。


DNS代理(DNS Proxy)用于在DNS Client和DNS Server之间转发DNS请求和应答报文。局域网内的DNS Client把DNS Proxy当作DNS Server,将DNS请求报文发送给DNS Proxy。DNS Proxy将该请求报文转发至DNS Server,并将DNS Server的应答报文返回给DNS Client,从而实现域名解析。

使用DNS Proxy功能后,当DNS Server的地址发生变化时,只需改变DNS Proxy上的配置,无需改变局域网内每个DNS Client的配置,从而简化了网络管理。


上次我打开百度网站,却跳转到一个广告网站,这是怎么回事?

这个就是DNS劫持,把目标网站域名解析到错误的IP地址上。这时可以把DNS地址设置成运营商提供的IP地址,或者设置成公共DNS服务器IP地址。就像你买衣服一样的,去商场买名牌,尽量不去买质量和服务都不靠谱的地摊货。




说到买衣服,我的建议是陪我去逛街看看衣服吧,为双十一做准备。

这 ......



关注「开源Linux」加星标,提升IT技能

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报