简单理解DNS及解析流程
简单整理了下这周计算机网络课上我的PPT分享题目。
参考超详细 DNS 协议解析 、 DNS域名解析过程bilibili
我们知道,因特网上识别主机的方式有两种:1.使用IP地址。 2. 使用主机名(域名)
那么从浏览器地址栏输入 url 到请求返回发生了什么? 更多可以了解 细说浏览器输入URL后发生了什么
首先会进行 url 解析,接着根据 DNS 系统进行 ip 查找,DNS会通过名称(域名)来查询IP地址。那么DNS是啥?它是如何进行解析的?
1.认识DNS
IP 地址:一长串能够唯一地标记网络上的计算机的数字。比如202.108.22.5
域名:又称网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。比如 www.baidu.com
DNS是Domain Name System的缩写, 我们称之域名系统。首先它是远程调用服务,本地默认占用53端口,它本身的实质上一个域名和ip的数据库服务器,他要完成的任务是帮我们把输入的域名转换成ip地址,之后通过ip寻址连接目标服务器。
DNS是域名:ip的对应关系。通俗来讲,就是一个键值对的列表。可以理解为一个电话簿。
位于计算机网络的应用层。
2.域名层次结构
域名具有一定的层次结构,从上到下依次为:根域名(根域名服务器)、顶级域名(顶级域名服务器)、二级域名(权限域名服务器)、三级域名
其中www.bilibili.com.
的根域名.
一般我们都可以忽略不写,因为这是所有域名都有的。
3.DNS域名解析过程
DNS域名解析: 将域名网址自动转换为具体的 IP 地址
文本描述:
1.搜索浏览器的 DNS 缓存
2.若前一步失败,则继续搜索操作系统 的 DNS 缓存
3.若前一步失败,则操作系统将域名发送至本地域名服务器,本地域名服务器查询自己的 DNS 缓存,查找成功则返回结果(前三步为递归查询)
4.若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进行查询(其中进行迭代查询)
5.本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来
6.操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来
7.至此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起来
本地域名服务器一般由网络运营商提供,如电信、联通等
递归查询:域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。(个人理解:我找你拜托找个东西,你可以找其它人帮忙,但你最后只能给我我要的东西,或者告诉我” 我不行,找不到”。)
迭代查询: 当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止。(个人理解:我找你拜托找个东西,你有的话直接给我,没有的话你可以告诉我我接下来找谁帮忙,我自己再去找他帮忙,直到最后要么我终于找到了我要的东西,要么真的找不到人帮忙了。)
图片描述:
照着文本描述跟着图片自己来一遍,好捋清他们的流程。
其中解析器为本机系统的后台运行程序。
4.简单认识DNS劫持
在上面一个完整的域名解析过程中,我们可以看到想要获取目标网站的IP,除了在本机中的查找操作有时还需要第三方服务器(DNS)的参与,但是只要经过第三方的参与,那么网络就不属于我们可控制的范围,那么就有可能产生DNS挟持,具体体现在我们获取到的ip并不是正确的ip地址,而是别人提供的错误ip地址。
劫持危害
1.钓鱼诈骗
网上购物,网上支付有可能会被恶意指向别的网站,更加加大了个人账户泄密的风险。们想要的ip,从而打开的并不是我们的目标网站
2.网站内出现恶意广告
3.轻则影响网速,重则不能上网
接下来其实还可以顺便去了解CDN的原理啥啥的。必需了解的CDN知识