什么是DNS缓存?

当我们第一次访问某个网站时,DNS在返回对应的IP地址后,系统会将这个记录临时存储下来,并为其设定一个有效期限(TTL),在有效期限内再次访问该网站,系统会直接将该结果返回,而无需求助DNS系统进行全球查询。这个临时储存下来的记录就是DNS缓存。如果超过DNS缓存的有效期限再次对该网站,系统会自动再次询问DNS服务器以获得最新的结果。

DNS缓存有什么作用?

DNS域名解析采用的是UDP协议通讯,受外部网络环境的影响较大,尤其是在有丢包的情况下会产生较高的时延,严重影响用户上网体验,而DNS缓存机制就是在这种背景下产生的。

DNS缓存可以在用户发起请求时,直接将记录结果返回,不需要委托递归服务器进行全球查询,这样就极大提升了DNS域名解析效率,减小了多次查询所带来的时延问题。此外,由于不必每次都请求权威解析服务器进行查询,所以缓存机制还能大幅节省权威服务器的性能消耗,减轻权威服务器的请求压力。

DNS缓存的缺点

DNS缓存虽然能够在一定程度上提升域名解析的速度,但同样也存在一些弊端,如DNS缓存需要消耗一定的系统资源,增加了域名系统的复杂性。此外TTL值的设置对于平衡DNS解析速度和精度产生了较大影响。如果TTL值较短,能够在较短时间内刷新最新解析记录,但会对解析服务器造成较大压力;如果TTL过大,则可能导致地址变更时,用户无法及时获得最新记录,从而导致站点不可达或者访问到错误网站,影响正常业务开展,并增加DNS被劫持的风险。

DNS缓存使用中的问题

由于DNS缓存机制存在以上弊端,所以如果DNS缓存设置使用不当,反而会适得其反出现以下几个方面的问题给用户正常访问带来负面影响。

(1)缓存刷新不受控

当域名发生变更时,无法刷新全球递归服务器缓存和客户端上DNS缓存中的记录,在缓存TTL值是小钱,客户发起请求仍会按照缓存记录的原有映射关系发起请求,只有当递归服务器和客户端上的缓存失效后,才会重新发起请求。在此过程中,因为域名解析到错误IP会产生很大的安全风险。

(2)解析权和缓存值被修改

一些小运营商出于成本考虑,经常会将域名转发到其他运营商进行解析,并将收到的域名缓存值修改为较大值,这样就会带来两个方面问题:

一是,权威DNS接收到的请求 IP 地址不是客户所在运营商 IP 地址,客户的请求可能会被引导至错误的线路,导致客户访问慢;

二是,企业域名发生改变后将等待更长的超时时间才能正常访问业务,同样会给客户带来较差的体验。

因此,为了消除DNS缓存带来的种种问题,企业在设置域名解析时应做好解析速度和安全性之间的平衡,设置好合适的TTL值,而对于客户端来说,经常性地清理DNS缓存,保证实时获取最新解析记录,则可以有效避免上述问题。

