域名基础知识
域名是互联⽹上⽤来识别各种实体(如服务器、服务、⽹络)的可读名称。它是⼀种⽅便记忆的地址,⽤于代替IP地址,因为IP地址由数字组成,不容易记忆。域名通过⼀种层级结构的系统组织起来,从最⼀ 般的部分到最具体的部分,通常包括顶级域(TLDs)、⼆级域和⼦域。
例子:
在域名 www.example.com 中,
- .com 是顶级域(TLD),通常表明⽹站的性质或地域(如.com代表商业组织,.org代表⾮盈 利组织)。
- example 是⼆级域,通常是公司或组织的名称。
- www 是⼦域,常⽤于指向⽹站的主服务器或特定的服务。
域名系统允许⽤户通过简单的名称访问⽹站和其他⽹络服务,⽽⽆需记忆复杂的数字IP地址。
域名系统
在域名系统(DNS)的层级结构中,根域名实际上是⼀个⽆可⻅标签的层级,通常表示为域名末尾的⼀个点( . ),但在⼤多数时候,这个点在浏览器或者⽹络应⽤中都不会被显示或使⽤。这个根域在DNS查询过程中⾮常重要,它是所有完全限定域名(FQDN)的最⾼层级。
域名层级
域名从右到左阅读,层级从最⼴泛到最具体:
1. 根域(Root Domain) :在域名的最右端,代表了DNS层级结构的顶端。通常⽤⼀个隐形的点( . )表示,这个点通常在⽇常使⽤中省略。2. 顶级域名(Top-Level Domain, TLD) :紧接根域之后的是顶级域名,例如 .com 、 .org 、 .net 、国家代码顶级域名(ccTLD)如 .cn 、 .uk 等。3. ⼆级域名(Second-Level Domain, SLD) :位于顶级域名之下,常⻅的如 google 在 google.com , baidu 在 baidu.com 。4. 子域名(Subdomain) :进⼀步细分的域名,如 www、 mail 等,⽤于指向主域名下的特定服务器或服务。
域名服务器
(1)根域名服务器
根域名服务器是最⾼层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地 址。根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特⽹上任何⼀个域名进⾏解析,只要⾃⼰⽆法解析,就⾸先要求助于根域名服务器。因特⽹上有13个根域名服务器,尽管我们将这13个根域名服务器中的每个都视为单个服务器,但每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性。需要注意的是,根域名服务器⽤来管辖顶级域(如.com), 通常它并不直接把待查询的域名直接转换成IP地址,⽽是告诉本地域名服务器下⼀步应当找哪个顶级域名服务器进⾏查询。(迭代)
(2)顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器注册的所有⼆级域名。收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下⼀步应当查找的域名服务器的IP地址)。
常见的顶级域
(3)授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记。为了更加可靠地⼯作,⼀台主机最好⾄少有两个授权域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。授权域名服务器总能将其管辖的主机名转换为该主机的IP地址。
(4)本地域名服务器
本地域名服务器对域名系统⾮常重要。每个因特⽹服务提供者(ISP), 或⼀所⼤学,甚⾄⼀所⼤学中的各个系,都可以拥有⼀个本地域名服务器。当⼀台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。事实上,我们在Windows系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是本地DNS(域名服务器)的地址。
权威服务器
**权威服务器(Authoritative Name Server)**是域名系统(DNS)中负责管理并提供特定域名的最终解析信息的服务器。它对⼀个或多个域名有权威解释权,能够返回该域名的准确IP地址或其他相关信息。权威服务器的主要任务是将域名映射到其对应的资源记录,例如IP地址(A或AAAA记录)或邮件服务器(MX记录)。
权威服务器的功能和作用
1. 权威性:权威服务器拥有特定域名的权威数据,它存储了域名的所有资源记录。当客户端发起查询时,权威服务器提供的是最终的、权威的解析结果。⽐如, example.com 的权威服务器会存储该域名的A记录(IPv4地址)、MX记录(邮件服务器)、NS记录(名称服务器)等信息。2. 响应查询:当递归DNS服务器⽆法直接解析某个域名时,它会向权威服务器发出请求。权威服务器通过其本地存储的数据,返回与查询相关的最终解析结果(例如,将域名解析为IP地址)。3. 维护域名记录:权威服务器是由域名持有者(如⽹站管理员或服务提供商)进⾏配置和维护的。这意味着,它存储的是域名所有者指定的资源记录。域名的管理通常由域名注册商(如GoDaddy、Namecheap)或者域名托管服务商提供权威服务器服务。
权威服务器的工作流程
权威服务器是域名解析流程中的最后⼀环。当客户端查询域名时,DNS解析过程通常如下:1. 客户端请求:客户端向递归DNS服务器发出域名解析请求。2. 递归查询:如果递归DNS服务器没有缓存中的解析结果,它会向根DNS服务器查询。3. 根DNS服务器响应:根DNS服务器不会直接返回IP地址,⽽是返回负责某个顶级域(如 .com 或 . org )的顶级域名服务器(TLD Server)的地址。4. TLD服务器查询:递归DNS服务器接下来会向TLD服务器发出查询。TLD服务器会提供该域名所使⽤的权威DNS服务器的地址。5. 权威服务器响应:递归DNS服务器最后向权威服务器发出请求,权威服务器返回该域名的IP地址等相关信息,递归服务器将结果返回给客户端。
权威服务器的类型
权威服务器分为以下⼏种类型:
- 主权威服务器(Primary/ Master Name Server):该服务器保存域名的原始数据。通常域名的资 源记录⾸先被配置在主权威服务器上。
- 从权威服务器(Secondary/ Slave Name Server):从主权威服务器同步数据,提供与主权威服务器相同的解析结果,但⼀般作为备份使⽤,以确保冗余和可靠性。
示例
假设你访问 www.example.com ,权威服务器的⻆⾊如下:1. 权威服务器的⻆⾊: example.com 的权威服务器存储了关于这个域名的所有记录,包括A记录(指向⽹站的IP地址)、NS记录(指示哪个服务器管理域名)等。2. 权威服务器响应:当客户端查询 www.example.com 时,递归服务器最终会向 example.com 的权威服务器发送请求,权威服务器将返回 www.example.com 对应的 IP 地址(例如192.0.2.1 )。
总结
权威服务器是DNS系统中负责提供域名最终解析信息的服务器,它存储并返回关于特定域名的权威资源记录。权威服务器确保域名解析过程中的准确性和权威性,起到了至关重要的作⽤。
域名解析过程
- 域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
- 当客户端需要域名解析时,通过本机的DNS客户端构造⼀个 DNS请求报⽂ ,以 UDP数据报 ⽅式发往 本地域名服务器 。
- 域名解析有两种⽅式: 递归查询 和 递归与迭代 相结合的查询。
递归查询与迭代查询
⼀、主机向本地域名服务器的查询⼀般都是采⽤递归查询。
- 所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,
- 向其它根域名服务器继续发出查询请求报⽂(即替主机继续查询),⽽不是让主机⾃⼰进⾏下⼀步查询。
- 因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示⽆法查询到所需的IP地址。
⼆、本地域名服务器向根域名服务器的查询的迭代查询。
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报⽂时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下⼀步应当向哪⼀个域名服务器进⾏查询”。然后让本地服务器进⾏后续的查询。根域名服务器通常是把⾃⼰知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下⼀步应当向哪⼀个权限域名服务器进⾏查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机
递归:客户端只发⼀次请求,要求对⽅给出最终结果。迭代:客户端发出⼀次请求,对⽅如果没有授权回答,它就会返回⼀个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。授权回答:向dns服务器查询⼀个域名,刚好这个域名是本服务器负责,返回的结果就是授权回答。
(1)主机向本地域名服务器的查询采⽤的是递归查询
也就是说,如果本地主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报⽂(即替该主机继续查询),⽽不是让该主机⾃⼰进⾏下⼀步的查询。
(2)本地域名服务器向根域名服务器的查询采⽤迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报⽂时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下⼀步应当向哪个顶级域名服务器进⾏查询”。然后让本地域名服务器向这个顶级域名服务器进⾏后续的查。同样,顶级域名服务器收到查询报⽂后,要么给出所要查询的IP地址,要么告诉本地域名服务器下⼀步应向哪个·权限域名服务器·查询。最后,知道所要解析的域名的IP地址后,把这个结果返回给发起查询的主机。