前端学习计算机网络——详解DNS具体作用过程

简介: 设身处地想一下,若你想让用户记住你的网站,你总不能让他记一大串数字吧,更何况,以后用到IPv6,需要记忆的数字更多,所以最好的做法就是给这些IP一个名称,我们称之为域名,而当我们访问这些域名的时候,具体访问哪个IP这件事就要交给DNS去做了,本文也将详细介绍一下DNS的具体作用过程

一、域名


文章开头简单介绍了什么是域名,那么我们来看看域名到底长什么样


例如我们常见的 www.baidu.combaidu.com 就是百度官网的域名,其中 baidu 是百度申请这个域名时自己起的名字,.com 表示的就是该域名所属的服务器,这里我们将这种域名称为顶级域名,也可以叫它一级域名


还有一些域名,例如 example.cn.com 称之为二级域名example.mail.cn.com 称之为三级域名 ……


总得来说可以理解为域名中有几个 . ,就称之为几级域名


现在市面上所有的域名都会由某个服务器进行管理的,例如 .comcom服务器 管理 、.cncn服务器 管理


那么这些管理域名的服务器又由一个根(root)服务器来进行管理,所以它们的层级关系就像一个树结构,如下图所示:


2cd87b2171a5053d101a40cd533736c9.png


图中,com服务器 内有一个 cn 服务器,而 cn服务器 内又管理着一个 mail服务器,这样的层级关系就可以用于获取 三级域名 example.mail.cn.com 对应的IP地址了


因此我们可以把该树结构层次为2的所有结点的域名称为第一层域名;将层次为3的所有结点的域名称为第二层域名;层次为4的所有结点的域名称为第三层域名,以此类推


二、DNS


DNS(Domain Name System)其实是一个管理着域名和IP地址之间的有效关系的系统,相当于一个大型的数据库


我们的主机通过域名请求某个网页时,会先向我们设置的DNS服务器发送请求,然后DNS服务器向最近的一个根服务器发送请求,根服务器会将第一层域名服务器的IP访问地址返回给DNS服务器,接着DNS服务器会根据这个IP地址去访问对应的域名服务器,若域名具有多个层级,则域名服务器会接着返回下一层次域名服务器的IP地址给DNS以便于其深度访问


我们来看一下访问 example.mail.cn.com 的简化过程图


abeb551aa3f5858556bbd505a948e563.png


为了提高效率,DNS服务器还提供了一种技术叫做高速缓存,是用于短时存储已访问过的域名服务器IP的,因此DNS服务器真正的作用顺序不是先向根服务器发送请求,而是先查询缓存中是否有想要获得的IP地址,若有则直接返回给我们主机;若没有则按照上述流程进行请求


假设我们刚才已经请求访问过 example.mail.cn.com 了,那么此时再次请求该域名对应的网址时,可以从缓存中直接读取真正的IP地址,过程如图所示:


6af47d4475a46e7b4b841a5071f97aa6.png


其实DNS服务器的缓存时间不会特别长,因为如果你第一次访问完后缓存了IP,然后此时原IP地址改掉了,那么我们每次访问的都是旧的IP地址,就会一直报错,所以缓存时间较短就是为了避免这样的问题

相关文章
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
606 4
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
1563 31
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
2264 6
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1583 3
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
2393 2
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
2247 1
|
域名解析 缓存 网络协议
【网络】DNS,域名解析系统
【网络】DNS,域名解析系统
357 1
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
702 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
存储 Java Spring
Spring Batch:让你的数据洪流化作涓涓细流,批量处理的魔法盛宴!
【8月更文挑战第31天】在现代软件开发中,批量处理对于金融交易、数据仓库加载等数据密集型应用至关重要。Spring Batch作为Spring生态的一部分,提供了一套全面的框架,支持事务管理、错误处理、日志记录等功能,帮助开发者高效构建可靠且可扩展的批处理应用。本文将深入探讨其核心概念、关键特性和实际应用,并通过示例代码展示如何配置作业、步骤及读取器、处理器和写入器,帮助读者更好地理解和应用Spring Batch。
454 1
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
406 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS