热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

域名解析系统DNS

文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名


文章目录

  • 前言
  • 一、域名系统概述
  • 二、因特网的域名结构
  • 三、域名服务器
    • 1.根域名服务器
    • 2.顶级域名服务器(TLD, top-level domain)
    • 3.权威(Authoritative)域名服务器
    • 4.本地域名解析服务器
  • 四、域名解析过程
    • 1.递归查询
    • 2.迭代查询
  • 五、DNS记录和消息格式
    • 1.DNS记录
    • 2.DNS协议与消息
  • 总结




前言

在这里插入图片描述



提示:以下是本篇文章正文内容


一、域名系统概述


域名系统DNS(domain name system)是因特网使用的命名系统,用来把便于人们使用的机器的名字转换为IP地址,域名系统其实就是名字系统

用户与因特网上某台主机通信时,必须知道对方的IP,IP地址是由32位的二进制数字组成的,人们很难记忆,但在应用层为了便于用户记忆各种网络应用,连接在互联网的主机不仅有IP地址,还要便于记忆的主机名字,域名系统DNS能够把互联网上的主机名字转换为IP地址

DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口
从概念上可将DNS分为3部分:层次域名空间、域名服务器和解析器

Internet上主机/路由器的识别问题:
IP地址 <—>域名: www.hit.edu.cn (域名和IP地址之间映射 通过DNS)

域名解析系统DNS特点:

(1)多层命名服务器构成的分布式数据库

(2)应用层协议:完成名字的解析
Internet核心功能,用应用层协议实现,网络边界复杂

DNS服务:


(1)域名向IP地址的翻译
(2)主机别名
(3)邮件服务器别名
(4)负载均衡: Web服务器


分布式层次式数据库:如图
在这里插入图片描述
若客户端想要查询www.amazon.com的IP:

(1)客户端查询根服务器,找到com域名解析服务器

(2)客户端查询com域名解析服务器,找到amazon.com域名解析服务器

(3)客户端查询amazon.com域名解析服务器,获得www.amazon.com的IP地址


二、因特网的域名结构

因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name), “域”(domain)是名字空间中一个可被管理的划分,从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开

如图:
在这里插入图片描述
在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理

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

顶级域名(Top Level Domain, TLD)分为三大类:

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

(2)通用顶级域名(gTLD), 常见的有“.com” (公司)、“.net" (网络服务机构)、“.org”(非营利性组织)和“.gov" (国家或政府部门)等

(3)基础结构域名, 这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应,反向域名格式如:X.X.X.in-addr.arpa。很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供服务。

国家顶级域名下注册的二级域名均由该国家自行确定,我国把二级域名有分为类别域名和行政区域名


三、域名服务器

因特网的域名系统是一个联机分布式的数据库系统,并采用客户/服务器模型

域名到IP地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区,各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射

每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器

DNS使用了大量的域名服务器,它们以层次方式组织,没有一台域名服务器具有因特网上所有主机的映射,因为该映射分布在所有的DNS上,主要有4种类型的域名服务器,如图,如图


1.根域名服务器

根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址

全球有13个根域名服务器
在这里插入图片描述

注意:
1.本地域名解析服务器无法解析域名时,先访问根域名服务器

2.根域名服务器用来管辖顶级域(如.com), 通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询


2.顶级域名服务器(TLD, top-level domain)

负责管理在该顶级域名服务器注册的所有二级域名,com, org, net,edu等顶级域名和国家顶级域名,例如cn, uk, fr等

Network Solutions维护com顶级域名服务器,Educause维护edu顶级域名服务器

收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)


3.权威(Authoritative)域名服务器

组织的域名解析服务器,提供组织内部服务器的解析服务:组织负责维护,组织负责维护

每台主机都必须在权威域名服务器处登记, 为了更加可靠地工作,一台主机最好至少有两个权威域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和权威域名服务器, 权威域名服务器总能将其管辖的主机名转换为该主机的IP地址


4.本地域名解析服务器

本地域名解析服务器不严格属于层级体系,每个ISP有一个本地域名服务器,默认域名解析服务器,当主机进行DNS查询时,查询被发送到本地域名服务器,作为代理(proxy),将查询转发给(层级式)域名解析服务器系统

在Windows中配置本地连接时,就需要填写DNS地址,这个地址就是本地DNS (域名服务器)的地址


四、域名解析过程

域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程, 前者称为正向解析,后者称为反向解析

当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器

域名解析有两种方式:递归查询迭代查询


1.递归查询

将域名解析的任务交给所联系的服务器

若Cis.poly.edu的主机想获得gaia.cs.umass.edu的IP地址
在这里插入图片描述
1–8一次查询并返回给主机,

如果本地主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询

本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的


2.迭代查询

被查询服务器返回域名解析服务器的名字,就好像 “我不认识这个域名,但是你可以问题这服务器”
在这里插入图片描述
中间过程相当于被查询的服务器去查询IP,然后返回给主机

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”,然后让本地域名服务器向这个顶级域名服务器进行后续的查询,直到查找到IP


五、DNS记录和消息格式


1.DNS记录

DNS 数据库由 DNS 服务器使用的一个或多个区域文件组成,每个区域都保存着一组结构化资源记录,以下记录由 DNS 服务器服务支持,所有资源记录都有一个定义的格式,使用相同的顶级字段
资源记录(RR, resource records)RR format: (name, value, type, ttl)

(1)Type=A
A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少, 它是域名和IP地址的对应关系


Name: 主机域名
Value: IP地址


(2)Type=NS
NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器


Name: 域(edu.cn)
Value: 该域权威域名解析服务器的主机域名


(3)Type=SOA
NS记录说明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有说明,这个就要看SOA记录了,SOA名叫起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主要的服务器

(4)Type=CNAME
又叫别名记录


Name: 某一真实域名的别名
•www.ibm.com – servereast.backup2.ibm.com
Value: 真实域名


(5)Type=MX
全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的


Value是与name相对应的邮件服务器


(6)Type=SRV
SRV记录是服务器资源记录的缩写, 作用是说明一个服务器能够提供什么样的服务

(7)Type=PTR
PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名


2.DNS协议与消息

DNS协议则是用来将域名转换为IP地址,
在这里插入图片描述

(1)消息头部
Identification: 16位查询编号,回复使用相同的编号
flags


• 查询或回复
• 期望递归
• 递归可用
• 权威回


(2)查询(query)和回复(reply消息) ,消息格式相同




总结

提示:这里对文章进行总结:


推荐阅读
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
author-avatar
手机用户2502939421
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有