赞
踩
域名服务器采用层次结构,根域名服务器负责管理顶级域名,每一个顶级域名有着对应的域名服务器,根域名服务器通过类型为NS的资源记录建立每一个顶级域名与对应的域名服务器之间的关联。在下图的域名服务器结构中,根域名服务器中通过资源记录<com,NS,dns.com>和<dns.com,A,192.1.2.7>确定由IP地址为192.1.2.7、完全合格的域名为dns.com的域名服务器负责的com域。同样,com域分为a.com和b.com两个子域,com域域名服务器中通过资源记录<a.com,NS,dns.a.com>和<dns.a.com,A,192.1.1.3>确定由IP地址为192.1.1.3、完全合格的域名为dns.a.com的域名服务器负责a.com。
域名服务器采用分层结构的好处是,可以由负责该域的组织决定该域的子域划分过程,在某个域中增加一个子域,只要在该域对应的域名服务器增加用于建立该子域域名与对应的域名服务器之间关联的资源记录。
域名服务器的逻辑结构与域名服务器在互联网中的物理位置无关,域名服务器之间的关系通过域名服务器中类型为NS的资源记录体现。
如果需要完成某个完全合格的域名至IP地址的转换过程,可以从任何域名服务器开始解析过程。
本文中举例终端A配置的本地域名服务器是终端A解析域名时访问的第一个域名服务器,因此,也称为默认域名服务器,在上图的结构中,终端A选择a.com域域名服务器作为本地域名服务器。
终端A中分配了DNS缓冲区,终端A完成域名解析之后,建立某个完全合格的域名与对应的IP地址之间的映射,并将该映射保存在DNS缓冲区中一段时间,完全合格的域名与对应的IP地址之间的映射是动态的。如果终端A需要再次解析该完全合格域名,只要在DNS缓冲区中保存的有限时间内,终端A可以通过访问DNS缓冲区获得该映射。Windows终端可以在命令行中输入 ipconfig/flushdns 清空终端中的DNS缓冲区。
终端A中如果有hosts文件,终端A向本地域名服务器发送域名解析请求之前,检索hosts文件,如果hosts文件中存在该完全合格的域名与对应的IP地址之间的映射,终端A直接使用该映射。
迭代解析过程:
本地域名服务器接收到终端A发送的完全合格的域名www.b.edu的解析请求之后
首先在数据库中检索名字为www.b,edu,类型为A的资源记录,如果不存在这样的资源记录,检索名为b.edu,类型为NS的资源记录。如果不存在这样的资源记录,检索名字为edu,类型为NS的资源记录,检索到之后根据<edu,NS,dns.root>和<dns.root,A,192.1.3.7>确定根据域名服务器,向根域名服务器发送完全合格的域名www.b.edu的解析请求。
根域名服务器依次检索名字为www.b.edu,类型为A的资源记录;名字为b.edu,类型为NS的资源记录;名字为edu,类型为NS的资源记录。根据资源记录<edu,NS,dns.edu>和<dns.edu,A,192.1.4.7>确定edu域名务器,向本地域名服务器回送edu域域名服务器的IP地址。
本地域名服务器向edu域域名服务器发送完全合格域名的域名www.b.edu的解析请求。edu域域名服务器根据资源记录<d.edu,NS,dns.b,edu>和<dns.b.edu,A,192.1.5.7>确定b.edu域域名服务器,向本地域名服务器回送b.edu域域名服务器的IP地址。
本地域名服务器向b.edu域域名服务器发送完全合格的域名www.b.edu的解析请求。b.edu域域名服务器根据资源记录www.b.edu,A,192.1.5.2解析出完全合格的域名www.b.edu对应的IP地址192.1.5.2,向本地域名服务器回送解析结果,本地域名服务器向终端A发送解析结果。
迭代解析过程如上图所示,之所以称为迭代解析过程,是因为本地域名服务器根据资源记录检索结果确定下一个域名服务器,重复地进行向下一个域名服务器发送解析请求,等待下一个域名服务器回送解析结果。
参考书籍 《网络安全》,沈鑫剡,清华大学出版社。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。