DNS详细内容
一、DNS
域名系统(Domain Name System,缩写:DNS)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,DNS使用TCP和UDP端口53进行通信,每个域名的长度不能超过253个字符。
二、名字空间结构
1. 层次树状结构
因特网采用层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构名字,即域名,域名由标号序列组成,各标号之间用点“.”分隔,www.baidu.com中,com为顶级域名,baidu为二级域名,www为三级域名。
2. 域名类型
国家级顶级域名(nTLD):表示某个国家或地区,如.cn(中国),.us(美国),.uk(英国)。
通用顶级域名(gTLD):常见的有.com(公司企业),.net(网络服务机构),.org(非营利性的组织),.gov(美国的政府部门)等。
基础结构域名:用于反向域名解析,如.arpa。
三、域名服务器
域名服务器被设计成一个联机分布式数据库系统,并采用客户/服务器模式,域名到IP地址的解析是在域名服务器上进行的,一个服务器所负责的范围称为区。
1. 根域名服务器
根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址,全球共有13个不同IP地址的根域名服务器。
2. 顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器下注册的二级域名,当收到DNS查询请求时,就给出相应的回答。
3. 授权域名服务器(权限域名服务器)
每一个主机都必须在授权域名服务器处登记,为了更加可靠地工作,一个主机最好至少有两个授权域名服务器。
4. 本地域名服务器
本地域名服务器对域名系统非常重要,每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。
四、域名解析过程
1. 递归查询与迭代查询
递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果,如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机。
迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。
2. 具体步骤
1、主机向本地域名服务器发出DNS请求报文。
2、本地域名服务器检查缓存,如果没有结果,则向根域名服务器发出查询请求。
3、根域名服务器告诉本地域名服务器下一步应当查找的顶级域名服务器的IP地址。
4、本地域名服务器向顶级域名服务器发出查询请求。
5、顶级域名服务器返回下一步应当查找的权限域名服务器的IP地址。
6、本地域名服务器向权限域名服务器发出查询请求。
7、权限域名服务器返回最终的IP地址。
8、本地域名服务器将结果保存到本地缓存,并将结果返回给主机。
五、DNS协议报文格式
1. 头部部分
ID:标识字段,用于区分请求和响应报文。
标志:包括QR(查询/响应标志)、opcode(操作代码)、AA(授权回答)、TC(可截断)、RD(期望递归)、RA(可用递归)等。
数量字段:包括Questions、Answer RRs、Authority RRs、Additional RRs的数量。
2. Question部分
QNAME:要查询的域名。
QTYPE:查询类型,如A记录、MX记录等。
QCLASS:查询类别,通常为IN(Internet)。
3. Answer、Authority、Additional部分
每部分包含若干资源记录(Resource Records, RRs),每条记录包含NAME、TYPE、CLASS、TTL、RDLENGTH、RDATA等信息。
六、DNS安全性与攻击防护
1. DNS安全性扩展(DNSSEC)
DNSSEC为DNS数据提供完整性验证,防止数据篡改。
2. DDoS攻击防护
DNS服务器可能会受到分布式拒绝服务攻击(DDoS),导致服务中断,通过源认证、被动模式和CNAME机制等方法进行防护。
七、DNS负载均衡与动态更新
1. 负载均衡
通过轮询、地理位置等方式将请求分发到多个IP地址,以分散负载。
2. 动态更新
允许DNS记录在域名服务器上自动更新,用于动态分配IP地址的网络环境(如DHCP)。
八、DNS工具与命令
1. nslookup
用于监测DNS服务器是否正常运行,以及正确解析域名的工具。
2. dig
用于查询DNS信息,提供更详细的结果。
3. whois
用于查询域名注册信息。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/118131.html