【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )

简介: 【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )

文章目录

一、域名

二、域名服务器

三、域名解析过程

四、递归查询

五、迭代查询

六、高速缓存





一、域名


域名 :


① 域名表示方法 : 字母 , 数字 , “-” 符号 , “.” 符号 组成 ;


② 标号 : 使用 “.” 分割开的字符串 称为 标号 , 每个标号不能超过 63 个字符 ;


③ 标号级别 : 域名中的标号级别 , 自左向右 , 优先级别由低到高 ;


④ 域名示例 : www.baidu.com , 其中 com 是顶级域名 , baidu 是二级域名 , www 是三级域名 ;




域名 各部分详细解析 :

image.png



① 根 : “www.baidu.com.” 是 域名的完全形式 , 根就是最后一个点 “.” , 该点可以省略 ;


② 顶级域名 :


国家顶级域名 : cn

通用顶级域名 : com , org

基础结构域名 : 反向域名 arpa

③ 二级域名 :


类别域名 : com , org , gov

行政区域域名 : 省 , 自治区 , 直辖市 , bj , js

自己注册的域名

④ 三级域名 : 获取 二级域名 , 就可以解析 三级域名 ;


⑤ 四级域名 : www , mail






二、域名服务器


域名服务器 :


① 根域名服务器 : 根域名服务器 知道所有 顶级域名服务器 的地址 ;


② 顶级域名服务器 : 顶级域名服务器 管理 该顶级域名服务器注册的所有的 二级域名 ; 如 com 顶级域名服务器 , org 顶级域名服务器 ;


③ 权限域名服务器 : 负责一个区 的域名服务器 ; 如 a.org 域名服务器 , a.a.org 域名服务器 , 这是两台域名服务器是对等的 ;


④ 本地域名服务器 : 主机向 本地域名服务器 发出 DNS 查询请求 ;






三、域名解析过程


域名解析过程 :


递归查询

迭代查询





四、递归查询


递归查询 : 委托给别人查找 ;

image.png



委托查找 : 先在 本地域名服务器 中查找 , 如果没有 , 委托 根域名服务器 查找 , 如果没有 , 根域名服务器 委托 顶级域名服务器 中查找 , 如果没有 , 顶级域名服务器 委托 权限域名服务器 查找 ;

逆向回送结果 : 找到域名对应的 IP 地址后 , 按照委托顺序 , 权限域名服务器 -> 顶级域名服务器 -> 根域名服务器 -> 本地域名服务器 -> 主机 , 返回查找的域名对应的 IP 地址 ;





五、迭代查询


迭代查询 : 靠自己查找 ; 核心是 本地域名服务器 ;

image.png



主机 向 本地域名服务器 查询 域名 ;

本地域名服务器 没有查找到 , 向 根域名服务器 查找 , 跟域名服务器没有找到 , 将 顶级域名服务器 地址 传给 本地域名服务器 ;

本地域名服务器 继续向 顶级域名服务器 查询域名 , 如果没有找到 , 会给 本地域名服务器 回送 权限域名服务器地址 ;

本地域名服务器 继续向 权限域名服务器查找 , 如果找到域名对应地址 , 将结果传回 ;

本地域名服务器 将最终查询结果 传给 主机 ;





六、高速缓存


高速缓存 : 在 主机 , 本地域名服务器 , 根域名服务器 , 顶级域名服务器 , 权限域名服务器 中 都设置高速缓存 , 缓存域名信息 ; 在 递归 或 迭代 查找域名时 , 优先从高速缓存中查找域名 , 如果没有 , 再执行相关操作 ;


如果 本地域名服务器的 高速缓存中 存储 着 顶级域名服务器 地址 , 就不用再访问根域名服务器了 , 直接访问顶级域名服务器 ;


目录
相关文章
|
缓存 监控 定位技术
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
468 6
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2758 10
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
2399 22
备案成功以后,也解析了为什么没办法通过域名收到网站呢
网站备案成功后仍无法通过域名访问,可能涉及解析设置错误、服务器配置问题或网络限制等原因。本文将详细分析常见原因并提供解决方案。
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
533 19
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
1893 78
|
缓存 监控 Ubuntu
Ubuntu操作系统下清除系统缓存与无用文件的方法
通过上述步骤断行综合性地对Ubuntu进行优化与整洁可显著改善其性能表现及响应速度。然而,请注意在执行某些操作前确保充分了解其潜在影响;例如,在移除旧内核之前确认新内核稳定运行无问题;而对于关键配置更改则需确保备份好相关设置以便恢复原状态。
2877 0
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
1204 15
Android 系统缓存扫描与清理方法分析
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS