DNS详解以及Bind使用(一)---概述

相关概念

DNS

Domain name Service: 使用特定的应用层一种协议,默认端口使用 tcp 53 和udp 53端口
FQDN:full qualified domain name : 是一个主机名(不是域名),比如 www.xxx.com
DNS名称解析过程

  1. 当浏览器输入一个主机的主机名时,系统标准库中提供了 dns解析的库(如getIpByHostname这种调用,也可提供反向解析调用,而这个库调用通常是找/etc/hosts
  2. 当互联网主机名太多了,访问/etc/hosts就不可行了,因为内存无法加载过大的文件,而文件更新也比较麻烦。**所以当系统库调用访问/etc/hosts 无法得到结果时,就会访问dns服务器。**主机作为dns客户端,通过特定协议发往dns的udp 53端口 域名解析请求,dns server收到请求后,根据请求内容查找数据库,响应查询结果跟客户端。
  3. dns服务使用倒置的树状结构,来层次化主机名。 比如给一个机构颁发了xxx.com 的域名,那么www.xxx.com,edu.xxx.com 都是归这个机构所有。

任何组织和个人,需要向顶级域的维护者进行申请,而顶级域需要由国际地址名称分配机构按需增加
常用顶级域:
.com,.net,.org, .edu,.mil(组织域)
.cn,.tw,.jp(国家域)

二级域名是需要个人在顶级域下进行个性化申请的,先到先得。
实际上现在互联网上的Dns服务器非常多,所以需要将dns服务器的地址配置在当前操作系统的某个配置文件上。而每次dns解析回来的地址,会在本地缓存一份,以降低dns的解析时延。Dns的缓存失效时间由dns解析服务器定义,以此来告诉客户端多久可以刷新缓存

而我们通常连接的运营商DNS服务器,其不提供DNS服务,它只是代替客户端做DNS查询,完成递归查询,而域名解析的结果在 其上面也会有缓存,从而加速客户端访问,所以它是一个DNS缓存。

为什么DNS服务器可以有多台

如果多台DNS服务器,如果每个服务器都保存全量数据,那么数据一致性有问题,同时写可能会有的服务器失败

所以解决方案是,每个DNS服务器只负责DNS解析树的一部分

  • 根域名服务器只负责管理顶级域,所以xxx.com的请求到顶级域的时候,会被重定向的.com这个顶级域名服务器
  • xxx.com 请求到达 .com 这个顶级域名服务器时,顶级域名服务器负责将请求转发到 .xxx 这个二级域名服务器。
  • 最终xxx.com 到达二级域名服务器xxx,二级域名服务器看到www.xxx.com 确实在自己这有记录,就将记录返回给客户端
  • 所以DNS算是个分布式数据库,如果更新数据的话只是在域名解析树的一个分支上进行上溯更新。比如有个www.yyy.com,会在对应的服务器上进行记录(最低级域名服务器,完成全域名解析)和跳转地址的更新(上层服务器&
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值