定义
域名系统(Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
端口
DNS使用TCP和UDP的53端口。
限制
限制每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS域名解析流程
1.浏览器缓存
浏览器首先会在自身缓存中查找是否有该域名对应的IP地址,若命中则解析结束。(域名被缓存的时间也可通过TTL属性来设置)
2.系统缓存
若浏览器缓存中没命中该域名,则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP
3.路由器缓存
当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存
4.本地服务器
以上均未命中,则请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。
5.根域名服务器
如果LDNS仍然没有命中,就直接跳到Root Server 域名服务器请求解析,根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器(注意:全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器)
6.顶级域名服务器
本地DNS服务器会发请求给上一步返回的顶级域名服务器,顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
7.主域名服务器
本地DNS服务器会继续发请求给上一步返回的主域名服务器,主域名服务器接受到请求后查询自己的缓存,如果没有则返回相关的下一级域名服务器的地址,并重复该步骤直至找到正确纪录。
8.保存结果到缓存
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。
动态图示