DNS协议

记录一下2022.3.3看的知识点

思考

如果有一个域名你在访问的时候,浏览器说找不到这个地址,这个时候要怎么去排查问题呢?


一、什么是DNS?

先上官方解释:DNS全称Domain Name System,Domain Name被译为域名,中文名为域名系统,也称为域名解析系统;另外域名服务器Domain Name Server也简称为DNS。核心功能是完成域名到IP地址的转换。

其实也好理解。先说一下网页访问:
我们去访问本地的网页时(比如,你用你自己的电脑作为服务器,在自己本地运行你的项目的时候),网址一般都是192.168.X.XX:端口号/资源所在的路径。大噶都机道这个192.168.X.XX就是你自己电脑的ip了,不信你可以win+R,输入cmd,打开DOS,输入ipconfig,就可以看到自己电脑的ip了。
查看电脑ip
但是,我们去访问一些公司的网页时,比如www.baidu.com,为啥就没有输入ip了呢?
因为如我这般记忆力不好的人,怎么可能记得到一长串的ip呢?那有没有更好的方法能够优化访问的操作呢?

噔噔蹬蹬!!!轮到DNS出场了!!!

官方解释是说,DNS的核心功能是完成域名到IP地址的转换。我是这样理解的哈,还是拿百度举例:我去创建一个变量,变量的名字就是 baidu,再给他赋上百度公司的ip,即 baidu=百度公司的ip。那我去访问www.baidu.com的时候就会出现这样的对话:
我:我要访问www.baidu.com
DNS:你要访问百度啊,等我看一下他的ip是多少…
(经过一番查询后)
DNS:百度的ip是115.239.210.27
我:收到,谢谢
通过DNS解析域名再访问的过程

二、DNS的工作原理

1.DNS怎么查找域名对应的ip?

在浏览器输入域名后,DNS会根据以下的优先级挨个去查看有没有对应的ip,直到找到为止。
(1)查看浏览器的缓存
查看域名在浏览器中有没有缓存对应的ip
(2)查看本机的host文件
查看本机的windows/system32/driver/etc中的host文件有没有对应的ip
ps:在没有DNS协议的时候,大佬们就是通过配置host文件,把服务器的ip映射到一个域名上的,再去访问这个域名,就会直接访问这个ip,但是,这样的效果只能在本地实现,其他电脑上就还是得乖乖的访问ip。
(3)查看DNS服务器的缓存
(4)查看根服务器
根服务器会返回下级域名即顶级域名,DNS服务器再去请求对应的顶级域名,如果不能直接定位到ip,那再去请求顶级域名返回的二级域名,逐次类推,直到找到一个知道对应ip的域名将正确的ip返回给DNS服务器。
ps:域名的结构是按照.划分的,从左到右依次是三级、二级、顶级、根服务器(根服务器一般不显示)。
网址结构示意图

2.DNS收到ip后如何处理?

DNS收到ip后会把他缓存起来,下次再访问的时候,就不用那么麻烦了。这也是为什么我们往往在第一次访问某个网站时,稍微慢一点的原因。

总结

good good study!day day up!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值