什么是域名系统(DNS)及其工作原理?

域名系统(DNS)是互联网的一项服务,它将域名和IP地址相互映射,使人更方便地访问互联网。

域名系统DNS

一、基本介绍

域名系统dns

域名系统(Domain Name System,缩写:DNS)是互联网的一项基础服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,DNS使用UDP端口53,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

二、名字空间与层次结构

域名系统的名字空间是层次结构的,类似Windows的文件名,它可看作是一个树状结构,域名系统不区分树内节点和叶子节点,而统称为节点,所有节点的标记只能由3类字符组成:26个英文字母(a~z)、10个阿拉伯数字(0~9)和英文连词号(),并且标记的长度不得超过22个字符,一个节点的域名是由从该节点到根的所有节点的标记连接组成的,中间以点分隔,最上层节点的域名称为顶级域名(TLD,TopLevel Domain),第二层节点的域名称为二级域名,依此类推。

三、域名的分配和管理

域名由因特网域名与地址管理机构(ICANN,Internet Corporation for Assigned Names and Numbers)管理,这是为承担域名系统管理、IP地址分配、协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构,ICANN为不同的国家或地区设置了相应的顶级域名,这些域名通常都由两个英文字母组成。.uk代表英国、.fr代表法国、.jp代表日本,中国的顶级域名是.cn,.cn下的域名由CNNIC进行管理。

四、顶级类别域名

除了代表各个国家顶级域名之外,ICANN最初还定义了7个顶级类别域名,它们分别是.com、.top、.edu、.gov、.mil、.net、.org;.com、.top用于企业,.edu用于教育机构,.gov用于政府机构,.mil用于军事部门,.net用于互联网络及信息中心等,.org用于非盈利性组织,随着因特网的发展,ICANN又增加了两大类共7个顶级类别域名,分别是.aero、.biz、coop、.info、.museum、.name、.pro。

域名系统dns

五、域名系统组成

1、资源文件:早期因特网上仅有数百台主机,那时候的域名与IP地址对应只需简单地记录在一个hosts.txt文件中,这个文件由网络信息中心(NIC,Network Information Center)负责维护,任何想添加到因特网上的主机的管理员都应将其名字和地址Email给NIC,这个对应就会被手工加到hosts.txt文件中,每个主机管理员去NIC下载最新的hosts.txt文件放到自己的主机上,就完成了域名列表的更新,域名解析只是一个检查本机文件的本地过程。

2、解析:现有域名系统于20世纪80年代开始投入使用,域名系统采用层次结构的名字空间,并且原来庞大的对应表被分解为不相交的、分布在因特网中的子表,这些子表称为资源文件。

六、工作原理

DNS是一种可以将域名和IP地址相互映射的层次结构的分布式数据库系统,主要包括如下3个组成部分:

域名空间(domain name space)和资源记录(resource record);

域名服务器(name server);

域名系统dns

解析器(resolver)。

DNS体系结构采用递归查询请求的方式来响应用户的查询,其一般过程如下:

客户端首先向首选域名服务器查询;

首选域名服务器检查本地资源记录,如果存在则作权威回答,如果不存在,则检查本地缓存,如果有记录则直接返回结果,若本地资源记录和缓存记录都不存在,则向根域名服务器查询;

根域名服务器返回相应顶级域的权威域名服务器的地址,首选域名服务器继续向该顶级权威域名服务器查询;

顶级权威域名服务器返回次级域的权威域名服务器地址,首选域名服务器如此迭代查询,直到得到对查询域名的权威回答,保存在本地缓存中并返回给客户端,完成此次查询。

七、DNS协议分析与安全检测

DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址),DNS定义了两种报文,一种为查询报文;另一种是对查询报文的响应,称为响应报文,无论是查询报文还是响应报文,都有12个字节的头和查询问题。

八、5G时代下的发展

未来将会有数十亿个物联网设备具有5G连接性,DNS将为这些设备的发现和寻址创造全新的需求,IETF也已经开始进行一些关键的协议开发,比如以DNSSD为代表的“DNS Service Discovery”,DNS—SD允许所有设备在对等体中相互组播,来快速发现本地设备和服务。

九、单元表格:DNS报文格式

字段 说明
标识 占两个字节,同一个问题的查询和响应标识必须相同
标志 占两个字节QR:这一位是查询和响应报文的标志
Opcode:操作码占4bit,值为0表示标准查询,值为1表示反向查询,值为2表示服务器状态请求
AA:占1bit,表示该域名服务器是否是授权给该域的,1表示授权,0表示未授权
TC:占1bit,表示是否可截断,当使用UDP时,若此位为1,表示当响应报文的总长度超过512字节时,只返回前512个字节,是可截断的
RD:占1bit,表示是否期望递归,为1时表示查询方式是递归查询;如果该位为0,且被请求的域名服务器没有一个授权回答,则查询方式为迭代查询
RA:占1bit,表示是否可用递归,如果域名服务器支持递归查询,则在响应中将该比特设置为1,大多数名字服务器都提供递归查询,除那些根服务器
Rcode:结果代码占4bit,值为0表明没有差错,值为1表明报文格式出错,值为2表明服务器查询失败,值为3表明名字出错
问题数 描述各自的记录数目
回答资源记录数
授权资源记录数
附加资源记录数
查询问题 由查询名、查询类型、查询类三部分组成
资源记录 只出现在响应报文中

十、相关问题与解答

问题1:什么是DNS?

答:DNS(Domain Name System)是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网。

问题2:DNS的工作原理是什么?

答:DNS采用层次结构的名字空间,并且原来庞大的对应表被分解为不相交的、分布在因特网中的子表,这些子表称为资源文件,当用户输入一个域名时,DNS会通过递归查询请求的方式响应用户的查询,最终返回对应的IP地址。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/84037.html

Like (0)
小编的头像小编
Previous 2024年12月6日 07:48
Next 2024年12月6日 07:54

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注