DNS域名解析详解

DNS域名解析详解

目录

  • DNS域名解析详解
    • 1、什么是DNS协议?
    • 2、域名的结构
      • 顶级域名
      • 二级域名
      • 根域名
    • 3、域名服务器
      • 根域名服务器
      • 顶级域名服务器
      • 权限域名服务器
      • 本地域名服务器
    • 4、DNS的查询方式
    • 5、域名缓存
    • 6、完整域名解析系统


1、什么是DNS协议?

  • IP地址:一长串能够唯一标记网络上的计算机的数字。IP便于机器直接读取,但是不方便记忆,且不能显示出组织的名称和性质。
  • 域名:由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。域名便于记忆。

域名解析协议(DNS,Domain Name System)来将域名和IP地址相互映射。

✨域名与网址,www.gitee.com/veal98是一个网址,而www.gitee.com是一个域名
✨DNS协议可以使用UDP或TCP传输,使用的端口号都为53.但大多数情况下DNS都是用UDP。

2、域名的结构

域名具有一定的层次结构,从上到下依次为:根域名、顶级域名(top level domain,TLD)、二级域名、(三级域名)

DNS域名解析详解_第1张图片

顶级域名

顶级域名是域名的最后一个部分,例如www.baidu.com的顶级域名就是.com。顶级域名可以分为两类:

  • 通用顶级域名,比如.com.net.edu.org.xxx等等
  • 国家顶级域名,代表不同的国家和地区,比如.cn(中国)、.io(英属印度洋领地)、.cc(科科斯群岛)等。

每个顶级域名有一个托管商,托管商负责管理该顶级域名的所有事项。

二级域名

二级域名在通用顶级域名和国家顶级域名下具有不同的意义:

  • 通用顶级域名下的二级域名:一般指域名注册人选择使用的网上名称,如yahoo.combaidu.com
  • 国家顶级域名下的二级域名:一般指类似于通用顶级域名的表示注册人类别和功能的标识。例如.com.cn域名中,.com是置于国家顶级域名.cn下的二级域名,表示中国的商业性组织。

三级域名是形如www.baidu.com的域名,可以当作是二级域名的子域名,特征为域名包含两个.。对于域名所有者/使用者而言,三级域名都是二级域名的附属物而无需单独费用。三级域名甚至不能称为域名,一般称之为域名下的“二级目录”。

根域名

有时,www.xxx.com被写成www.xxx.com,即最后还会多出一个点,这个点就是根域名。

DNS域名解析详解_第2张图片

3、域名服务器

DNS域名解析详解_第3张图片

根域名服务器

根域名服务器保存所有顶级域名服务器的地址。

顶级域名服务器

顶级域名服务器用来管理注册在该顶级域名下的所有二级域名,记录这些二级域名的IP地址。

权限域名服务器

按照上面的逻辑,权限域名服务器应该是管理注册在二级域名下的所有三/四级域名,但其实不是这样,如果一个三/四级域名对应一个域名服务器,则域名服务器数量会很多,我们需要使用划分区来解决这个问题。那么权限域名服务器就是负责管理一个“区”的域名服务器。

区和域是不同的,区可以由多种不同的划分方法。以百度为例,假设有fanyi.baidu.comai.baidu.comtieba.baidu.com这三个域名。可以这样分区,fanyi.baidu.comtieba.baidu.com放在baidu.com权限域名服务器,ai.baidu.com放在ai.baidu.com权限域名服务器中。并且baidu.com权限域名服务器和ai.baidu.com权限域名服务器是同等地位的,具体怎么分区由百度公司自己规定。

DNS域名解析详解_第4张图片

本地域名服务器

除了上面三种服务器,还有一种不在DNS层次结构中的,但是很重要的服务器,就是本地域名服务器。本地域名服务器是电脑解析时的默认域名服务器,即电脑选中的首选DNS服务器和备选DNS服务器。常见的由电信、联通、谷歌等本地DNS服务器。


4、DNS的查询方式

DNS查询方式有两种:

  • 递归查询。
  • 迭代查询

一般来说域名服务器之间的查询使用迭代查询方式,以免根域名服务器的压力过大。主机与本地域名服务器的查询方式使用递归查询。

(1)递归查询

DNS域名解析详解_第5张图片

(2)迭代查询

DNS域名解析详解_第6张图片

5、域名缓存

为了减轻域名服务器的压力。主机会使用缓存保存域名和IP地址的映射。计算机中DNS记录在本地有两种缓存方式:浏览器缓存和操作系统缓存

  • 浏览器缓存:浏览器在获取网站域名的实际IP地址后会对其进行缓存,减少网络请求的损耗。
  • 操作系统缓存:操作系统的缓存是用户自己配置的hosts文件

6、完整域名解析系统

  1. 首先搜索浏览器中的DNS缓存,缓存中维护一张域名与IP地址的对应表
  2. 若没有命中,则继续搜索操作系统的DNS缓存
  3. 若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器查询自己的DNS缓存,查找成功则返回结果。(主机和本地域名服务器之间的查询方式是递归查询)
  4. 若本地域名服务器的DNS缓存没有命中,则本地域名服务器向上级域名服务器进行查询,通过以下方式迭代查询(防止根域名服务器压力过大)
    • 首先本地域名服务器向根域名服务器发起请求,根域名服务器是最高层次的,它并不会直接指明这个域名对应的IP地址,而是返回顶级域名服务器的地址。
    • 本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的地址。
    • 本地域名服务器拿到这个权限域名服务器的地址后,就向其发起请求,最终得到该域名对应的IP地址。
  5. 本地域名服务器将得到的IP地址返回给操作系统,同时自己将IP地址缓存起来
  6. 操作系统将IP地址返回给浏览器,同时自己也将IP地址缓存起来
  7. 至此,浏览器就得到了域名对应的IP地址,并将IP地址缓存起来。

DNS域名解析详解_第7张图片


你可能感兴趣的:(网络,tcp/ip,网络协议)