【好书精读】网络是怎样连接的 之 全世界 DNS 服务器的大接力

news2024/11/28 19:39:10

 (该图由AI制作 学习AI绘图 联系我)

目录

域名的层次结构

寻找相应的 DNS 服务器并获取 IP 地址

通过缓存加快 DNS 服务器的响应


DNS 服务器的基本工作就是接收来自客户端的查询消息,然后根据消息的内容返回响应

客户端的查询消息:域名        class        记录类型

举个栗子

查询 www.lab.glasscom.com 这个域名对应的 IP 地址 客户端会向 DNS 服务器发送包含以下信息的查询消息
(a 域名 = www.lab.glasscom.com
(b Class = IN
(c 记录类型 = A
DNS 服务器会从已有的记录中查找域名 Class 和记录类型全部匹配的记录

邮件服务器暂时不讲

域名的层次结构

将这些服务器的信息全部保存在一台 DNS 服务器中是不可能的
会出现在 DNS 服务器中找不到要查询的信息的情况
就是将信息分布保存在多台 DNS 服务器中
信息是如何在 DNS 服务器上注册
DNS 服务器中的所有信息都是按照域名以分层次的结构来保存
越靠右的 位置表示其层级越高
这种具有层次结构的域名信息会注册到 DNS 服务器中
一个域的信息是作为一个整体存 放在 DNS 服务器中的

寻找相应的 DNS 服务器并获取 IP 地址

如何找到 DNS 服务器中存放的信息
如何找到我们要访问的 Web 服务器的信息归哪一台 DNS 服务器管

首先 将负责管理下级域的 DNS 服务器的 IP 地址注册到它们的上级 DNS 服务器中
然后上级 DNS 服务器的 IP 地址再注册到更上一级的 DNS 服务器中

也就是说负责管理 lab.glasscom.com 这个域的 DNS 服务器的 IP 地址需要注册到glasscom.com 域的 DNS 服务器中glasscom.com 域的 DNS 服务器的 IP 地址又需要注册到 com 域的 DNS 服务器中这样我们就可以通过上级 DNS 服务器查询出下级 DNS 服务器的 IP 地址也就可以向下级 DNS 服务器发送查询请求了

com 和 cn 的上面还有一级域,称为根域
由于上级 DNS 服务器保管着所有下级DNS 服务器的信息 所以我们可以从根域开始一路往下顺藤摸瓜找到任意 一个域的 DNS 服务器
那就是将根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器中

客户端首先会访问最近的一台 DNS 服务器 也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址) 假设我们要查询 www.lab. glasscom.com 这台 Web 服务器的相关信息 1.16 )。 由于最近的 DNS 服务 器中没有存放 www.lab.glasscom.com 这一域名对应的信息 所以我们需要从顶 层开始向下查找

通过缓存加快 DNS 服务器的响应

有时候并不需要从最上级的根域开始查找 因为 DNS 服务器有一个缓存 功能

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

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

相关文章

信息量、熵、联合熵、条件熵、相对熵、交叉熵、JS散度、Wasserstein距离

信息量 I ( x i ) l o g 1 P ( x i ) − l o g P ( x i ) I(x_i)log \frac {1}{P(x_i)}-logP(x_i) I(xi​)logP(xi​)1​−logP(xi​) 信息量(self-information),又译为信息本体,由克劳德 香农(Claude Shannon&…

使用投票回归器VotingRegressor对糖尿病数据集进行回归预测

目录 1. 作者介绍2. 投票回归器VotingRegressor简介2.1 VotingRegressor介绍2.2 VotingRegressor算法遵循以下关键原则: 3. 使用投票回归器VotingRegressor对糖尿病数据集进行回归预测实验过程3.1 代码流程介绍3.2 完整代码3.3 实验结果 1. 作者介绍 余成伟&#x…

【深度学习】YOLOv8训练过程,YOLOv8实战教程,目标检测任务SOTA,关键点回归

文章目录 可用资源资源安装模型训练(检测)模型pridict模型导出 可用资源 https://github.com/ultralytics/ultralytics 官方教程:https://docs.ultralytics.com/modes/train/ 资源安装 更建议下载代码后使用 下面指令安装,这样…

Hug pylons, not trees 拥抱电网,而非树木 | 经济学人20230408版双语精翻

《经济学人》4月8日周报封面即社论区(Leaders)精选文章:《拥抱电网,而非树木》(Hug pylons, not trees)。 Hug pylons, not trees 拥抱电网,而非树木 The case for an environmentalism that bu…

100天精通Golang(基础入门篇)——第9天:Go语言程序的循环语句

🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《I…

UWB定位的两种解法

UWB(Ultra-Wideband)技术是一种短脉冲无线电技术(短脉冲意味着信号的带宽很大,因此称为超宽带),其应用非常广泛,其中之一就是室内定位,通过计算信号传播的时间差,可以得到标签和基站之间的距离,如果有足够多的基站&…

Unity核心1——图片导入与图片设置

一、图片导入概述 ​ Unity 支持的图片格式有很多 BMP:是 Windows 操作系统的标准图像文件格式,特点是几乎不进行压缩,占磁盘空间大 TIF:基本不损失图片信息的图片格式,缺点是体积大 JPG:一般指 JPEG 格…

【Elasticsearch】 之 Translog/FST/FOR/RBM算法

目录 Translog FST/FOR/RBM算法解析 FST FOR(Frame of Reference): RBM(Roaring Bitmaps)-(for filter cache) Translog es是近实时的存储搜索引。近实时,并不能保证被立刻看到。数据被看到的时候数据已经作为一…

工业级以太网RJ45温湿度监控系统解决方案之关键POE供电温湿度传感器

目 录 一、关键词…………………………………………………………………………3 二、 产品概述………………………………………………………………………3 三、 应用范围………………………………………………………………………3 四、 产品特点………………………………

Linux0.11内核源码解析-file_dev.c

目录 功能描述 int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) 功能描述 该文件主要是由两个函数file_read()和file_write()组成,提供…

Nginx网站服务——服务基础

文章目录 一.Nginx服务基础1.关于Nginx的特点2.简述Nginx和Apache的差异3.Nginx 相对于 Apache 的优点4.Apache 相对于 Nginx 的优点5.阻塞与非阻塞6.同步与异步7.nginx的应用场景 二.编译安装nginx服务1.在线安装nginx1.1 yum部署Nginx1.2 扩展源安装完后直接安装Nginx 2.ngin…

MySQL数据库---存储引擎(MyISAM与InnoDB)

目录 前言一、存储引擎概念介绍二、MyISAM三、InnoDB四、配置合适的存储引擎总结 前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧…

Vue中如何进行图像识别与人脸对比

Vue中如何进行图像识别与人脸对比 随着人工智能的发展,图像识别和人脸识别技术已经被广泛应用于各种应用程序中。Vue作为一种流行的前端框架,提供了许多实用工具和库,可以帮助我们在应用程序中进行图像识别和人脸识别。在本文中,…

docker换源(docker镜像源)pull超时(pull镜像超时)/etc/docker/daemon.json

文章目录 pull了n次都超时&#xff0c;也是醉了更换镜像源步骤1. 打开终端并以管理员身份登录到Docker主机。2. 编辑Docker配置文件daemon.json。该文件用于配置Docker守护进程的参数。3. 在daemon.json文件中添加以下内容&#xff0c;将<镜像源地址>替换为您选择的镜像源…

基于matlab仿真具有不同传感器模式的锥形阵列(附源码)

一、前言 此示例说明如何在不同的阵列配置上应用锥形和模型细化。它还演示了如何创建具有不同元素模式的数组。 二、ULA 逐渐变细 本节介绍如何在均匀线性阵列 &#xff08;ULA&#xff09; 的元素上应用泰勒窗口以降低旁瓣电平。 比较锥形阵列和非锥形阵列的响应。请注意锥形U…

外部局域网直接访问WSL2

1. 开启hyper-v 1、首先&#xff0c;进入控制面板—程序—启用或关闭windows功能&#xff0c;勾选hyper-v&#xff0c;确认后重启电脑。2、打开 Windows PowerShell&#xff0c;输入 systeminfo 命令 能够看到出现了很多处理器的信息&#xff0c;最末尾有个 Hyper-V 要求&…

Redis 2023面试5题(一)

一、Redis是单线程还是多线程 在面试中&#xff0c;当被问到Redis是单线程还是多线程这个问题时&#xff0c;可以按照以下思路进行回答&#xff1a; 首先&#xff0c;Redis的核心业务部分是单线程的&#xff0c;即命令处理部分是单线程的。然而&#xff0c;Redis也支持多路复…

Java---第四章(数组基础,冒泡排序,二分查找,多维数组)

Java---第四章 一 数组基本知识数组操作 二 数组实操数组排序二分查找二维数组 一 数组 基本知识 概念&#xff1a; 数组是编程语言中的一种常见的数据结构&#xff0c;能够存储一组相同类型的数据 作用&#xff1a; 存储一组相同类型的数据&#xff0c;方便进行数理统计&am…

springboot3生命周期监听的使用和源码解析

定义SpringApplicationRunListener来监听springApplication的启动 1.通过实现springApplicationRunListener来实现监听。 2.在 META-INF/spring.factories 中配置 org.springframework.boot.SpringApplicationRunListener自己的Listener。 在默认的springboot配置中就有给我…

视觉SLAM十四讲——ch12实践(建图)

视觉SLAM十四讲——ch12的实践操作及避坑 0.实践前小知识介绍1. 实践操作前的准备工作2. 实践过程2.1 单目稠密重建2.2 RGB-D稠密建图2.3 点云地图2.4 从点云重建网格2.5 八叉树地图 3. 遇到的问题及解决办法3.1 cmake ..时&#xff0c;出现opencv版本问题3.2 make -j8时&#…