DNS 协议(二)

什么是DNS

DNS全称为Domain Name System ,中文为计算机域名系统,它是由解析器和域名服务器组成的。

域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。

其中域名必须对应一个IP地址,而IP地址不一定有域名。
将域名映射为IP地址的过程就称为“域名解析”。

在Internet上域名与IP地址之间是一对一(或者多对一)的,域名和IP地址之间的转换过程称为域名解析,域名解析需要由专门的域名解析服务器来完成DNS就是进行域名解析的服务器。DMS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。域名的最终指向是IP.

DNS 是一个应用层协议,域名系统 (DNS) 的作用是将人类可读的域名 (如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。DNS 协议建立在 UDP 或 TCP 协议之上,默认使用 53 号端口。客户端默认通过 UDP 协议进行通讯,但是由于广域网中不适合传输过大的 UDP 数据包,因此规定当报文长度超过了 512 字节时,应转换为使用 TCP 协议进行数据传输。
可能会出现如下的两种情况:

1.客户端认为 UDP 响应包长度可能超过 512 字节,主动使用 TCP 协议;
2.客户端使用 UDP 协议发送 DNS 请求,服务端发现响应报文超过了 512 字节,在截断的 UDP 响应报文中将 TC 设置为 1 ,以通知客户端该报文已经被截断,客户端收到之后再发起一次 TCP 请求。

目前绝大多数的防火墙和网络都会开放DNS服务,DNS数据包不会被拦截,因此可以基于DNS协议建立隐蔽信道,从而顺利穿过防火墙,在客户端和服务器之间传输数据。

DNS系统

hosts文件
域名和IP的对应关系保存在一个叫hosts文件中。
最初,通过互联网信息中心来管理这个文件,如果有一个新的计算机想接入网络,或者某个计算IP变更都需要到信息中心申请变更hosts文件。其他计算机也需要定期更新,才能上网。
但是这样太麻烦了,就出现了DNS系统。

1.一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系
2.如果新计算机接入网络,将这个信息注册到数据库中
3.用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址
我们可以通过命令查看自己的hosts文件:
在这里插入图片描述
在域名解析的过程中仍然会优先查找hosts文件的内容。

DNS解析过程

DNS是一种可以将域名和IP地址相互映射的层次结构的分布式数据库系统,主要包括如下3个组成部分:
(1)域名空间(domain name space)和资源记录(resource record);
(2)域名服务器(name server);
(3)解析器(resolver)。

域名解析总体可分为一下过程:
(1) 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据.
(2) 如果没有, 就向上级域名服务器进行查找, 依次类推
(3) 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址
(4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程
具体可描述如下:

扫描二维码关注公众号,回复: 10060563 查看本文章
  1. 主机先向本地域名服务器进行递归查询
  2. 本地域名服务器采用迭代查询,向一个根域名服务器进行查询
  3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址
  4. 本地域名服务器向顶级域名服务器进行查询
  5. 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址
  6. 本地域名服务器向权限服务器进行查询
  7. 权限服务器告诉本地域名服务器所查询的主机的IP地址
  8. 本地域名服务器最后把查询结果告诉主机

具体实例:

域名解析总体可分为两大步骤:
第一个步骤是本机向本地域名服务器发出一个DNS请求报文,报文里携带需要查询的域名;
第二个步骤是本地域名服务器向本机回应一个DNS响应报文,里面包含域名对应的IP地址。
从下面对jocent.me进行域名解析的报文中可明显看出这两大步骤。注意:第二大步骤中采用的是迭代查询,其实是包含了很多小步骤的,详情见下面的流程分析。

在这里插入图片描述
其具体的流程可描述如下:

1.主机10.74.36.90先向本地域名服务器10.74.1.11进行递归查询
2.本地域名服务器采用迭代查询,向一个根域名服务器进行查询
3。根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器 dns.me的IP地址
4.本地域名服务器向顶级域名服务器 dns.me进行查询
5.顶级域名服务器me告诉本地域名服务器,下一步查询权限服务器dns.jocent.me 的IP地址
6.本地域名服务器向权限服务器 dns.jocent.me进行查询
7.权限服务器 dns.jocent.me告诉本地域名服务器所查询的主机的IP地址
8.本地域名服务器最后把查询结果告诉 10.74.36.90

其中有两个概念递归查询和迭代查询,其实在整个描述的过程中已经体现的很明显,而且在DNS协议(一)中说的很清楚,这里再说明一下:

递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机

迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询
通俗地说,递归就是把一件事情交给别人,如果事情没有办完,哪怕已经办了很多,都不要把结果告诉我,我要的是你的最终结果,而不是中间结果;如果你没办完,请你找别人办完。
迭代则是我交给你一件事,你能办多少就告诉我你办了多少,然后剩下的事情就由我来办。

常用命令

Linux 上的域名相关命令

  • hostname
    hostname 命令用于查看和设置系统的主机名称。环境变量 HOSTNAME 也保存了当前的主机名。在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改 /etc/hosts 和 /etc/sysconfig/network 的相关内容。
    示例:
    在这里插入图片描述

  • nslookup

nslookup 命令是常用域名查询工具,就是查 DNS 信息用的命令。
示例:
在这里插入图片描述

5G时代下的发展

未来将会有数十亿个物联网设备具有5G连接性,DNS将为这些设备的发现和寻址创造全新的需求。IETF也已经开始进行一些关键的协议开发,比如以DNS-SD为代表的“DNS Service Discovery”。

DNS—SD允许所有设备在对等体中相互组播,来快速发现本地设备和服务。在智能住宅设置中,例如,这将允许灯控开关可以自动控制所有灯具,而不需要任何人机配置或管理步骤。因此,与传统的DNS方法相比,DNS—SD将在未来更有效地扩展,这需要集中查询服务器和大量手动配置功能的实现

根域名服务器

根服务器主要用来管理互联网的主目录,在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

根域名服务器是架构因特网所必须的基础设施。在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。换句话说——攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。

IPV4:13台根域名服务器,中国没有
IPV6:25台根域名服务器,中国有4台,一主三辅,架设在北京,上海,成都,广州四大城市。

IPv4根服务器

命名

这要从DNS协议(域名解析协议)说起。DNS协议使用了端口上的UDP和TCP协议,UDP通常用于查询和响应,TCP用于主服务器和从服务器之间的传送。由于在所有UDP查询和响应中能保证正常工作的最大长度是512字节,512字节限制了根服务器的数量和名字。
要让所有的根服务器数据能包含在一个512字节的UDP包中,IPv4根服务器只能限制在13个,而且每个服务器要使用字母表中的单个字母命名,这也是IPv4根服务器是从A~M命名的原因。

介绍

根服务器主要用来管理互联网的主目录。所有IPv4根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名IPv4根服务器、域名体系和IP地址等的管理。全世界只有13台IPv4根域名服务器。1个为主根服务器在美国。其余12个均为辅根服务器,其中9台在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。中国没有。

这13个IPv4逻辑根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信。由于根服务器中有经美国政府批准的1000多个互联网后缀(如.top,.com等)和一些国家的指定符(如法国的.fr、挪威的.no等)。

IPv6根服务器

我国下一代互联网工程中心主任、“雪人计划”首任执行主席刘东于2015年6月23日发起了雪人计划,该项计划基于全新技术架构的全球下一代互联网(IPv6)根服务器测试和运营实验,将打破根服务器困局,全球互联网有望实现多边共治。

2015年6月底前,将面向全球招募25个根服务器运营志愿单位,共同对IPv6根服务器运营、域名系统安全扩展密钥签名和密钥轮转等方面进行测试验证。

“雪人计划”首次提出并实践“一个命名体系,多种寻址方式”的下一代互联网根服务器技术方案,打破固守现有13个根服务器的运营者“神圣不可侵犯”、“数量不可改变”的教条,可以引入更多根服务器运营者,同时也能保证一个命名体系不被破坏,真正实现多方共治的 “一个世界,一个互联网”的愿景。

在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在美国、日本、印度、俄罗斯、德国、法国等全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

IPV6以更多地址数量,更小路由表,更好安全性等优点,战胜了IPV4目前面临的地址紧缺的问题。IPV6浪潮真正来临。

发布了51 篇原创文章 · 获赞 7 · 访问量 5601

猜你喜欢

转载自blog.csdn.net/xxx0028/article/details/104741088