域名系统 DNS(计算机网络-应用层)

news/2025/1/11 0:35:41/

目录

互联网的域名结构

顶级域名 TLD(Top Level Domain)

域名服务器

域名系统 DNS

 域名解析的过程

 域名服务器的四种类型

本地域名服务器

DNS 协议

DNS缓存

DNS提供的其它服务


互联网的域名结构


域名系统 DNS (Domain Name System),实现主机名(域名)到IP地址的转换

等级结构的命名便于分级管理和维护名字的唯一性

层次树状的等级结构命名方法:… . 三级域名 . 二级域名 . 顶级域名

等级结构的命名便于分级管理和维护名字的唯一性

 

顶级域名 TLD(Top Level Domain)


(1) 国家顶级域名 :cn 表示中国,us 表示美国,uk 表示英国

(2) 通用顶级域名 :com(公司企业),net(网络服务机构),org(非营利性组织)

(3) 反向域:用于反向域名解析,将IP地址反向解析为域名

域名服务器


        只使用一台服务器来维护所有主机名字到IP地址的映射,存在以下问题:服务器及其周边网络负荷太大、存在单点故障问题

        需要将整个域名空间的名字映射任务分解到多台服务器:每个服务器负责域名空间中的一部分域名到IP地址的映射

        域名服务器实现域名和IP地址之间映射将整个域名空间划分为多个不同大小且不重叠的区(zone)

        每一个区设置相应的权威域名服务器,直接负责维护该区中的所有主机的域名到IP地址的映射关系

        域名服务器直接管辖的范围不是以域为单位,而是以区为单位

域名系统 DNS


 域名解析的过程


递归查询:如果被查询的域名服务器不知道被查询域名的 IP 地址,那么该服务器就以 DNS 客户的身份,代替请求者向其他域名服务器发送查询请求报文,最后将查询结果返回请求者 

递归查询:域名服务器的负担太重!

 

迭代查询:如果被查询的域名服务器不知道被查询域名的IP 地址,就将负责该域名的下一级域名服务器的地址告诉查询者,让查询者再去询问下一级的域名服务器

 域名服务器的四种类型


根域名服务器

顶级域名服务器

权威域名服务器

本地域名服务器

本地域名服务器


        本地域名服务器也称为默认域名服务器

        当一个主机发出 DNS 查询请求时,将查询请求报文发送给本地域名服务器,本地域名服务器作为该主机的代理完成后续域名解析的过程

        每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以配置一个本地域名服务器

DNS 协议


采用客户/服务器模式

DNS 报文类型
        DNS 查询报文
        DNS 响应报文

DNS 协议使用的运输层协议是 UDP(一般情况),默认端口号是 53

        为了提高DNS查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存

DNS缓存


主机和域名服务器都可以维护一个DNS缓存,存放最近查询过的域名以及IP地址

为保持缓存中内容的准确性,域名服务器应为每项内容设置计时器,并删除超时未用的项目(例如,每个项目只存放两天)

当权威域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名解析的准确性

DNS提供的其它服务


主机别名:可以为一个规范主机名(不是别名的主机名)起多个简单易记的别名

        负载分配:DNS允许用同一个主机名对应一个IP地址集合。DNS服务器收到该主机名的解析请求时,随机或循环返回地址集合中的一个地址。一些热门网站,可以利用该服务将网站复制到多个服务器上,这些服务器共用同一个域名,从而实现在这些服务器上的负载分配。

反向域名解析:将某个IP地址转换为域名,这是通过反向域来实现的


http://www.ppmy.cn/news/6967.html

相关文章

ActiveMQ高级特性和大厂面试常考重点

目录 一、引入消息队列之后该如何保证其高可用性 二、异步投递Async Sends 三、延迟投递和定时投递 四、ActiveMQ消费重试机制 五、死信队列 六、如何保证消息不被重复消费呢?幂等性问题你谈谈 一、引入消息队列之后该如何保证其高可用性 ActiveMQ集群模式_zoeil的博客-…

题:孤独的照片

Farmer John 最近购入了 NN 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。 奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。 然而&#xff0…

redis集群操作

Redis集群1 集群2 集群架构图3 集群细节4 集群搭建4.1.创建集群4.2.查看集群状态4.3.添加主节点4.4.添加从节点4.5.删除副本节点4.6.集群在线分片1 集群 Redis在3.0后开始支持Cluster(模式)模式,目前redis的集群支持节点的自动发现,支持slave-master选举…

微服务 Spring Boot Mybatis-Plus 整合 EasyPOI 实现 Excel 一对多 导入

文章目录⛄引言一、EasyPOI 实现Excel 的一对多导入 -- 代码实现⛅需求说明⚡核心源码实现二、Easy POI 实现一对多导入 -- 测试三、效果图展示⛵小结⛄引言 Excel导入 是 开发中 很常用的 功能 ,本篇讲解 如何使用 Spring Boot MyBatis -Plus 整合 EasyPOI 实现E…

使用JDBC+javafx写一个简单功能齐全的图书管理系统

目录 1、JDBC的使用 2、对应包和Java文件的层级关系及对应的含义 3、数据库 4、相关代码 1)、bookmanager包 Ⅰ、main函数 Ⅱ、utils包 Ⅲ、bean包 Ⅳ、controller包 2)resources(为资源文件包,可以看链接文章了解) Ⅰ、book包 Ⅱ、 login包…

微服务洞察,让微服务更透明

作者: 屿山 微服务作为云原生时代下一种开发软件的架构和组织方法,通过将明确定义的功能分成更小的服务,并让每个服务独立迭代,增加了应用程序的灵活性,允许开发者根据需要更轻松地更改部分应用程序。同时每个微服务可…

【安全漏洞】水平权限漏洞和垂直权限漏洞

前言 权限校验非常重要。如果不对水平、垂直权限做校验,就会发生泄漏用户数据的事故,造成P0故障。 一、水平权限漏洞 1、水平权限漏洞基本概念 什么是水平权限漏洞呢? 简单来说,水平权限漏洞是用户CURD了本不属于他的资源。以上图…

《MongoDB入门教程》第21篇 CRUD之删除文档

本文将会介绍如何利用 deleteOne() 和 deleteMany() 方法删除满足指定条件的文档。 deleteOne() 方法 deleteOne() 方法用于删除集合中的单个文档,语法如下: db.collection.deleteOne(filter, option)该方法包含两个参数: filter 是一个必…