• 计网第六章(应用层)(二)(域名系统DNS)


    目录

    一、基本概述

    二、域名结构

    顶级域名TLD分类:

    1、国家顶级域名nTLD:

    我国二级域名分类:

    1.类别域名:

    2、行政区域名

    2.通用顶级域名gTLD:

    3.反向域名arpa

    三、域名服务器

    分类:

    1.根域名服务器

    2.顶级域名服务器

    3.权限域名服务器

    4.本地域名服务器

    四、域名解析的过程

    1.递归查询:

    2.迭代查询:


    一、基本概述

    域名和IP地址:在1983年,因特网就开始采用层次结构的命名树作为主机的名字,即域名。因为域名比IP地址更加方便人们记忆,人们可以通过域名更加方便地访问互联网。但实际上网络识别的仍然是IP地址,所以就有了域名系统DNS。域名系统DNS是分布式的。

    作用:域名系统DNS的作用就是将域名映射成IP地址。DNS是指域名系统,是可以将域名和IP地址相互映射的一个分布式数据库。因为DNS是分布式的,所以即便单个计算机出现故障,也不会影响整个系统的正常运行。 DNS使大多数域名都在本地进行解析,仅少量解析需要在因特网上通信,因此系统效率很高。

    大致过程:客户端在访问Web服务器的时候可以大致分为以下三个过程:1、客户机在自己的DNS高速缓存中没有查到域名对应的地址,便会向域名系统DNS发送域名查询请求。   2、DNS服务器告知客户机Web服务器的IP地址。       3、客户机与Web 服务器进行通信。

    端口号和协议:DNS运行在UDP协议上,使用的端口号为53。

    二、域名结构

    结构:因特网采用层次树状的域名结构。域名结构由若干个分量组成,每个分量之间用“.”隔开,分别代表不同级别的域名。

    级别和每一级的组成:从右往左域名级别逐渐降低,即级别最低的域名在最左边,级别最高的域名在最右边。每一级的域名都由英文字母(不区分大小写)和数字组成,并且不超过63个字符。完整的域名不会超过255个字符。

    域名系统既不规定一个域名包含多少个下级域名,也不规定每一级的域名代表什么意思。

    各级域名都由其上一级的域名管理机构管理,最高级的顶级域名则由因特网名称与数字地址分配机构ICANN机构进行管理。

    顶级域名TLD分类:

    1、国家顶级域名nTLD:

    如cn(中国),us(美国),uk(英国)等。

    该顶级域名下注册的二级域名均由各国家自行确定。比如日本顶级域名为jp,他们将其教育和企业机构的二级域名定位ac和co。

    我国二级域名分类:
    1.类别域名:

    ac(科研机构)、com(工、商、金融等企业)、net(网络服务机构)、org(非营利性组织)、edu(教育机构)、gov(政府部门)、mil(军事机构)。

    2、行政区域名

    共34个,用于我国各省、自治区和直辖市。比如bj(北京)、sh(上海)等。

    2.通用顶级域名gTLD:

    最常用的有7个:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(美国教育机构)、gov(美国政府部门)、mil(美国军事部门)。

    注意:名称相同的域名其等级未必相同。例如我国的二级域名com和通用顶级域名com。

    3.反向域名arpa

    用于反向域名解析,即IP地址反向解析为域名。

    三、域名服务器

    域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。

    分类:

    1.根域名服务器

    最高层次的域名服务器,每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。

    当本地域名服务器向根域名服务器发送查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器,从而加快DNS的查询过程也更合理地利用了因特网资源。

    根域名服务器通常并不直接对域名进行解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址。

    比如对于“xxx.xxx.com”,根域名服务器就会返回com所对应的IP地址。

    2.顶级域名服务器

    负责管理在该域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)。

    3.权限域名服务器

    负责管理某个区的域名。每个主机的域名都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的域名与IP地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。

    4.本地域名服务器

      该域名服务器并不属于上述的域名服务器的等级结构。它主要起代理的作用,将DNS请求报文转发到上述域名服务器的等级结构中。有时也被称为默认域名服务器。一个主机发送的DNS请求报文会首先被送往该主机的本地域名服务器。

    假设一个主机想访问一个网站,它会先将DNS请求发送给本地域名服务器。如果本地域名服务器的缓存中没有对该DNS请求中的域名和IP地址的解析,就会去请求根域名服务器。

    有了本地域名服务器,会使得整个DNS系统查询变得更简单,更有效率。

    四、域名解析的过程

    1.递归查询:

    这种方式主要是“靠别人”。

    假设一个主机想访问一个网站,它会先将DNS请求发送给本地域名服务器。如果本地域名服务器的缓存中没有对该DNS请求中的域名和IP地址的解析,就会去请求根域名服务器。

    如果根域名服务器也无法完整解析该DNS请求,即只能解析顶级域名,根域名服务器就会去请求顶级域名服务器的帮助。如果顶级域名服务器也不能完整解析该DNS请求,顶级域名服务器就会去请求权限域名服务器的帮助。

    当能将该DNS请求的域名完整解析后,就又会按照原路返回,从权限域名服务器到顶级域名服务器再到根域名服务器,最后返回给本地域名服务器。

    如图:

    主机想知道y.abc.com的IP地址,进行图中的递归操作。图中数字就表示第几步。

    2.迭代查询:

    这种方式主要是“靠自己”。

    它与递归最大的区别在于,当本地域名服务器没有域名对应的IP地址,就会去查询根域名服务器,如果根域名服务器也没有,根域名就会告诉它去找哪个顶级域名服务器,本地域名服务器就会继续去查询相应的顶级域名服务器。依次类推,直到本地服务器找到对应的IP地址。

    如图:

    和递归查询一样,只是采用了迭代查询的方式。

    注意:从主机到本地域名服务器的查询方式仍然为递归方式,其余的查询是迭代查询方式。

    注意:两个图中的dns都可以忽略,dns.com类似于谁谁谁.com。

  • 相关阅读:
    C#开发的目录图标更改器 - 开源研究系列文章 - 个人小作品
    AVS感知无损压缩标准概述——视觉无损质量等级视频浅压缩
    rk3588烧录记录
    Array.from()的使用方法(数组去重,伪数组转为数组,数组浅克隆),Set和Map数据结构
    经典论文-卷积神经网络可视化与理解及实践
    Redis缓冲穿透和缓冲击穿工具类的封装
    D. Xenia and Colorful Gems(二分+暴力)
    流程图高级用法【Markdown进阶篇】
    动力节点最新Redis7笔记-Redis概述
    这五个bug,论文绘图时千万别碰!
  • 原文地址:https://blog.csdn.net/ylxb2234/article/details/133838363