什么是DNS缓存?DNS缓存有哪些作用?相关推荐

  1. linux firefox dns缓存,为什么有了DNS Client ,IE,Firefox,Chrome还要再缓存DNS呢?

    1.以chrome举例来说明一下这个问题. 首先要了解一下一种叫做DNS Prefetching(DNS预读取)的技术,浏览器尝试预测用户即将导航到的URL,提前对其进行解析,浏览器(至少是Chrom ...

  2. 缓存DNS域名解析服务器的制作方法

                                              缓存DNS 缓存域名解析服务器的配置方法: 第一步: 查看你的软件包是否安装 客户端需要安装bind ,bind-u ...

  3. php清空dns缓存文件,dns清空-windows刷新本地DNS缓存的几种方法

    windows刷新本地DNS缓存的几种方法 产生原因分析: 1.常有人问到域名解析了不是即时生效的嘛,怎么还是原来的呢?答案就是在本地DNS有解析缓存,电脑第一次访问后,在一定的时间内就将其缓存下来, ...

  4. dns服务器v6解析 windows_04:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战...

    一. 环境的准备 关闭两台虚拟机的SELinux [root@svr7 ~]# setenforce 0 #修改当前运行模式[root@svr7 ~]# getenforce #查看当前运行模式Per ...

  5. 个别网页打不开,很多网页加载慢(安装过虚拟机),改dns,清理缓存、重装驱动、等方法都解决不了,的解决办法。

    如果你安装的有虚拟机,但是网络抽风,下面的方法你可以试一下. 就是去网络设置里把虚拟机的网络全部禁用,等用的时候再启用即可. 前几个月突然网络异常,但是网速正常,打游戏什么的都没事,但是很多网页打不开 ...

  6. DNS 服务器 清除缓存

    DNS 缓存不及时清理会导致解析错误,网页打不开. server:win server 2008 1.win 2008 会自启动 dns client ,它会缓存dns的记录,提供了客户端的名字解析与 ...

  7. Linux中怎么搭建主DNS、辅助DNS、缓存DNS服务器

    文章目录 Linux中怎么搭建主DNS.辅助DNS.缓存DNS服务器 一.认识DNS: 1.DNS概述: 2.DNS查询过程: 3.DNS常见名词: 二.DNS配置: 三.搭建DNS服务器: 搭建we ...

  8. DNS安全 DNS缓存投毒与防护

    http://blog.51cto.com/zdzhu/1575498 http://www.cis.syr.edu/~wedu/seed/Labs_12.04/Networking/DNS_Remo ...

  9. 主DNS、辅助DNS、缓存DNS和基于CDN的利用DNS服务器实现负载均衡

    实验环境:Centos 6.5 一. 辅助DNS的搭建 Bind dns服务器所需要的包 bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm bind-chroot-9.8. ...

  10. 多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现

    DNS 服务器的功能: 正向解析:根据注册的域名查找其对应的 IP 地址 反向解析:根据 IP 地址查找对应的注册域名(不常用) DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地 ...

最新文章

  1. 网工的常规操作:配置动态NAT
  2. 一致性 Hash 算法学习(分布式或均衡算法)
  3. notepad++ tcl_TCL科技前三季度净利20亿元,投资并购超200亿元
  4. 携手助力新型智慧城市建设和科技创新发展
  5. 2013年11月份我国网络不良与垃圾短信息分析报告
  6. 【2017年第1期】基于外卖物流配送大数据的调度系统
  7. 通用的N-Tier模型合理么?
  8. InDesign入门教程,如何导入文本?
  9. 文件夹病毒残余文件的解决办法
  10. GBase数据库-数据转换函数
  11. 控制理论中的几种稳定性介绍
  12. 徐有高:为你详细解读我国40省市新能源汽车补贴政策(转载)
  13. LOJ-10102(桥的判断)
  14. “吃鸡”吗?《和平精英》来了,感觉不一般
  15. iOS appIcon生成和设置
  16. groovy 字符串截取最后一个_认识python之字符串的下标和切片(17)
  17. 关于windows10在学习爬虫是用到appium配置java的jdk出现了,javac不是内部命令的解决方法(¥57)
  18. 淘宝 触屏主页面 菜单
  19. 你是否同意放开二胎政策
  20. vue3.0初体验(例子解读reactive响应式)

热门文章

  1. 自定义 背单词 android,自荐丨iOS 自定义图标升级版,还有 Android 弹幕背单词神器...
  2. PLSQL绿色版安装及配置
  3. Java面试系列之并发编程专题-Java线程池灵魂拷问
  4. springboot打成Jar包下载Excel模板文件损坏问题
  5. 任意文件上传与下载漏洞
  6. 微软史上最大一笔收购 消息称美国将对微软并购暴雪反垄断审查
  7. Project ‘cv_bridge‘ specifies ‘/usr/include/opencv‘ as an include dir, which is not found的解决方法
  8. 2022安全员-B证考试模拟100题及模拟考试
  9. Linux系统下锐捷客户端连接方法
  10. 如何使用ClickHouse实现时序数据管理和挖掘?