DNS入门学习:DNS解析生效问题(中科三方)

在修改域名解析记录或DNS服务器之后,DNS解析并不会立即生效,这给很多网站管理者带来了很多困扰,了解DNS解析生效原理以及不同情况下DNS解析生效时间,对于网站管理工作有很大帮助。本文中科三方针对不同情况下DNS解析生效时间做下简单介绍。

一、DNS解析生效原理

在DNS解析体系中,权威解析服务器负责域名与IP的关系映射,给出最终权威数据,然而负责将这个解析数据告知客户端的却是分布于世界各地的递归服务器。因此,DNS解析生效需要权威解析服务器和递归解析服务器两部分同时生效,才能让客户端获取到最新的正确解析数据。

网站管理人员在权威解析服务器直接根据域名和IP的对应关系,添加或修改解析记录,一般情况下,权威解析服务器的解析记录很快就能生效。而各地递归解析服务器的解析记录并不会立即生效,而是需要等待不同的时间,才能完成解析记录的同步更新,这里我们需要了解DNS结构中的缓存机制。

为了提高解析速度,DNS结构中引入了缓存机制。当递归服务器从权威服务器请求到解析数据后,除了告知客户端外,还会将数据在自身储存一段时间,这就是DNS缓存。当客户端再请求同一网站时,递归服务器首先会查看自身缓存中的信息,如果缓存中信息没有失效,直接将解析记录数据返回客户端,而无需再进行全球的迭代查询;如果DNS缓存失效,则递归服务器需要重新向权威服务器发起请求。

DNS缓存提升了解析效率,但同样存在很大的问题,其中之一就是解析生效问题。当服务器IP发生变更,解析记录修改时,各地的递归服务器无法及时同步新的解析记录,就可能导致客户端请求到旧的结果访问到错误的网站,这就是我们经常遇到的DNS解析不生效问题。DNS解析不生效很多情况都是因为修改解析记录或DNS服务器,而递归服务器没有及时更新导致的,因此了解不同情况下DNS解析生效时间对做好域名管理非常有必要。

二、DNS解析生效时间

全球有很多解析服务节点和DNS服务器(递归服务器,下同),在设置域名解析记录后,将结果同步至全球各个DNS服务器,这一过程所需的时间就是解析生效时间。

DNS解析生效时间大致可以分为三种情况:

(1)新增解析记录

由于此前各地DNS服务器中并没有储存该域名的解析记录数据,所以当客户端请求后,DNS服务器就需要去请求权威服务器,因此能够获取到新的解析记录,DNS解析即时生效。

(2)修改或删除解析记录

与新增解析记录不同,修改或删除解析记录并不会立即生效,因为各地的DNS服务器已经存储了旧的解析记录,修改或删除解析记录后,并不能及时同步新的解析记录。客户端请求时,DNS服务器仍然会将DNS缓存中旧的数据告知客户端,最终的生效时间取决于不同DNS服务器中DNS缓存的刷新时间,一般情况下等同于之前解析记录中的TTL时间。假如之前的解析设置中TTL值为10分钟,那么修改或删除解析记录会在10分钟内实现全球生效。

(3)修改DNS服务器

修改DNS服务器与修改域名解析记录一样,也不会立即生效,在DNS缓存失效前,DNS服务器仍然会请求原来的权威服务器,最终的生效时间同样取决于DNS服务器缓存刷新时间。但由于各地DNS服务器的刷新时间不一致,且刷新时间较长,可能就会导致有的DNS生效,有的DNS未生效情况的发生,全球DNS服务器全部生效需要等待24-48小时(.com 等国际域名需要 48 小时,.cn 等国内域名需要 24 小时)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/46078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】事务

事务,我们一直没有提到过它,它并不影响我们书写正确的sql语句,但并不意味着事务就不重要 目录 一、事务的概念 二、为什么会出现事务 三、事务的版本支持 四、事务的提交方式 五、事务的常见操作方式 5.1 准备 5.2 正常演示 5.2.1 开…

从零开始学习 Java:简单易懂的入门指南之正则表达式(十五)

正则表达式 1.1 正则表达式的概念及演示1.2 正则表达式-字符类1.3 正则表达式-逻辑运算符1.4 正则表达式-预定义字符1.5 正则表达式-数量词1.6 正则表达式练习11.7 正则表达式练习2 1.1 正则表达式的概念及演示 在Java中,我们经常需要验证一些字符串,例…

linux-shell编程

shell编程 1. 变量、条件判断、流程控制、函数 $n (功能描述:n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}) $# &…

html(七)meta标签

一 meta标签 1、背景:发现自带某些请求头2、本文没有实际的生产应用场景,仅仅作为技术积累 ① meta标签含义 1、metadata: 元数据,是用于描述数据的数据,它不会显示在页面上,但是机器却可以识别2、应用场景: [1]、SEO搜索引擎优化[2]、定义页面使用…

IP库新增经过实践的Verilog 库

网上严重缺乏实用的 Verilog 设计。Project F 库是尝试让 FPGA 初学者变得更好部分。 设计包括 Clock- 时钟生成 (PLL) 和域交叉Display - 显示时序、帧缓冲区、DVI/HDMI 输出Essential- 适用于多种设计的便捷模块Graphics- 绘制线条和形状Maths- 除法、LFSR、平方根、正弦....…

