先决条件–应用层中的域名系统(DNS)
在网络世界中,计算机不像人类那样用名字来表示,而是用数字来表示,因为这是计算机和其他类似设备通过网络(例如使用IP地址)进行对话和识别的方式。
另一方面,人类习惯于使用名称而不是数字,无论是直接与他人交谈还是标识一个国家,地区或事物,人类都使用名称而不是数字来标识。因此,为了弥合计算机与人之间的通信鸿沟,并使许多人的通信变得更加容易,网络工程师开发了DNS。
DNS代表域名系统。
DNS将名称解析为数字,更具体地说,它将域名解析为IP地址。因此,如果您在网络浏览器中输入网址,DNS会将名称解析为数字,因为计算机唯一知道的是数字。
在职的 :
如果您想访问某个网站,则可以打开网络浏览器并输入该网站的域名。让我们使用google.com。现在从技术上来说,您实际上不必键入google.com即可检索Google网页,而您只需输入IP地址即可(如果您已经知道google的IP地址是什么),但是由于我们不习惯于记忆和处理数字,尤其是在Internet上有数百万个网站的情况下,我们可以直接输入域名,然后让DNS将其转换为IP地址。
回到我们的示例,当您在网络浏览器中键入google.com时,DNS服务器将搜索其缓存以查找该域名的匹配IP地址,并在找到该域名时将其解析为Google的IP地址。网站,然后您的计算机就可以与Google Web服务器通信并检索该网页。
因此DNS基本上像电话簿一样工作,当您要查找号码时,您无需先查找号码,而是先查找名称,然后它将为您提供号码。因此,为了更详细地说明这一点,让我们检查一下DNS采取的步骤。因此,当您在网络浏览器中键入google.com时,如果您的网络浏览器或操作系统无法在其自己的缓存中找到IP地址,则会将查询发送到下一级解析器服务器。解析器服务器基本上是您的ISP或Internet服务提供商,因此,解析器收到此查询时,将检查自己的缓存以查找google.com的IP地址,如果找不到,则会将查询发送到下一级根服务器。根服务器是DNS层次结构中最顶级的服务器。
从a.root-servers.net到m.root-servers.net,这些根服务器共有13组,并且在全球范围内具有战略意义,它们由12个不同的组织运营,每组这些根服务器都有自己的唯一的IP地址。因此,当根服务器收到google.com的IP地址查询时,根服务器不会知道IP地址是什么,但是根服务器确实知道将解析器发送到哪里以帮助其查找IP地址。因此,根服务器会将解析器定向到TLD或.com域的顶级域服务器。因此,解析器现在将向TLD服务器询问google.com的IP地址。
顶级域服务器存储顶级域的地址信息,例如.com和.net,.org等。这个特定的TLD服务器管理着google.com一部分的.com域。因此,当TLD服务器收到google.com的IP地址查询时,TLD服务器将不会知道google.com的IP地址。因此,TLD将解析程序定向到下一级和最后一级,它们是权威名称服务器。因此,解析器现在将再次向权威名称服务器询问google.com的IP地址。一个或多个权威名称服务器负责了解有关域名的所有信息,包括IP地址。
他们是最终的权力。
因此,当权威名称服务器收到来自解析程序的查询时,名称服务器将使用google.com的IP地址进行响应。最后,解析器会告诉您计算机的google.com IP地址,然后您的计算机现在可以检索Google网页。请务必注意,解析器一旦收到IP地址,就会将其存储在其缓存中,以防它再次收到针对google.com的查询。因此,它不必再次执行所有这些步骤。
DNS服务器具有不同类型的记录,以有效地管理解析并提供有关域的重要信息。这些记录是缓存在DNS服务器中的详细信息。每个记录都有一个与之相关联的TTL(生存时间)值(以秒为单位),这些值设置DNS服务器中缓存记录的过期时间,该时间范围为60到86400,具体取决于DNS提供程序。
- A记录–指向托管网站的计算机的IPv4地址
- AAAA记录–指向托管网站的计算机的IPv6地址
- MX –指向电子邮件服务器
- CNAME –别名的规范名称将主机名指向主机名
- ANAME –自动解析的别名,类似于cname,但将主机名指向主机名的IP
- NS –子域的名称服务器
- PTR –主机名的IP地址
- SOA –包含有关DNS区域的管理信息
- SRV –其他服务的服务记录
- TXT –主要用于验证,SPF,DKIM,DMARC等的文本记录
- CAA – SSL / TLS证书的证书颁发机构记录
DNSSEC(域名系统安全扩展)是身份验证协议的加密套件,已添加到DNS中,以防止恶意行为者使用伪造或篡改的DNS数据(例如,通过对DNS区域进行数字签名而导致的DNS缓存中毒而创建的数据),从而保护其免受恶意行为者的侵害。 DNSSEC不提供数据机密性;特别是,所有DNSSEC响应都经过身份验证,但未加密。一些注册商和注册机构仍未实施DNSSEC