一、DNS简介
域名系统(Domain Name System,缩写为DNS)是互联网的一项核心服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,而不用记住复杂的IP数串,通过域名系统,用户可以通过易于记忆的域名(如www.example.com)来访问网站,而无需直接输入其对应的IP地址(如192.0.2.1)。
二、域名结构
由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name),这里,“域”(domain)是名字空间中一个可被管理的划分,从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开,域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、主域名、子域名等。
“.com”是顶级域名;
“aliyun.com”是主域名(也可称托管一级域名),主要指企业名;
“example.aliyun.com”是子域名(也可称为托管二级域名);
“www.example.aliyun.com”是子域名的子域(也可称为托管三级域名)。
三、DNS服务器分类
DNS服务器根据其在解析过程中的作用不同,可以分为以下几类:
分类 | 作用 |
根域名服务器 | 英文全称:Root Name Server,简称Root Server,本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。 |
顶级域名服务器 | 英文全称:TopLevel Domain Name Server,简称:TLD Server,负责管理在该顶级域名服务器下注册的二级域名,www.example.com”,.com则是顶级域名服务器,在向它查询时,可以返回一级域名“example.com”所在的权威域名服务器地址。 |
权威域名服务器 | 英文全称:Authoritative Name Server,简称NS,在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系,例如云解析DNS。 |
本地域名服务器 | 英文全称:Local DNS Server,简称Local DNS,本地域名服务器是响应来自客户端的递归请求,并最终跟踪直到获取到解析结果的DNS服务器,例如用户本机自动分配的DNS、运营商ISP分配的DNS、谷歌/114公共DNS等。 |
四、DNS解析过程
通过域名example.com访问网站的域名解析过程如下:
1、用户在Web浏览器中输入“example.com”,向本地域名服务器发起查询请求,若本地域名服务器存在缓存的解析数据,则直接将域名example.com对应的IP地址返回给Web浏览器,跳至步骤9,若本地域名服务器没有查到缓存的解析数据,则继续步骤2。
2、本地域名服务器向根域名服务器进行查询。
3、根域名服务器将.com顶级域名服务器的地址,返回给本地域名服务器。
4、本地域名服务器向.com顶级域名服务器发起example.com的查询请求。
5、.com顶级域名服务器将为example.com提供权威解析的权威域名服务器地址,返回给本地域名服务器。
6、本地域名服务器向权威域名服务器发起查询请求。
7、权威域名服务器将域名example.com对应的IP地址,返回给本地域名服务器。
8、本地域名服务器最后把查询的IP地址响应给Web浏览器。
9、Web浏览器通过IP地址访问网站服务器。
10、网站服务器返回网页信息。
五、DNS术语
递归查询:是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果,如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。
迭代查询:是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
DNS缓存:是将解析数据存储在靠近发起请求的客户端的位置,也可以说DNS数据是可以缓存在任意位置,最终目的是以此减少递归查询过程,可以更快的让用户获得请求结果。
TTL:英文全称Time To Live,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。
六、相关问题与解答
Q1: 什么是DNS?
A1: DNS是域名系统(Domain Name System)的缩写,它是互联网的一项核心服务,作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网。
Q2: DNS解析过程是怎样的?
A2: 当用户在浏览器中输入一个域名时,首先向本地域名服务器发起查询请求,如果本地域名服务器有缓存且未过期,则直接返回结果;否则,本地域名服务器会代表客户端向根域名服务器发起迭代查询,根域名服务器返回顶级域名服务器地址,然后本地域名服务器继续向顶级域名服务器查询,直至获得最终的IP地址并返回给客户端。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/65744.html