一、名称解析系统的发展
主机名系统:hosts文件,平面命名机制,操作系统执行命令之前先通过查询主机文件得到与主机名对应的IP地址,用IP地址替换命令中主机名之后再执行命令
域名系统:DNS,层次命名机制,将名称解析的工作分发到一组专用的解析服务器上完成。域名解析服务器维护并定义了域名以及与其关联的IP地址的列表,可以为网络提供名称解析服务
二、域名空间
域
域名(完整域名 FQDN和不完整域名PQDN)
子域
1、域名的层次结构
域名系统必须要保持唯一性。
为了达到唯一性的目的,因特网在命名的时候采用了层次结构的命名方法:
1) 每一个域名(本文只讨论英文域名)都是一个标号序列(labels),用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成
2) 标号序列总长度不能超过255个字符,它由点号分割成一个个的标号(label)
3) 每个标号应该在63个字符之内,每个标号都可以看成一个层次的域名。
4)级别最低的域名写在左边,级别最高的域名写在右边。
域名服务主要是基于UDP实现的,服务器的端口号为53。
类属域名

2、域名的分级
其中顶级域名分为:国家顶级域名、通用顶级域名、反向域名。
将名称解析的工作分发到一组专用的解析服务器上完成;
将本地名称解析的权力授予本地管理员。
四、DNS查询方式
(1)递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机
(2)迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。
五、DNS报文格式及封装
一般,DNS报文采用UDP传输,但当报文大小超过512字节时,则采用TCP传输。不管是UDP传输还是TCP传输,DNS的端口号都为53,即在UDP和TCP中端口号53都是留给DNS使用。