【系统架构】系统架构设计之数据同步策略

文章目录 一、介绍1.1、分布式系统中的数据同步定义1.2、为何数据同步如此关键1.3、数据同步策略简介 二、为什么需要数据同步2.1、提高系统可用性2.2、备份与灾难恢复2.3、提高性能2.4、考虑地理位置(如使用CDN) 三、同步备份3.1、定义和概述3.2、工作原…

【仿写tomcat】六、解析xml文件配置端口、线程池核心参数

线程池改造 上一篇文章中我们用了Excutors创建了线程,这里我们将它改造成包含所有线程池核心参数的形式。 package com.tomcatServer.http;import java.util.concurrent.*;/*** 线程池跑龙套** author ez4sterben* date 2023/08/05*/ public class ThreadPool {pr…

代码随想录算法训练营第四十一天 | 343. 整数拆分,96.不同的二叉搜索树

代码随想录算法训练营第四十一天 | 343. 整数拆分,96.不同的二叉搜索树 343. 整数拆分动态规划贪心 96.不同的二叉搜索树 343. 整数拆分 题目链接 视频讲解 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 )&#xff…

Java源码分析(一)Integer

当你掌握Java语言到了一定的阶段,或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考?比如,这个类是如何设计的?这个方法是怎么实现的?接下来的一系列文章,我们一起学习下Java的一些常见类…

香港服务器备案会通过吗?

​  对于企业或个人来说,合规备案是网络运营的基本要求,也是保护自身权益的重要举措。以下内容围绕备案展开话题,希望为您解开疑惑。 香港服务器备案会通过吗? 目前,香港服务器无法备案,这是由于国内管理规定的限制…

人工智能引领图文扫描新趋势

1. 背景和影响 近日,中国大学生服务外包创新创业大赛决赛在江南大学圆满落幕。为满足现代服务产业企业的现实需求,本次竞赛内容设计充分聚焦企业发展中所面临的技术、管理等现实问题,与产业的结合度更紧密,智能文字识别技术是大赛…

Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入

文章目录 📕教程说明📕Input System 和 XR Input Subsystem(推荐 Input System)📕Input Action Asset⭐Actions Maps⭐Actions⭐Action Properties🔍Action Type (Value, Button, Pass through) ⭐Binding …

前端框架Vue

Vue 学习路线 学习HTML、CSS和JavaScript基础知识:Vue是基于JavaScript的框架,所以首先需要掌握HTML、CSS和JavaScript的基础知识,包括DOM操作、事件处理、变量和函数等。 学习Vue的基本概念:了解Vue的核心概念,如Vu…

第五周周报

周报 日期:2023/08/14 ~ 2023/08/20 一、本周回顾 本周我学习了两个主要的知识点,分别是快速排序算法和Java面向对象编程。以下是我对这两个知识点的详细总结: 1. 快速排序算法 快速排序是一种高效的排序算法,它基于分治思想。…

Win10+anaconda+CUDA+pytorch+vscode配置

Win10anacondaCUDApytorchvscode配置 1.安装anaconda2.安装CUDA确认CUDA版本确认CUDA和pytorch版本安装CUDA 3.安装cudnn4.安装Pytorch5.vscode配置安装VScodevscode配置pytorch环境 1.安装anaconda 官网https://www.anaconda.com 下载安装,路径全英文然后记得有一…

Neo4j之with基础

WITH 语句在 Cypher 查询中用于将之前的查询结果传递给后续的查询操作。它可以用来控制查询的流程,并且常常与其他语句如 MATCH、RETURN、CREATE、DELETE 等一起使用。以下是一些常用的示例和解释: 基本用法: MATCH (p:Person) WITH p RETU…

jquery中pdf的上传、下载及excel导出

jquery中pdf的上传、下载及excel导出 1.PDF上传 pdfUpload2. pdf下载和excel导出用的一种方法,并且需要引入utils.js2.1PDF下载 pdfDownload2.2导出Excel excelExport 1.PDF上传 pdfUpload //PDF上传 pdfUpload window.pdfUploadfunction (obj){layer.open({type:…

【RabbitMQ】消息队列-RabbitMQ篇章

文章目录 1、RabbitMQ是什么1.1、RabbitMQ---使用场景一般场景解耦削峰异步 2、Dokcer安装RabbitMQ2.1安装Dokcer2.2安装rabbitmq 3、RabbitMQ入门案例 - Simple 简单模式4、RabbitMQ的核心组成部分4.1 RabbitMQ整体架构4.2RabbitMQ的运行流程 5、RabbitMQ的模式5.1 发布订阅模…

python实现对Android系统手机亮度的调节

要实现对手机亮度的调节,需要使用Android系统的API。以下是一个简单的Python代码示例,演示如何使用ADB工具和Python脚本来控制Android设备的亮度: from adb.client import Client as AdbClient import os# 连接设备 client AdbClient(host&…

大数据-玩转数据-Flink App市场推广统计

一、说明 电商网站中已经有越来越多的用户来自移动端,相比起传统浏览器的登录方式,手机APP成为了更多用户访问电商网站的首选。对于电商企业来说,一般会通过各种不同的渠道对自己的APP进行市场推广,而这些渠道的统计数据&#xf…