DNS
DNS
DNS协议
DNS(Domain Name System)是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。
DNS协议的作用是将域名解析成IP地址,以便于计算机之间相互通信。
DNS原理
DNS的工作原理是:当用户在浏览器中输入一个域名时,浏览器会向本地DNS服务器发出请求,本地DNS服务器一般是由网络服务提供商提供的,也可以是由网络管理员搭建的。本地DNS服务器收到请求后,首先会查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果,此过程结束;如果没有,本地DNS服务器就要向根DNS服务器发出请求,根DNS服务器收到请求后会返回一个所查询域的主域名服务器的地址,本地DNS服务器收到后,继续向主域名服务器发出请求,这个过程一般会进行两次,第一次向主域名服务器请求的是所查询域的权威DNS服务器的地址,第二次向权威DNS服务器请求的是域名对应的IP地址,当本地DNS服务器收到IP地址后,就可以将其返回给用户的浏览器,用户的浏览器最后根据IP地址向web服务器发出请求,web服务器返回响应后,用户就可以看到web页面了。
DNS域名结构
DNS域名结构是一个树形结构,根域名服务器在树的顶部,它的下面是顶级域名服务器,顶级域名服务器的下面是二级域名服务器,二级域名服务器的下面是三级域名服务器,以此类推。
DNS域名结构示意图
DNS域名结构说明
根域名服务器:根域名服务器是DNS服务器的顶级,它的作用是指明顶级域名服务器的地址,根域名服务器的地址是固定的,一般有13个,分别是a.root-servers.net、b.root-servers.net、c.root-servers.net、d.root-servers.net、e.root-servers.net、f.root-servers.net、g.root-servers.net、h.root-servers.net、i.root-servers.net、j.root-servers.net、k.root-servers.net、l.root-servers.net、m.root-servers.net。
顶级域名服务器:顶级域名服务器是根域名服务器的下一级,它的作用是指明二级域名服务器的地址,顶级域名服务器的地址是固定的,例如.com顶级域名服务器的地址是a.gtld-servers.net、b.gtld-servers.net、c.gtld-servers.net、d.gtld-servers.net、e.gtld-servers.net、f.gtld-servers.net、g.gtld-servers.net、h.gtld-servers.net、i.gtld-servers.net、j.gtld-servers.net、k.gtld-servers.net、l.gtld-servers.net、m.gtld-servers.net。
二级域名服务器:二级域名服务器是顶级域名服务器的下一级,它的作用是指明三级域名服务器的地址,二级域名服务器的地址是由顶级域名服务器指定的,例如tal.com顶级域名服务器的地址是ns1.tal.com、ns2.tal.com。
三级域名服务器:三级域名服务器是二级域名服务器的下一级,它的作用是指明域名对应的IP地址,三级域名服务器的地址是由二级域名服务器指定的,例如www.tal.com二级域名服务器的地址是
DNS解析过程
1. 浏览器缓存
浏览器会缓存DNS记录一段时间,因此在一段时间内,不需要再次进行DNS解析。
2. 系统缓存
如果在浏览器缓存中没有找到需要的记录,浏览器会搜索操作系统缓存中是否有这个域名对应的记录,如果有,就可以直接返回结果,如果没有,就需要进行下一步查询。
3. 路由器缓存
路由器也会缓存DNS记录,如果路由器缓存中有需要的记录,就可以直接返回结果,如果没有,就需要进行下一步查询。
4. ISP DNS缓存
ISP(Internet Service Provider)是互联网服务提供商,ISP DNS缓存也是DNS缓存的一种,如果ISP DNS缓存中有需要的记录,就可以直接返回结果,如果没有,就需要进行下一步查询。
5. 递归搜索
如果以上都没有找到需要的记录,就需要进行递归搜索,递归搜索是从根域名服务器开始,依次向下搜索,直到找到需要的记录,或者搜索到叶子节点,如果搜索到叶子节点,就会返回一个错误。
DNS查询类型
1. A记录
A记录是最基本的DNS记录类型,它将域名指向一个IP地址。
2. CNAME记录
CNAME记录是将域名指向另一个域名,这个域名就是实际的域名,而另一个域名就是别名。
3. MX记录
MX记录是邮件交换记录,它指向一个邮件服务器,用于处理域名的电子邮件。
4. NS记录
NS记录是域名服务器记录,它指向一个域名服务器,用于处理域名解析。
5. PTR记录
PTR记录是反向解析记录,它将IP地址指向一个域名。
6. SOA记录
SOA记录是起始授权记录,它包含了域名的基本信息,如域名的主域名服务器、域名的管理员邮箱等。
7. TXT记录
TXT记录是文本记录,它可以用来存储任意文本信息。