DNS缓存以及它如何更好地使您的互联网更好

每次检查本地副本都比远程搜索要快

DNS缓存(有时称为DNS解析器缓存)是一个由计算机操作系统维护的临时数据库,它包含所有最近访问和试图访问网站和其他互联网域的记录。

换句话说,DNS缓存只是最近DNS查找的记忆,当你的计算机试图弄清楚如何加载一个网站时,它可以快速参考。

使用计算机的人在屏幕上使用带有displaydns命令的人
Maddy Price / 乐动体育赞助Lifewire

本文中的信息适用于没有更改DNS设置的家庭用户。

DNS缓存的目的

Internet依赖于域名系统来维护所有公共网站的索引及其对应的索引IP地址.你可以把它视为一本电话簿。

通过电话簿,我们不必记住每个人的电话号码,这是手机可以沟通的唯一方式:有一个数字。以同样的方式,使用DNS,因此我们可以避免让每个网站的IP地址记忆,这是网络设备可以与网站通信的唯一方式。

这就是幕后发生的事当你问你的Web浏览器加载一个网站

您输入的URL乐动体育赞助lifewire.com你的浏览器会问你路由器获取IP地址。路由器存储了一个DNS服务器地址,所以它向DNS服务器请求该IP地址主机名.DNS服务器查找其所属的IP地址乐动体育赞助lifewire.com然后能够理解您要求的网站,之后您的浏览器可以加载相应的页面。

这种情况发生在你想访问的每个网站上。每当你通过网站主机名访问一个网站时,浏览器就会向互联网发起请求,但这个请求在网站名称被“转换”为IP地址之前无法完成。

问题是,即使有很多吨公共DNS服务器您的网络可以用来尝试加快转换/解决过程,它仍然更快地拥有“电话簿”的本地副本,这是DNS缓存进入播放的地方。

DNS缓存尝试通过处理请求发送到Internet之前最近访问的地址的名称分辨率来加快更快的过程

实际上在“查找”过程的每个层次中实际上都有DNS缓存,最终让您的计算机加载该网站。计算机到达您的路由器,该路由器与您联系ISP,这可能会在结束所谓的“根DNS服务器”之前击中另一个ISP。此过程中的每一个点都有一个DNS缓存,同样是同样的原因,即加快名称解析过程。

DNS缓存如何工作

在浏览器向外部网络发出请求之前,计算机拦截每一个请求,并在DNS缓存数据库中查找域名。该数据库包含最近访问的所有域名的列表,以及DNS在第一次请求时为它们计算的地址。

可以在Windows上查看本地DNS缓存的内容命令ipconfig / displayDNS,结果类似于此:

docs.google.com
---------------------------------
记录名称. . . . .: docs.google.com
录制类型。....:1
有时间的生活。...:21
数据长度。....:4
部分 。......: 回答
a(主机)记录。..:172.217.6.174

在DNS中,“A”记录是DNS条目的部分,其包含给定主机名的IP地址。DNS缓存存储此地址,所请求的网站名称以及来自主机DNS条目的其他几个参数。

什么是DNS缓存中毒?

DNS缓存变为中毒或者污染未经授权的域名或IP地址插入其中。

有时缓存可能由于技术故障或管理事故而损坏,但DNS缓存中毒通常与此相关计算机病毒或其他将无效DNS项插入缓存的网络攻击。

中毒导致客户端请求重定向到错误的目的地,通常是恶意网站或充满广告的页面。

例如,如果docs.google.com从上面的记录有一个不同的“a”记录,然后当您输入时docs.google.com在你的浏览器里,你会被带到别的地方。

这为流行的网站带来了一个大规模的问题。如果攻击者重定向您的请求Gmail.com例如,到网站看起来像gmail但不是,你可能最终患有像素钓鱼攻击一样捕鲸

DNS Flushing:它做了什么以及如何做到

当排除缓存中毒或其他互联网连接问题时,计算机管理员可能希望这样做冲洗(即清除、重置或擦除)DNS缓存。

由于清除DNS缓存将删除所有条目,它也将删除任何无效记录,并迫使您的计算机在下次尝试访问这些网站时重新填充这些地址。这些新地址是从您的网络设置要使用的DNS服务器获取的。

用上面的例子,如果Gmail.com记录被中毒并将您重定向到一个奇怪的网站,刷新DNS是获得常规的良好第一步Gmail.com再次回来。

在Microsoft Windows中,您可以使用本地DNS缓存刷新ipconfig / flushdns.命令在一个命令提示符.当你看到Windows IP配置成功刷新DNS解析器缓存或者成功刷新了DNS解析器缓存信息。

通过命令终端,麦斯科斯用户应该使用dscacheutil -flushcache.但是知道它运行后没有“成功”的消息,所以你没有被告知它是否工作。在某些情况下,Mac用户也必须杀死DNS响应者(sudokarlall -hup mdnsresponder。)Linux用户应该输入/etc/rc.d/init.d / nscd重启命令。但是,确切的命令将根据您的Linux发行版而有所不同。

路由器也可以具有DNS缓存,这也是为什么重新启动路由器通常是一个故障排除步骤。出于同样的原因,您可以在计算机上刷新DNS缓存,您可以重新启动路由器以清除存储在其临时内存中的DNS条目。

此页面有用吗?