本文已参与「新人创作礼」活动,一起开启掘金创作之路。
基本概述
域名系统DNS是因特网使用的命名系统,用来把便于人们记忆的,具有特定含义的主机名(如 www.baidu.com )转化为便于机器处理的IP地址。DNS系统采用C/S模型,协议运行在UDP上,使用53好端口。
层次域名空间
因特网采用层次树状结构的命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名
命名规则:
- 标号中的英文不区分大小写
- 不能出现除了
-以外的其他任何标点符号 - 每个符号不超过63个字符,多标号组成的完整域名不超过255个字符
- 域名级别左低右高
域名分类:
- 国家顶级域名nTLD,如.cn,.uk等
- 通用顶级域名gTLD,如.com,.net等
- 基础结构域名:只有特殊的反向解析域名arpa,又称反向域名
域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用C/S模型,根据不同层级分为以下服务器:
- 根域名服务器
- 顶级域名服务器
- 授权域名服务器(权限域名服务器)
- 本地域名服务器
域名解析过程
主要分为正向解析(域名->IP),反向解析(IP->域名)。
查询方式:
- 递归查询。此方法对根域名服务器造成的负载过大,实际中几乎不用。
- 递归迭代相结合。主机对本地域名服务器使用递归查询,本地域名服务器向根域名服务器使用迭代查询。
查询过程:
- 客户机先向其本地域名服务器发布DNS请求报文
- 本地域名服务器采用迭代的查询(在查询本地没有缓存记录的情况下),它先向根域名服务器查询
- 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址
- 本地域名服务器向顶级域名服务器发起查询
- 顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器IP地址
- 本地域名服务器向权限域名服务器发起查询
- 权限域名服务器告诉本地域名服务器所查询的IP地址
- 本地域名服务器把查询结果告诉客户机