前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【计算机网络】我与张三的 DNS 解析过程,浏览器中输入URL 回车后发生了什么

【计算机网络】我与张三的 DNS 解析过程,浏览器中输入URL 回车后发生了什么

作者头像
圆号本昊
发布2021-12-30 16:39:38
1.6K0
发布2021-12-30 16:39:38
举报
文章被收录于专栏:github@hornhuang

解析

hello ⼤家好,我是 up主黎明⾲菜

今早我正打开b站刷剧,突然想到了⼀个问题:

我们在浏览器⾥输⼊ bilibili.com 的时候,电脑是怎么找到b站的呢?

上篇TCP/IP协议的 视频⾥说过,⽹络请求是根据 ip 地址进⾏访问的

⽽只输⼊了b站域名的我们

为什么电脑不会给我们打开 a 站、c 站,抑或是⼀些奇怪的站点呢?

我带着好奇⼼百度了⼀下,我搜到了莆⽥精神病院的联系⽅式

哦不,是这个问题的答案

整个过程就像罗⽼师让我打个电话给张三,提醒他去抄下作业

因为张三只要能抄的作业绝不⾃⼰做,但今天他抄都懒得抄了

这⾥罗⽼师就相当于⽤户,或者是浏览器

负责联系张三这个泼⽪的我们就相当于操作系统

⽽电话号码就相当于IP地址

那么要找到张三这个泼⽪,我先打开了⼿机通讯录,也就是电脑本地的host⽂件

这时我突然意识到:本帅哥怎么会留泼⽪的电话呢?

所以我只能再看看通话记录,也就是本地DNS解析器缓存⾥有没有他电话

卧槽,我昨天刚通话记录清空了

没办法,怎么办呢?

我智能打开微信聊天记录,也就是本地DNS服务器看看能不能查到他的电话

然⽽平⽇⾥⾼冷的我并没有⼏条聊天记录

我只能去找班⻓,也就是根域名服务器求救,让她康康有没有张三联系⽅式

这回找对⼈了,班⻓让我联系下评奖学⾦的吴签⽼师

没错有的⼈天天抄作业照样考第⼀,想到这我就流下了⼼酸的泪⽔

这⾥吴签⽼师就相当于顶级域名服务器

我给吴⽼师发了个短信,他果然秒回了我⼀个奖学⾦评选Excel

还附带了⼀张可爱的图⽚

哎,男孩⼦在外⾯要保护好⾃⼰

这⾥的奖学⾦ Excel 就相当于权限域名服务器

果然在⾥头找到张三的电话,也就是bilibili 的 ip 地址

我赶紧给他打了过去,结束这要命的⼀天

总结

这个在浏览器中输⼊地址的流程,其实也就是DNS的⼯作流程

简单的总结一下:

第一步:在浏览器中输入www.bilibili.com域名,操作系统会先检查自己本地的hosts文件

是否有这个域名的映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

第二步:如果hosts文件中没有,则查询本地DNS解析器缓存,如果有,则完成地址解析。

第三步:如果本地DNS解析器缓存中没有,则去查找本地DNS服务器,如果查到,完成解析。

第四步:如果没有,则本地服务器会向根域名服务器发起查询请求。

根域名服务器会告诉本地域名服务器去查询哪个顶级域名服务器。

第五步:本地域名服务器向顶级域名服务器发起查询请求

顶级域名服务器会告诉本地域名服务器去查找哪个权限域名服务器。

第六步:本地域名服务器向权限域名服务器发起查询请求

权限域名服务器告诉本地域名服务器www.bilibili.com所对应的IP地址。

第七步:本地域名服务器告诉主机www.bilibili.com所对应的IP地址。

其中本地域名服务器,也就是⼿机本地的通讯录、历史信息的查询过程,⼀般采⽤递归查询

⽽向根域名服务器请求,也就是吴⽼师的查询则采⽤的迭代查询

简单来说,递归查询就是:

小明问了小红一个问题,小红不知道,但小红是个热心肠,小红就去问小王了

小王把答案告诉小红后,小红又去把答案告诉了小明

迭代查询就是:

小明问了小红一个问题,小红也不知道,然后小红让小明去问小王

小明又去问小王了,小王把答案告诉了小明

很多时候协议的设计都和我们的⽣活息息相关

信息技术源于⽣活,却⼜在⽆时不刻的影响着我们的⽣活

这就是我们在浏览器输⼊URL后的全部内容了

谢谢⼤家观看,我是up主黎明⾲菜

参考文献:https://segmentfault.com/a/1190000038526729

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档