DNS

DNS

运行在主机上的浏览器使用 DNS 的过程

image-20201019174336556

通过上述过程,发现 DNS 会带来网络时延。解决策略是:让客户主机的 DNS 应用 向在它附近的 DNS 服务器的缓存中寻找是否已经存在 hostname 对应的 IP 地址。

DNS 提供的各种服务

注意 规范主机名 对人类来说,一般没有 主机别名 好记忆。

  1. hostname 到 IP 地址的映射;
  2. 多个主机别名规范主机名 的映射;
  3. 邮件服务器别名 到 规范主机名 的映射;
  4. 负载分配。繁忙的站点会有多台服务器,每个服务器运行在不同的端系统上,每个服务器都会有自己的 IP 地址。而 DNS 可以提供一个 IP 地址集合 关于 一个 规范主机名的映射。

DNS 服务器的类别

DNS 使用 分布式、层次数据库来存储世界上所有主机的映射。因此,大致上有 3 种 DNS 服务器:根 DNS 服务器顶级域(TLD)DNS 服务器权威 DNS 服务器

部分 DNS 服务器的层次结构

image-20201022131455720

对与上图中 权威 DNS 服务器层次结构的解释:TLD 服务器想要找到某个主机的 ip 地址,必须先找到一个 权威 DNS 服务器 a,a 在寻找它的子节点 DNS 服务器 b,依次向下查询 与主机直接相连的 权威 DNS 服务器,再返回 主机的 主机名/IP 地址 映射。即 TLD DNS 服务器与 主机之间经常会有多个 权威 DNS 服务器。

对于一个主机名:C.B.A 。A 表示 TLD DNS 服务器名,B.A 表示 权威 DNS 服务器名,这是一个集合。

客户主机利用DNS请求目的主机 ip 地址的所有流程:

image-20201022150326458

注意到,一共发送了 8 + (n - 1)* 2 份 DNS 报文,其中 n 为权威服务器的数量。显然,为了一个主机的 ip 地址,发送了如此之多的报文是一件非常费时间的事情,因此可以使用 DNS 缓存 技术来大大减少时间。

DNS 缓存

原理:在一个请求链中,当某个 DNS 服务器接收一个 DNS 回答(例如,包含某个主机名到 IP 地址的映射)时,它能将映射缓存在本地存储器中。 这样,今后的请求如果主机名相同,即可直接返回 IP 地址,大大节省了时间。由于主机名与 IP 地址的映射不是永久的,因此 DNS 服务器在一段时间后(通常是 2 天)会丢弃缓存信息。

正是因为 DNS 缓存,所以除了少数 DNS 查询外,根服务器 都被绕过了。

DNS 记录

DNS 缓存即将主机名与 ip 地址映射缓存在本地存储器中,DNS 服务器使用 资源记录(RR) 来存储映射。资源记录(RR)是下列字段的 4 元组:

(Name, Value, Type, TTL)

其中 TTL 是这条资源记录的生存时间,因为 DNS 缓存不是永久的。

Type 决定了 Name 与 Value 的含义:

  • Type = A 。Name 是主机名,Value 是该主机名对应的 IP 地址。
  • Type = NS。Name 是域。Value 是 获得 Name 域 ip 的 权威 DNS 服务器的主机名。
  • Type = CNAME。DNS 提供了多个主机别名到一个规范主机名的映射集合,在资源记录(RR)中,Name 表示一种主机别名,而 Value 则是主机别名对应的规范主机名。
  • Type = MX。类似于 Type = CNAME,但是是用在 邮件服务器 中的。注意:一个公司的邮件服务器别名可能与其他服务器(如 Web 服务器)别名相同,这个时候就需要根据 Type 的值来决定 Value 究竟是哪种服务器的规范主机名。

DNS 安全性

DNS 非常安全。 DNS 自身已经显示了对抗攻击的令人惊讶的健壮性。至今为止,还没有一个攻击已经成功地妨碍了 DNS 服务。

参考:《计算机网络自定向下方法》第7版

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值