【应用层】域名系统DNS

目录

1、互联网的域名结构

2、域名服务器


        域名系统 DNS (Domain Name System) 是互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地址,域名系统其实就是名字系统。

        互联网的域名系统 DNS 被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS 使大多数名字都在本地进行解析(resolve),仅少量解析需要在互联网上通信,因此 DNS 系统的效率很高。

        下图为通过域名系统 DNS获取指定服务器IP的示例:

1、互联网的域名结构

        互联网采用层次树状结构的命名方法,采用这种命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域三级域,等等。

        上边就是中央电视台用于收发电子邮件的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。

        各级域名都由其上一级的域名管理机构管理,而最高的顶级域名则由 ICANN 进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。//分级管理

        截至2020年6月的统计,现在全球顶级域名 TLD (Top Level Domain) 在 IANA 登记的已有1584个(其中有不到 80 个未使用)。原先的顶级域名共分为三大类:

        (1)国家顶级域名nTLD:采用 ISO 3166 的规定。如:cn表示中国,us表示美国,uk表示英国,等等。

        (2)通用顶级域名gTLD:常用的7个顶级域名有:com(公司企业),net(网络服务机构),org(非营利性组织),int(国际组织),edu(美国专用的教育机构),gov(美国的政府部门),mil表示(美国的军事部门)

        (3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。

        在国家顶级域名下注册的二级域名均由该国家自行确定。例如,顶级域名为jp的日本,将其教育和企业机构的二级域名定为ac和co,而不用 edu 和 com。

        我国把二级域名划分为“类别域名”和“行政区域名”两大类。“类别域名”共7个,分别为: ac(科研机构),com(工、商、金融等企业),edu(中国的教育机构),gov(中国的政府机构),mil(中国的国防机构),net(提供互联网络服务的机构),org(非营利性的组织)。“行政区域名”共34个,适用于我国的各省、自治区、直辖市。例如:bj(北京市),js(江苏省),等等。

        关于我国的互联网络发展现状以及各种规定,均可在中国互联网网络信息中心 CNNIC 的网址上找到。

2、域名服务器

        DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位的。区可能等于或小于域,但一定不能大于域。

        每一个域名服务器都能够进行部分域名到 IP 地址的解析。当某个 DNS 服务器不能进行域名到 IP 地址的转换时,它就设法找互联网上别的域名服务器进行解析。

        从上图可看出,互联网上的 DNS 域名服务器也是按照层次安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器

        域名的解析过程:

        第一,主机向本地域名服务器的查询一般都采用递归查询(recursive query)。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就向其他根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。//主机 -> 本地域名服务器,本地域名服务器替主机查

        第二,本地域名服务器向根域名服务器的查询通常采用迭代查询(iterative query)。迭代查询的特点是这样的:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)。//本地域名服务器 -> 根域名服务器,仍然由本地域名服务器自己查询

        上图的几个查询步骤如下:

  1. 主机 m.xyz.com 先向其本地域名服务器 dns.xyz.com 进行递归查询。
  2. 本地域名服务器采用迭代查询。它先向一个根域名服务器查询。
  3. 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器 dns.com 的 IP地址。
  4. 本地域名服务器向顶级域名服务器 dns.com进行查询。
  5. 顶级域名服务器 dns.com告诉本地域名服务器,下一次应查询的权限域名服务器 dns.abc.com 的 IP 地址。
  6. 本地域名服务器向权限域名服务器 dns.abc.com 进行查询。
  7. 权限域名服务器 dns.abc.com 告诉本地域名服务器,所查询的主机的 IP 地址。
  8. 本地域名服务器最后把查询结果告诉主机 m.xyz.com。

        上述 8个步骤总共要使用 8 个 UDP 报文。本地域名服务器经过三次迭代查询后,从权限域名服务器 dns.abc.com 得到了主机 y.abc.com 的 IP 地址,最后把结果返回给发起查询的主机 m.xyz.com。

        至此,全文结束。

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

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

相关文章

使用 zxing 生成二维码以及条形码

需求背景 前期在做项目的时候,有一个需求是说要生成一张条形码,并且呢将条形码插入到 excel 中去,但是之前一直没有搞过找个条形码或者是二维码,最后是做出来了,这里呢就先看看怎么生成,后面再抽时间来写写…

模拟算法专题

特点: 思路比较简单, 主要考察代码能力 模拟算法流程(一定要在演草纸上过一遍流程)把流程转化为代码 优化: 一般是通过找规律 一. 替换所有问号 答案 二. 提莫攻击 答案 三. Z字形变换 答案 四. 外观数列 答案 五. 数青蛙 答案

Accelerate 笔记:保存与加载文件

保存和加载模型、优化器、随机数生成器和 GradScaler 使用 save_state() 将上述所有内容保存到一个文件夹位置使用 load_state() 加载之前通过 save_state() 保存的状态通过使用 register_for_checkpointing(),可以注册自定义对象以便自动从前两个函数中存储或加载 …

css-Ant-Menu 导航菜单更改为左侧列表行选中

1.Ant-Menu导航菜单 导航菜单是一个网站的灵魂&#xff0c;用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航&#xff0c;顶部导航提供全局性的类目和功能&#xff0c;侧边导航提供多级结构来收纳和排列网站架构。 2.具体代码 html <!-- 左侧切换 --><…

每日一练——分糖果2

1103. 分糖果 II - 力扣&#xff08;LeetCode&#xff09; /*** Note: The returned array must be malloced, assume caller calls free().*/ int* distributeCandies(int candies, int num_people, int* returnSize) {int num 0;int* arr (int*)malloc(sizeof(int)*num_peo…

