域名系统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。
五、域名系统组成
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);
解析器(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