• 6-2应用层-域名系统DNS


    域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址。域名系统的组成包括:域名空间、分布式数据库、域名服务器。

    DNS系统采用客户/服务器模型,协议运行在UDP 即传输层无连接服务之上,使用53号端口

    一.层次域名空间

    1.因特网采用层次树状结构的命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名。Internet上提供访问的主机一定要有IP地址,而不一定要有域名。 域名在不同的时间可以解析出不同的IP地址,因此可以用多台服务器来分担负载。

    如果一台主机通过两块网卡连接到两个网络(如服务器双线接入),那么就具有两个IP地址,每个网卡对应一个MAC地址,显然这两个IP地址可以映射到同一个域名上。此外,多台主机也可以映射到同一个域名上(如负载均衡),一台主机也可以映射到多个域名上(如虚拟主机)。因此域名与IP地址、MAC地址、主机均不具有一一对应关系。

    2.域名规则
    (1)标号中的英文不区分大小写。
    (2)标号中除连字符(-)外不能使用其他的标点符号
    (3)每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
    (4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边

    3.域名分类
    域名格式:i级域名.i-1级域名.i-2级域名. … .三级域名.二级域名.顶级域名.
    如:www.pku.edu.cn.
    根:最后面的“.”叫做根,通常不写
    顶级域名cn
    二级域名edu
    三级域名pku
    四级域名www

    (1)顶级域名
    ①国家顶级域名(nTLD)
    国家和某些地区的域名,“.cn”表示中国,“.us”表示美国,“.uk”表示英国。
    如:www.gov.cn

    ②通用顶级域名(gTLD)
    常见的有
    com 工商企业
    net 网络服务机构
    org 非营利性组织
    gov 国家或政府部门
    int 国际组织
    aero 只提供给航空公司
    museum为各种博物馆预留的互联网专属域名
    travel新的旅游观光事业者的全球性国际顶级域名

    ③基础结构域名/反向域名
    这种顶级域名只有一个arpa,用于反向域名解析,IP地址到域名的映射

    (2)二级域名
    ①类别域名
    ac 有学术之意
    com 工商企业
    edu 主要供教育机构使用
    gov 国家或政府部门
    mil 通常是用于描述那些属于美国政府军事机构的实体
    net 网络服务机构
    org 非营利性组织

    ②行政区域名
    用于我国各省、自治区、直辖市

    ③自己注册的域名(唯一的)
    在这里插入图片描述

    二.域名服务器

    因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型(C/S)

    分类
    1.根域名服务器
    是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址
    2.顶级域名服务器
    负责管理在该顶级域名服务器注册的所有二级域名
    收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)
    3.授权域名服务器(权限域名服务器)
    每台主机都必须在授权域名服务器处登记
    授权域名服务器总能将其管辖的主机名转换为该主机的IP地址
    在这里插入图片描述
    4.本地域名服务器
    当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。每个因特网服务提供者(ISP),或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器

    三.域名解析过程

    1.正向解析:把域名映射成为IP地址
    2.反向解析:把IP地址映射成域名的过程
    但从内部IP地址到外部IP地址的映射是由NAT实现的,用于缓解IPv4地址紧缺问题。
    3.查询方式
    (1)递归查询
    本地域名服务器找根域名服务器→根找顶级域名服务器→顶找权限域名服务器(即每人只发一条
    该方法给根域名服务造成的负载过大,所以在实际中几乎不使用
    可以看出,由最开始连接的服务器给客户端返回地址
    (2)递归与迭代相结合的查询
    本地域名服务器找根域名服务器→本找顶→本找权限
    主机向本地域名服务器的查询采用的是递归查询,本地域名服务器向根域名服务器的查询采用迭代查询
    在这里插入图片描述

    4.递归与迭代相结合的查询的域名解析的过程
    (1)客户机向其本地域名服务器发出DNS请求报文
    (2)本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
    (3)根域名服务器收到请求后,判断该域名属于域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
    (4)本地域名服务器向顶级域名服务器dns.com发出解析请求报文
    (5)顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
    (6)本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文
    (7)授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
    (8)本地域名服务器将查询结果保存到本地缓存,同时返回给客户机

    可以看出,客户机只需把域名解析请求发往本地域名服务器,其他事情由本地域名服务器完成,并把最后结果返回给客户机。所以主机只需要知道本地域名服务器的IP

    5.高速缓存
    存放最近查过的域名以及从哪里获得这个域名信息的记录。再次访问时先搜索主机的缓存,再搜索本地域名服务器的高速缓存,如果有,直接将对应IP地址返回主机。如果没有对应的IP地址,但有顶级域名服务器的IP地址,则不需要经过根域名服务器。

    *注:主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息

    优点:提高DNS的查询效率,减少因特网上的DNS查询报文数量

    [例1]
    假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名服务器均只提供迭代查询服务;局域网内主机访问 Internet 上各服务器的往返时间(RTT)均为10ms,忽略其他各种时延。若主机H通过超链接http://www.abc.com/index.html请求浏览纯文木Web页index.html,则从点击超链接开始到浏览器接收到 index.html页面为止,所需的最短时间与最长时间分别是_____
    在这里插入图片描述
    解:
    ①最短时间:本地主机中有该域名到IP地址对应的记录,不需要DNS查询时延。t=TCP建立时间(RTT)+发送访问请求并收到服务器资源响应(RTT)=2RTT=20ms
    ②最长时间:20ms+DNS查询时延=20ms+本地域名服务器迭代查询根域名服务器(RTT)+本地域名服务器迭代查询com顶级域名服务器(RTT)+本地域名服务器迭代查询abc.com域名服务器(RTT)=20ms+30ms=50ms

    [例2]
    假设所有域名服务器均采用迭代查询方式进行域名解析。当H4访问规范域名为 www.abc.xyz.com 的网站时,域名服务器 201.1.1.1 在完成该域名解析过程中,可能发出 DNS 查询的最少和最多次数分别是_____

    解:
    ①最少:本机DNS高速缓存中存有该域名DNS信息时,不需要查询任何域名服务器,即0次
    ②最多:本地域名服务器依次迭代查询根域名服务器、com顶级域名服务器、xyz.com权限域名服务器、abc.xyz.com权限域名服务器,共4次

    [例3]
    如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为_____

    答案:1条,1条

  • 相关阅读:
    echarts图表toolbox工具箱配置
    代码随想录算法训练营第三十六天| 435. 无重叠区间 763.划分字母区间 56. 合并区间
    爱普生发布一款16位MCU产品用于大电流LED驱动
    盛最多水的容器 接雨水【基础算法精讲 02】
    百度AI智能审核
    基础到高级涵盖11个技术,Alibaba最新出品711页Java面试神册真香
    河北邯郸:拓展基层就业空间 助力高校毕业生就业
    002_Anaconda的安装与使用
    C语言二十二弹--有序数组合并
    PaddleMIX学习笔记(1)
  • 原文地址:https://blog.csdn.net/weixin_45825865/article/details/126493069