第100+9步 ChatGPT文献复现:ARIMA预测百日咳

基于WIN10的64位系统演示 一、写在前面 我们来继续换一篇文章来学习学习&#xff1a; 《BMC Public Health》杂志的2022年一篇题目为《ARIMA and ARIMA-ERNN models for prediction of pertussis incidence in mainland China from 2004 to 2021》文章的模拟数据做案例。 这…

Golang TCP网络编程

文章目录 网络编程介绍TCP网络编程服务器监听客户端连接服务器服务端获取连接向连接中写入数据从连接中读取数据关闭连接/监听器 简易的TCP回声服务器效果展示服务端处理逻辑客户端处理逻辑 网络编程介绍 网络编程介绍 网络编程是指通过计算机网络实现程序间通信的一种编程技术…

最小二乘法算法(个人总结版)

最小二乘法&#xff08;Least Squares Method&#xff09;是一种通过最小化误差平方和来拟合数据的回归分析方法。它被广泛应用于线性回归、多元回归以及其他数据拟合问题中。以下是详细的教程&#xff0c;涵盖基本概念、数学推导、具体步骤和实现代码。 1. 最小二乘法基本概念…

网络网络层之(6)ICMPv4协议

网络网络层之(6)ICMPv4协议 Author: Once Day Date: 2024年6月2日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CS…

基于java的CRM客户关系管理系统(六)

目录 5.3 表现层设计 5.3.1 模型层&#xff08;M&#xff09; 5.3.2 视图层&#xff08;V&#xff09; 5.3.3 控制层&#xff08;C&#xff09; 5.4 系统主要功能模块的实现 5.4.1 登录功能的实现 5.4.2 客户管理的实现 5.5 本章小结 参考文献 前面内容请移步 基于java…

2.2 OpenCV随手简记(三)

图像的阈值处理定义 &#xff1a;将图像转化为二值图像&#xff08;黑白图&#xff09;, 也可以用于彩色图形&#xff0c;达到夸张的效果 目的&#xff1a;是用来提取图像中的目标物体&#xff0c;将背景和噪声区分开&#xff08;可以近似的认为除了目标全是噪声&#xff09;。…

Java进阶学习笔记36——算法

什么是算法&#xff1f; 解决某个实际问题的过程和方法。 1&#xff09;导航&#xff1b; 2&#xff09;滴滴打车&#xff1b; 3&#xff09;抖音&#xff1b; 不同的算法&#xff0c;效率高、性能好&#xff01; 在Java中&#xff0c;代码已经帮我们写好了&#xff0c;但为…

【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、深入理解并利用零值提升代码质量1.1 深入Go类型零值原理1.2 零值可用性的实践与优势1.2.1 切片(Slice)的零值与动态扩展1.2.2 Map的零值与安全访问1.2.3 函数参数与零值 二、使用复合字面值作为初值构造器2.1 结构体…

C语言 链表经典OJ题

链表经典OJ题 移除链表元素链表的中间节点反转链表合并两个有序链表分割链表 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head […

iOS18新功能大爆料,打破常规,全面升级,这些变化不容错过!

众所周知&#xff0c;苹果 iOS 操作系统近年来都没有发生重大变化&#xff0c;主要是添加小部件、锁屏编辑和手机屏幕编辑等功能&#xff0c;再加上bug偏多&#xff0c;以至于越来越多iPhone用户不愿意再升级系统了。这一点&#xff0c;从 iOS 17 明显降低的安装率中就能看出一…

Linux配置java,maven,marshalsec环境

文章目录 一. Linux配置java环境1.下载jdk文件2.解压tar.gz文件3.设置java环境变量4.验证是否成功 二. Linux配置maven环境1.下载压缩包2.解压tar.gz3. 配置环境变量 三. Linux配置marshalsec环境 一. Linux配置java环境 1.下载jdk文件 mkdir /opt/javawget https://repo.hua…

Mixly 开启WIFI AP UDP收发数据

一、开发环境 软件&#xff1a;Mixly 2.0在线版 硬件&#xff1a;ESP32-C3&#xff08;立创实战派&#xff09; 固件&#xff1a;ESP32C3 Generic(UART) 测试工工具&#xff1a;NetAssist V5.0.1 二、实现功能 ESP32开启WIFI AP&#xff0c;打印接入点IP地址&#xff0c;允许…

几百页资料要打印哪里打印便宜

在这个信息爆炸的时代&#xff0c;资料堆积如山成为了许多人的常态。无论是学生准备期末考试、论文&#xff0c;还是职场人士整理项目文档、合同&#xff0c;打印需求总是如影随形。面对厚厚的几百页资料&#xff0c;你可能会为去哪里打印既便宜又方便而犯愁。别急&#xff0c;…

Amazon云计算AWS(二)

目录 三、简单存储服务S3&#xff08;一&#xff09;S3的基本概念和操作&#xff08;二&#xff09;S3的数据一致性模型&#xff08;三&#xff09;S3的安全措施 四、非关系型数据库服务SimpleDB和DynamoDB&#xff08;一&#xff09;非关系型数据库与传统关系数据库的比较&…

UI 自动化测试(Selenuim + Java )

关于 UI 自动化测试工具 selenuim Java 的环境搭建推荐看SeleniumJava 环境搭建 什么是自动化测试&#xff1f; 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&#xff0c;预设条件包括正常和异常&#xff0c;最后评估运行结果。将人为驱动的测…