DNS域名解析协议详解

DNS技术

DNS是一整套从域名映射到IP的系统。

一.背景

TCP/IP协议使用IP地址和端口号来确认网络上的一台主机的一个程序。但是IP地址和端口号不方便人们记忆。于是人们发明了域名,是一串字符串,并且使用host文件来保存主机名和IP地址之间的映射关系。

最初,是通过互联网信息中心(SRI-NIC)来管理这个文件,host文件保存在本地。

  • 如果一个新计算机要接入网络或者某个计算机的IP变更,都需要到信息中心申请变更host文件
  • 其它计算机也需要定期下载更新新的版本的hosts文件才能上网。

随着计算机原来越多,网址也越来越多。这样就有点麻烦了,于是产生了DNS系统。由管理机构进行管理。

  • 一个组织的系统管理机构,维护系统的每一个主机IP和域名的对应关系。
  • 如果新计算机接入网络,将这个信息注册进数据库中
  • 如果输入域名的时候,会自动查询DNS服务器,由DNS服务器自定检索数据库,得到对应的IP地址。

现在的计算机仍然保留了host文件

DNS域名解析协议详解

总结:域名是面向用户的,方便用户使用,IP地址是面向计算机的。

二.域名简介

DNS域名解析技术属于应用层技术,底层用的是UDP协议。

2.1 域名的层次结构

DNS 系统采用的是分布式的解析方案,整个DNS 架构是一种层次树状结构,这个树状结构称为 DNS 域名空间。

DNS域名解析协议详解

  • 树状结构最顶层称为根域,用"."表示,相应的服务器称为跟服务器,这个域名空间解析权都归根服务器所有。
  • 但是根服务器无法承担庞大的负载,互联网IP太多。于是采用了"委派机制"。
  • 在根域下设置了顶级域,然后将不同顶级域的解析权交给了顶级域服务器,比如com域的解析权委派给了com域服务器,以后和com结尾的域名解析请求,都会转发给com域服务器
  • 为了减轻顶级域的压力,又设下了二级域,二级域下面又设下了三级域或主机。

其中顶级域又分:国家顶级域名、通用顶级域名、反向域名。

国家顶级域名 中国:cn, 美国:us,英国uk…
通用顶级域名 com公司企业,edu教育机构,gov政府部门,int国际组织,mil军事部门 ,net网络,org非盈利组织…
反向域名 arpa,用于PTR查询(IP地址转换为域名)

如:www.baidu.com

  • com:顶级域名,表示这是一个企业域名。同级的还有"net"(网络提供商),"arg"(非盈利组织)等。
  • baidu:二级域名,公司名字。
  • www.:只是习惯用法。去掉www.也可以进行搜索。

2.2 域名服务器的层次结构

域名具有层次结构,域名需要服务器进行管理,域名服务器也有层次结构。

由高向低进行层次划分,可分为以下几大类:

分类 作用
根域名服务器 最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助
顶级域名服务器 负责管理在该顶级域名服务器下注册的二级域名
权限域名服务器 负责一个区的域名解析工作
本地域名服务器 当一个主机发出DNS查询请求时,这个查询请求首先发给本地域名服务器

注意:一个域名服务器所负责的范围,或者说有管理权限的范围,就称为区。上一级域名服务器知道下一级域名服务器的IP地址。

2.3 域名解析过程

域名解析总体可分为以下过程:

  • 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据.
  • 如果没有, 就向上级域名服务器进行查找, 依次类推
  • 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址
  • 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程

具体可描述如下:

  1. 主机先向本地域名服务器进行递归查询
  2. 本地域名服务器采用迭代查询,向一个根域名服务器进行查询
  3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址
  4. 本地域名服务器向顶级域名服务器进行查询
  5. 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址
  6. 本地域名服务器向权限服务器进行查询
  7. 权限服务器告诉本地域名服务器所查询的主机的IP地址
  8. 本地域名服务器最后把查询结果告诉主机

递归查询:主机向本地域名服务器发起请求,等待返回结果。如果本地域名服务器没有解析,会以DNS客户机的身份,会向其它域名服务器进行查询。

迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。

递归查询是主机向本地域名服务器发起请求,主机只需要等待结果,中间查询过程不关心。

迭代查询是本地域名服务器查询根域名服务器,下一次应该去哪查询,本地服务器再去那个域名服务器查询。都是自己去查询。

借鉴:DNS(域名解析协议)详解_honeyJ-CSDN博客_dns协议

三.用户在浏览器输入url后,发生的事

  1. 在浏览器输入网址,先通过域名在DNS系统上找到对应的IP地址
  2. 浏览器向服务器发送一个http/https的请求
  3. 服务器接收到请求,响应请求,返回一个HTML响应。
  4. 如果是重定向,服务器会响应重定向的URL。客户端会重复之前的动作。服务器也会响应请求,发送HTML响应。
  5. 服务器开始显示HTML,没有完全接收HTML文件,就已经显示。
  6. 浏览器发送获取嵌入在HTML的对象,都要经历和上面一样的步骤。
  7. 浏览器发送异步请求(AJAX),客户端依然连接了服务器,发送异步请求用来更新客户端显示的信息。

原文链接:https://blog.csdn.net/weixin_57023347/article/details/120819772?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169114663716800188525941%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169114663716800188525941&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-18-120819772-null-null.268%5Ev1%5Ekoosearch&utm_term=dns%E5%8A%A0%E9%80%9F

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/22483

(0)
上一篇 2023年10月6日
下一篇 2023年10月6日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml