DNS协议初步了解 | 青训营笔记

119 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 八天

DNS协议

1.概念

DNS 域名系统 作为将域名和ip地址相互映射关系(多个域名可以对应同一个IP地址)存放在一个分布式数据库,dns使用的是udp的53端口

域名:由特殊机构统一管理

www.baidu.com

www.a.shifen.com

www.sina.com.cn

httpd.apache.org

以上是某些网址的例子

我们可以将其拆分 分为

根域 (全世界只有十三台服务器)

该域名是隐藏的 只有一个.

顶级域(主要用于区分域名的作用)

组织类:.com(商业类型) .org(社会非营利组织) .edu(教育教学)等等

国家类:.cn(中国) .hk(香港) .uk(英国) .us(美国)

不同域名价值不一样 .edu 域名最难申请

二级域 (一般申请的域名)

baidu  sina  apache  a.shifen

FQDN(完全限定域名/完全合格域名) 主机名.dns后缀(二级域名) Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名

dns查询

① 根域名服务器

上面我们提到,ICANN 维护着一张根域名列表,里面记载着顶级域名和对应的托管商,其实根域名列表的正式名称是 DNS 根区(DNS root zone),保存 DNS 根区文件的服务器,就叫做 DNS 根域名服务器(root name server)。根域名服务器保存所有的顶级域名服务器的地址

由于早期的 DNS 查询结果是一个 512 字节的 UDP 数据包。这个包最多可以容纳 13 个服务器的地址,因此就规定全世界有 13 个根域名服务器,编号从 a.root-servers.net 一直到 m.root-servers.net。其中 10 台设置在美国,另外各有一台设置于荷兰、瑞典和日本。

前面我们说过,理论上所有域名的查询都必须先查询根域名,所以一般来说所有的域名服务器都会注册一份根域名服务器的 IP 地址的缓存,用于在必要的时候向其发送请求。

按照根域名服务器管理顶级域名的逻辑,顶级域名服务器显然就是用来管理注册在该顶级域名下的所有二级域名的,记录这些二级域名的 IP 地址

按照上面的逻辑,权限域名服务器应该是管理注册在二级域名下的所有三/四级域名的,但其实不是这样,如果一个二级域名或者一个三/四级域名对应一个域名服务器,则域名服务器数量会很多,我们需要使用划分区的办法来解决这个问题。那么权限域名服务器就是负责管理一个“”的域名服务器。

什么是区?怎样划分区呢?

区和域其实是不同的,区可以有多种不同的划分方法。以百度为例,我们假设有 fanyi.baidu.comai.baidu.comtieba.baidu.com 这三个三级域名。我们可以这样分区,fanyi.baidu.com 和 tieba.baidu.com 放在 baidu.com 权限域名服务器,ai.baidu.com 放在 ai.baidu.com 权限域名服务器中。并且 baidu.com 权限域名服务器和 ai.baidu.com 权限域名服务器是同等地位的,而具体怎么分区是百度公司根据域名多少、访问多少等情况去自己规定的。