IP地址是面向主机的,域名是面向用户的,对于一个IP地址,用户并不好记。
一、域名特点
- 每一个域名都是标号序列,由字母(大小写一样),数字和连接符-组成。
- 标号序列最多有255个字符,又由每一个点号分割成一个个标号。每个标号都在63个字符以内,每个标号都可以看成一个层级的域名。
- 域名的级别由左到右,依次增大。
- 域名服务是默认使用UDP通讯,广域网中不适合传输太大的数据包,规定当报文长度超过512字节时使用TCP进行数据传输,服务器的端口号默认是53。
二、*域名分类
三、域名服务器
装有域名系统的主机,用来将域名解析成IP地址。
按层次划分可分为以下几类:
- 根域名服务器: 所有的根域名服务器都知道所有*域名服务器的域名和IP地址。不具体解析某个域名,但我知道你到哪个*域名服务器中能找到IP。
- *域名服务器: 负责国家*域名(cn,us,uk)和通用*域名服务器(com,org,edu,gov)。
- 区域名服务器: 负责一个区的域名解析工作。
- 本地域名服务器: 当一台主机发出DNS查询请求时,这个请求报文首先会发给本地域名服务器进行查询。每个 ISP(如一个大学或一家公司)都可以有一台本地 DNS 服务器(也叫默认 DNS 服务器)离用户比较近。
- 每一级域名服务器都知道下一级域名服务器的域名和IP地址,为了防止一个一个域名服务器被破坏访问不了,每一级至少设置两个域名服务器
四、域名解析过程
- 主机先向本地域名服务器进行递归查询,如果有直接返回域名IP
- 如果没有,则本地域名服务器继续向根域名服务器进行迭代查询。根域名服务器告诉本地域名服务器应该向哪个*域名服务器去查询。
- 本地域名服务器再次向此*域名服务器查询。*域名服务器告诉本地域名服务器,下一步应该查询的权限域名服务器的IP地址。
- 本地域名服务器继续向此权限域名服务器查询,权限域名服务器告诉本地域名服务器所查询的主机的IP地址。
- 本地域名服务器最后把查询得到的IP地址返回给主机。
五、递归查询和迭代查询
**递归查询:**主机向本地域名服务器查询域名IP,等待最终的结果。
**迭代查询:**本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。
通俗地说,递归就是把一件事情交给别人,如果事情没有办完,哪怕已经办了很多,都不要把结果告诉我,我要的是你的最终结果,而不是中间结果;如果你没办完,请你找别人办完。
迭代则是我交给你一件事,你能办多少就告诉我你办了多少,然后剩下的事情就由我来办。
参考:link,此篇博客