DNS协议详解

目录

一、DNS协议的概念

二、DNS协议的组成

2.1 层次结构中的三种DNS服务器

2.2 本地DNS服务器

三、DNS缓存与记录

3.1 DNS缓存

3.2 DNS记录

四、DNS协议的运行流程

五、DNS可能会遭受的攻击


一、DNS协议的概念

域名系统(Domain Name System,DNS)的主要任务是进行主机名到P地址转换的目录服务。DNS是:①一个由分层的DNS服务器(DNS server)实现的分布式数据库;②一个使得主机能够查询分布式数据库的应用层协议。DNS服务器通常是运行BIND(Berkeley Internet Name Domain)软件的UNIX机器。DNS协议运行在UDP之上,使用53号端口。

二、DNS协议的组成

2.1 层次结构中的三种DNS服务器

  1. 根DNS服务器

    根据DNS查询报文中的内容返回相应顶级DNS服务器的地址。如收到www.baidu.com的域名解析请求,则会根据com返回负责com的顶级域名服务器的IP地址。

  2. 顶级(Top-Level Domain,TLD)DNS服务器

    负责顶级域名如com、net、org,以及所有国家的顶级域名如uk、fr。根据DNS查询报文中的内容返回相应存有DNS记录的权威DNS服务器。如收到www.badiu.com的域名解析请求,则会根据baidu.com返回负责baidu.com的权威DNS服务器的IP地址。

  3. 权威DNS服务器

    在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录

2.2 本地DNS服务器

本地DNS服务器不属于DNS服务器的层次结构中,但它对DNS层次结构非常重要。每个ISP(如一个大学,一个学院,一个公司)都有一台本地DNS服务器。本地DNS服务器起着代理的作用,它会处理本ISP中的DNS请求,并且由本地DNS服务器通过迭代或递归查询该域名的IP地址。

Tips:

递归查询:请求主机向DNS服务器发起查询请求,且DNS服务器返回最终目标结果。

迭代查询:针对请求主机的DNS查询,本地DNS服务器分别向根服务器、顶级服务器、权威服务器进行查询,且所有回答都是直接返回给本地服务器(返回的不是最终结果)。

三、DNS缓存与记录

3.1 DNS缓存

用于改善时延性能并减少在因特网上到处传输的DNS报文数量。在一个请求链中,当某DNS服务器接收到一个DNS回答,则会将该回答的信息保存在本地存储器中。当下一次接受到DNS请求时,会先查询本地缓存,若存在相关记录,则直接返回结果,而省去查找根、顶级或权威服务器的时间与报文。DNS服务器也可以保存根服务器的回答,在下一次查询中可直接查找相应的顶级服务器。

3.2 DNS记录

DNS记录分为四种类型。分别是A、NS、CNAME、MX。DNS记录包括以下字段(Name,Value,Type,TTL)

  • 如果Type=A,则Name是主机名,Value是该主机名对应的P地址。一条类型为A的资源记录提供了标准的主机名到IP地址的映射。例如(www.baidu.com,14.119.104.189,A)就是一条类型A记录。

  • 如果Type=NS,则Name是个域(如foo.com),而Value是个知道如何获得该域中主机IP地址的权威DNS服务器的主机名。例如(foo.com,dns.foo.com,NS)就是一条类型为NS的记录。

  • 如果Type=CNAME,则Value是别名为Name的主机对应的规范主机名。该记录能够向查询的主机提供一个主机名对应的规范主机名,例如(foo.com,relayl.bar.foo.com,CNAME)就是一条CNAME类型的记录。

  • 如果Type=MX,则Value是个别名为Name的邮件服务器的规范主机名。举例来说,(foo.com,mail.bar.foo.com,MX)就是一条MX记录。为了获得邮件服务器的规范主机名,DNS客户应当请求一条MX记录;而为了获得其他服务器的规范主机名,DNS客户应当请求CNAME记录。

四、DNS协议的运行流程

  1. 主机a.b.c想知道主机e.f.d.c的IP地址,向本地DNS服务器dns.b.c进行查询。

  2. 本地DNS服务器收到请求后,先查询本地DNS缓存,查看是否有相关记录,若存在相关记录,则直接返回A记录给请求主机。也有可能存在顶级域名的记录,则直接向顶级DNS服务器发起查询请求。若本地不存在相关记录,本地DNS服务器则向根DNS服务器发送查询报文。

  3. 根DNS服务器收到查询报文后,根据c前缀返回负责c的顶级DNS服务器的IP地址

  4. 本地DNS服务器根据根DNS服务器的回答向顶级DNS服务器发起查询请求

  5. 顶级DNS服务器根据d.c前缀返回存有相关记录的权威DNS服务器的IP地址

  6. 本地DNS服务器根据顶级DNS服务器的回答向权威DNS服务器发起查询请求。

  7. 权威DNS服务器根据查询报文中的内容将e.f.d.c的IP地址进行返回

  8. 本地DNS服务器将权威DNS服务器返回的结果转发给请求主机a.b.c

五、DNS可能会遭受的攻击

  • 通过DDoS对根服务器进行攻击,使根服务器无法正常响应请求。但由于根服务器受到了分组过滤器的保护,配置的分组过滤器阻断了素有指向根服务器的ICMP ping报文。

  • 通过DDoS对顶级域名服务器进攻击,使顶级域名服务器无法正常响应请求。这种攻击的严重性通过本地DNS服务器中的缓存技术可被部分缓解。

  • 中间人攻击,攻击者劫持主机的DNS请求,并返回伪造的回答,将解析IP指向攻击者的Web站点。

  • 通过假冒的源地址向权威DNS服务器发送DNS请求。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP协议是目前互联网上最重要的通信协议之一,目录包括以下内容: 第一章:TCP/IP协议概述 介绍了TCP/IP协议的起源、发展、特点、应用领域和未来趋势等方面的内容。其中包括TCP/IP协议的体系结构、分层结构、传输机制和工作原理等内容。 第二章:IP协议详解 介绍了IP协议的地址分配、IP数据报的格式和传输机制,以及IP协议的特点和应用等方面的内容。其中包括IP地址、子网掩码、网关、路由表等基本概念和应用。 第三章:TCP协议详解 介绍了TCP协议的数据传输机制、连接建立过程、数据传输过程和连接关闭过程等方面的内容。其中包括TCP协议的流量控制、拥塞控制和错误恢复等基本机制和应用。 第四章:UDP协议详解 介绍了UDP协议的数据传输机制、特点和应用等方面的内容。其中包括UDP协议的简单传输机制、优点和缺点等基本概念和应用。 第五章:DNS协议详解 介绍了DNS协议的功能、域名解析过程和域名系统的结构等方面的内容。其中包括DNS协议的查询和响应过程,以及DNS服务器的分类和功能等基本概念和应用。 第六章:FTP协议详解 介绍了FTP协议的功能、工作原理、传输方式和常用命令等方面的内容。其中包括FTP协议的文件传输方式、连接建立过程和用户身份认证等基本概念和应用。 第七章:HTTP协议详解 介绍了HTTP协议的功能、特点、请求-应答模式和报文格式等方面的内容。其中包括HTTP协议的请求方法、响应状态码、实体头部和消息主体等基本概念和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值