应用层之DNS(域名解析协议)
-
定义:由于使用IP地址难以对应到每个相应的网站,使用域名相对而言容易记住,但将每个域名与IP的对应关系放在主机内会消耗大量资源,因此,采用DNS服务器储存,并用DNS域名系统转换得到IP
-
域名:因特网采用层次树状结构的域名结构
域名的结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同级别的域名;每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母;级别最低的域名写在最左边,而级别最高的顶级域名写在最右边;完整的域名不超过255个字符。
域名系统既不规定一个域名需要包含多少个 下级域名,也不规定每一-级的域名代表什么意思。
各级域名由其上-级的域名管理机构管理,而最高的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理。 -
工作过程
当在网页中输入某服务器的域名时,用户主机会在自己的高速缓存中查找该域名的IP地址如果没找到,则会向网络中的某台DNS服务器查询
DNS服务器中有域名和IP地址映射关系的数据库 为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网.上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)。不但在本地域名服务器中需要高速缓存,在用户主机中也很需要。许多用户主机在启动时从本地域名服务器下载域名和IP地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才向域名服务器查询。同理,主机也需要保持高速缓存中内容的正确性。
递归查询
一般客户机和服务器之间属递归查询,即当客户机向dns服务器发出请求后,若dns服务器本身不能解析,则会向另外的dns服务器发出查询请求,得到结果后转交给客户机;迭代查询
一般dns服务器之间属迭代查询,如:若dns2不能响应dns1的请求,则它会将dns3的ip给dns2,以便其再向dns3发出请求;