DNS术语详解
一、DNS
定义与功能
DNS:域名系统(Domain Name System)的缩写,是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,而不用记住机器可以直接读取的IP数串。
主要功能包括:域名解析、负载均衡、故障转移等。
本地名称解析配置文件
Windows:C:WindowsSystem32driversetchosts
Linux:/etc/hosts
修改DNS优先级
通过修改/etc/nsswitch.conf
文件或在Windows中编辑TCP/IP设置来调整DNS服务器的顺序。
二、域名的分层结构
根域名服务器:位于顶层,负责管理顶级域名服务器的IP地址。
顶级域名服务器:如.com
、.net
等,负责管理二级域名服务器的IP地址。
二级域名服务器:如example.com
,负责管理子域名服务器的IP地址。
子域名服务器:如www.example.com
,负责具体域名的解析。
三、DNS解析过程
1、浏览器缓存查询:首先检查自身缓存中是否有该域名对应的IP地址。
2、操作系统缓存查询:如果浏览器缓存中没有,则检查本地操作系统的缓存。
3、本地DNS服务器查询:如果以上两者都没有,则请求被发送到本地DNS服务器。
4、根DNS服务器查询:本地DNS服务器向根DNS服务器发起查询。
5、顶级DNS服务器查询:根DNS服务器返回顶级DNS服务器地址,本地DNS服务器继续查询。
6、权威DNS服务器查询:顶级DNS服务器返回权威DNS服务器地址,本地DNS服务器继续查询。
7、获取IP地址:权威DNS服务器返回域名对应的IP地址。
四、DNS术语详解
递归查询
当主机所查询的本地域名服务器不知道被查询域名的IP地址时,本地域名服务器会代替主机进行后续查询,直到得到最终结果。
迭代查询
当本地域名服务器无法回答客户端的查询请求时,它会向客户端返回另一台DNS服务器的地址,客户端再向这台服务器发起查询,直到得到结果。
DNS缓存
将解析数据存储在靠近发起请求的客户端位置,以减少递归查询过程,提高查询效率。
TTL
Time To Live的缩写,告诉本地域名服务器域名解析结果可缓存的最长时间。
IPV4、IPV6双栈技术
在一个系统中同时使用IPv4和IPv6两个协议栈的技术。
TLD Server
顶级域名服务器,负责管理特定顶级域名下的二级域名服务器。
DNS Resolver
本地域名服务器,是DNS查找中的第一站,负责处理发出初始请求的DNS服务器。
Root Server
根域名服务器,当本地域名服务器在本地查询不到解析结果时,第一步会向它进行查询。
9. DNS Query Flood Attack
域名查询攻击,通过操纵大量傀儡机器发送海量的域名查询请求,导致解析服务器超时。
URL转发
通过服务器的特殊设置,将一个域名指向到另一已存在的站点。
11. ednclientsubnet
Google提交的一种DNS扩展协议,允许DNS resolver传递用户的IP地址给authoritative DNS server。
DNSSEC
域名系统安全扩展,通过数字签名保证DNS应答报文的真实性和完整性,防止DNS欺骗和缓存污染等攻击。
五、DNS记录类型
记录类型 | 描述 |
SOA记录 | 标记DNS记录的开始,用于指示该域的主DNS服务器及其管理员邮件地址 |
NS记录 | 指定该域的授权DNS服务器 |
MX记录 | 指定邮件交换服务器 |
A记录 | 将域名映射到IPv4地址 |
PTR记录 | IPv4地址反向解析到域名 |
CNAME别名记录 | 将一个域名作为另一个域名的别名 |
六、DNS客户端检测工具
1、host:解析域名对应的IP地址和别名等信息。
2、nslookup:交互式查询DNS记录。
3、dig:命令行工具,用于详细诊断DNS问题。
七、客户端配置
正向解析:将域名解析为IP地址的过程。
反向解析:将IP地址解析为域名的过程。
八、相关问题与解答栏目
问题1:什么是DNS缓存?它是如何工作的?
答案:DNS缓存是一种将解析数据存储在靠近发起请求的客户端位置的技术,目的是减少递归查询过程,提高查询效率,当客户端请求一个域名时,如果DNS服务器或客户端已经缓存了该域名的解析结果,并且该结果尚未过期(由TTL决定),则直接返回缓存的结果,否则进行正常的递归或迭代查询过程。
问题2:递归查询和迭代查询有什么区别?它们是如何工作的?
答案:递归查询是指DNS服务器为客户机完全解析域名(直到获得最终的IP地址)的过程,如果本地域名服务器无法解析该请求,它会代替客户机向其他DNS服务器进行查询,直到得到最终结果,而迭代查询是指当本地域名服务器无法回答客户端的查询请求时,它会向客户端返回另一台DNS服务器的地址,客户端再向这台服务器发起查询,直到得到结果,递归查询对客户端来说是透明的,而迭代查询需要客户端参与到整个查询过程中。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/69588.html