支撑应用程序的协议DNS协议

举报
xcc-2022 发表于 2022/07/29 15:31:51 2022/07/29
【摘要】 DNS协议什么是DNS协议域名系统DNS域名服务器域名解析过程什么是DNS协议众所周知在网络通讯中IP地址代表着主机在网络中的地址。如果你想访问一台服务器,那么首先你就需要知道这台服务器的IP地址,也就是目的地址。比如你想访问百度那么你就需要知道百度的IP地址——112.80.248.76。但是IP地址十分难记,且容易记混,所以在日常生活中,我们往往通过域名,也就是www.baidu.com...


什么是DNS协议

众所周知在网络通讯中IP地址代表着主机在网络中的地址。如果你想访问一台服务器,那么首先你就需要知道这台服务器的IP地址,也就是目的地址。比如你想访问百度那么你就需要知道百度的IP地址——112.80.248.76。但是IP地址十分难记,且容易记混,所以在日常生活中,我们往往通过域名,也就是www.baidu.com来作为百度的地址。
IP地址是面向主机的,而域名是面向用户的。但是通讯是主机间的过程,因此需要将域名转为对应的IP地址,来告诉主机访问的目标是哪里。DNS协议就是一个将主机名和域名转换为IP地址的协议。

p1

域名系统DNS

域名系统作为一个层次结构分布式数据库,包含各种类型的数据,包括主机名和域名。DNS数据库中的名称形成一个分层树状结构称为域命名空间。
域名的结构由若干个分量组成,各分量之间用点(’.’)隔开,分别标识不同级别的域名

…三级域名.二级域名.顶级域名

  1. 每一级的域名都是由英文字母、数字和连接符(-)组成,不超过63个字符,不区分大小写
  2. 级别最低的域名写在最左边,而级别最高的域名写在最右边
  3. 完整的域名不超过255个字符
    在这里插入图片描述

各级域名由其上一级域名管理机构管理

  • 顶级域名
    1. 国家顶级域名:cn(中国)、jp(日本)、us(美国)、uk(英国)…
    2. 通用顶级域名:最常见的有7个分别是:com(公司企业)、edu(美国教育机构)、net(网络服务机构)、org(非盈利组织)、int(国际组织)、gov(美国政府部门)、mil(美国军事部门)
    3. 反向域arpa:用于反向域名解析
  • 二级域名
    在国家顶级域名注册下的二级域名均由该国家自行确定,例如:顶级域名jp的日本,将其教育机构和企业机构的二级域名定为ac和co而不是edu和com。
    我国将二级域名划分为两类:
    1.类别域名
    共7个:ac(科研机构)、com(工、商等企业)、edu(教育机构)、gov(政府部门)、net(提供网络服务的机构)、mil(军事机构)、org(非盈利性组织)
    2.行政区域名:
    共34个,适用于我国的各省、自治区、直辖市。如北京是bj、上海是sh
    在这里插入图片描述
    这种按等级管理的命名方法便于维护名字的唯一性,并且也容易设计出一种高效的域名查询机制。需要注意的是,域名只是个逻辑概念,并不代表计算机所在的物理地点。域名和IP地址的对应关系保存在域名服务器中,供所有其他用户查询。由于域名的庞大,显然不能将所有的域名保存在一个域名服务器中,DNS使用分布在各地的域名服务器实现域名到IP地址的转化。

域名服务器

分类 作用
根域名服务器 最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助,每个根域名服务器都知道所有顶级域名服务器的域名及其对应的IP地址
顶级域名服务器 负责管理在该顶级域名服务器下注册的二级域名
权限域名服务器 负责一个区的域名解析工作,另外权限域名服务器还知道其下级域名服务器的地址
本地域名服务器 本地域名服务器不属于上面的域名服务器等级结构。当一个主机发出DNS查询请求时,这个查询请求首先发给本地域名服务器,主要起 代理作用

域名解析过程

  • 递归查询
    p3
    假设需要查找y.abc.com域名所对应的IP地址:
    1. 操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
    2. 如果hosts里没有这个域名的映射,则查找本地DNS服务器缓存,是否有这个网址映射关系,如果有,直接返回给主机,完成域名解析。
    3. 而本地DNS服务器并没有y.abc.com域名对应的IP地址,则从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中),然后向最近的一台根域名服务器发起请求。如果根域名服务器中有所需要的数据,则返回给本地域名服务器,由本地域名服务器返回给主机。
    4. 而根域名服务器只有com,并没有y.abc.com域名所对应的IP地址,则向com的顶级域名服务器查询。如果顶级域名服务器有该地址,则将IP地址返回给根服务器,根服务器返回给本地服务器,本地服务器返回给主机。
    5. 而顶级域名服务器只有abc.com,并没有y.abc.ciom,则向abc.com的权限服务器查询。而权限域名服务器有y.abc.com域名对应的IP地址,以此将IP地址返回给顶级域名服务器,根服务器、本地服务器、最后由本地服务器返回给主机。
  • 迭代查询
    p4
    迭代查询和递归查询都是从根域名服务器一直询问到权限服务器,直到招到为止。只不过当找到对应的IP地址后,不是返回给上一级,而是每次都返回给本地域名服务器,由本地域名服务器不断地进行查询。
  1. 为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
  2. 由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)
  3. 不但在本地域名服务器中需要高速缓存,在用户主机中也很需要。许多用户主机在启动时从本地域名服务器下载域名和IP地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才向域名服务器查询。同理,主机也需要保持高速缓存中内容的正确性。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。