DNS 协议
# DNS 协议
# 概述
DNS:Domain Name System,域名系统解析,应用层协议
作用:实现网络 IP 地址和主机域名的映射
端口号:53
使用协议:UDP
# 域名结构
# 域名层次结构
目的:保持唯一性
方法:采用层次结构的命名方法
- 每一个域名都是一个标号序列,用字母、数字和链接符组成
- 标号序列总长度不能超过 255 个字符,由点号分割成一个个的标号
- 每个标号应该在 63 个字符之内,可以看成一个层次的域名
- 级别最低的域名写在左边,最高的域名写在右边
例子:常用的 www.baidu.com
- com:一级域名,表示一个企业域名
- baidu:二级域名,指公司名
- www:指主机名
# 域名分级
域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样形成了顶级域、二级域等
例:xxx.yyy.zzz.com
com:顶级域名
zzz:二级域名
yyy:三级域名
xxx:四级域名
顶级域名分为:
- 国家顶级域名,如:
- 中国:cn
- 美国:us
- 英国:uk
- 通用顶级域名,如:
- com:公司企业
- edu:教育机构
- gov:政府部门
- int:国际组织
- 反向域名,如:
- arpa:用于 PTR 查询(IP 地址转换为域名)
# 域名解析过程
域名解析总体可分为以下过程:
- 输入域名后,先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据
- 如果没有,就向上级域名服务器进行查找,依次类推
- 最多回溯到根域名服务器, 肯定能找到这个域名的 IP 地址
- 域名服务器自身也会进行一些缓存,把曾经访问过的域名和对应的 IP 地址缓存起来, 可以加速查找过程,具体可描述如下:
- 主机先向本地域名服务器进行递归查询
- 本地域名服务器采用迭代查询,向一个根域名服务器进行查询
- 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的 IP 地址
- 本地域名服务器向顶级域名服务器进行查询
- 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的 IP 地址
- 本地域名服务器向权限服务器进行查询
- 权限服务器告诉本地域名服务器所查询的主机的 IP 地址
- 本地域名服务器最后把查询结果告诉主机
递归查询:
本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以 DNS 客户机的身份向其它域名服务器查询,直到得到最终的 IP 地址告诉本机
迭代查询:
本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询
(完)