应用层——域名系统DNS

2023-11-16

认识DNS

我们平常在访问某个网站的时候不使用IP地址,而是使用一串有罗马字和点号组成的字符串。而一般用户在使用TCP/IP进行通信的时候也不实用IP地址。能够这样做是因为有了DNS(Domain Name System)功能的支持。DNS可以将那串字符串自动转换为具体的IP地址。这种DNS不仅使用于IPv4,还适用于IPv6。

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆,因此就有了DNS。

1、DNS是一套从域名映射到IP的系统
2、DNS是应用层协议
3、DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53端口
3、DNS底层使用UDP进行解析
4、浏览器会缓存DNS结果
5、从概念上可以将DNS分为3个部分:层次域名空间、域名服务器、解析器
域名
1、任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)
2、域(Doamin)是名字空间中一个可被管理的划分
3、域可以被划分为子域,紫玉还可以继续被划分为子域的子域,
这样就形成了顶级域、二级域、三级域等

域名空间的树状结构:
在这里插入图片描述

1、根域:位于域名空间最顶层,一般用一个“.”表示
2、顶级域:一般代表一种类型的组织机构或国家地区,如 net、com、org、edu、gov、mil、cn、jp、hk。
“cn”表示中国,“us”表示美国,“uk”表示英国
3、二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一
管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机
名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为
 FQDN (完全合格域名),也是这台主机在域名中的全名。

每个域名都由标号序列.组成,而个标号之间用点(“.”)隔开。
在这里插入图片描述
域名委派机制:
树状结构的最顶层程为根域,用“.”表示,相应的服务器称为域名服务器,整个域名空间解析权都归域名服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com服务器,以后服务器收到以com结尾的域名解析请求,都会转法给com域服务器,同理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

域名服务器DNS(Domain Name Server)
1、域名服务器是进行域名和与之对应的IP地址转换的服务器。
2、DNS中保存了一张域名和与之相对应的IP地址的表,以解析消息的域名
3、每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有两项其他域名服务器
的信息。当自己不能进行IP地址到域名的转换时,能够知道到什么地方去找其他域名服务器
4、DNS使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上。
3、采用分布式设计的DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有4种类型的
域名服务器。

在这里插入图片描述
(1)根域名服务器

 1、根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的
 IP地址
 2、根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何
 一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。
 3、需要注意的是,根域名服务器用来管辖顶级域(.com), 通常它并不直接把待查询的域名
 直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。

(2)顶级域名服务器

1、这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
2、收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名
服务器的IP地址)

(3)权限域名服务器

1、每台主机都必须在授权域名服务器处登记。为了更加可靠地工作,一台主机最好至少有两个
授权域名服务器。
2、实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。
3、授权域名服务器总能将其管辖的主机名转换为该主机的IP地址。

(4)本地域名服务器

1、每个因特网服务提供者ISP(Internet Service Provider互联网服务提供商)都可以拥有一个本地域名服务器
2、当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。
3、事实上,我们在Windows系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是
本地DNS (域名服务器)的地址。
域名解析过程

在这里插入图片描述

1、打开浏览器输入一个域名。比如输入www.163.com,此时电脑就会发送一个DNS请求
到本地DNS服务器。本地DNS服务器一般就是你的网络接入服务器商提供,例如中国移动,中国电信
2、DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有
该条记录,就可以直接返回结果。如果没有,本地服务器还要向DNS根服务器进行查询。
3、根服务器没有记录具体域名和IP地址对应关系,而是告诉本地DNS服务器,你可以到域服务器
上去继续查询,并给出域服务器的地址
4、本地DNS服务器继续向域服务器发出请求,在该例子中,请求的对象是.com域服务器。
.com域服务器手动请求之后,也不会直接返回域名和IP地址对应关系,而是告诉本地DNS服务器,
你的域名的解析服务器的地址。
5、最后,本地DNS服务器向域名的解析服务器发出请求,
这时就能收到一个域名和IP地址对应关系,本地DNS服务器不仅要把IP地址返回给用户电脑,
还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。

参考博客:
https://www.cnblogs.com/crazylqy/p/7110357.html
https://blog.csdn.net/weixin_43914604/article/details/105583806

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应用层——域名系统DNS 的相关文章

  • 告别BeanUtils,Mapstruct从入门到精通

    如果你现在还在使用BeanUtils 看了本文 也会像我一样 从此改用Mapstruct 对象之间的属性拷贝 之前用的是Spring的BeanUtils 有一次 在学习领域驱动设计的时候 看了一位大佬的文章 他在文章中提到使用Mapstru
  • LSB(Least Significant Bit)和MSB(Most Significant Bit)

    LSB Least Significant Bit 意为最低有效位 MSB Most Significant Bit 意为最高有效位 若MSB 1 则表示数据为负值 若MSB 0 则表示数据为正 MSB高位前导 LSB低位前导 谈到字节序的
  • MVC架构

    10 MVC 什么是MVC Model view Controller 模型视图控制器 10 1 以前的架构 用户可以直接访问控制层 控制层可以直接操作数据库 Servlet gt CURD gt 数据库 弊端 程序十分臃肿 不利于维护 S
  • hiveSql 重分组聚合问题

    hiveSql 重分组聚合问题 问题 分析 实现 最后 问题 将下图中A表转变为B和C 即A gt B A gt C 分析 1 首先看A gt B 可见是将name列分组 取最大组内最大id 介绍两种求解方式 1 很容易想到 开窗函数fir
  • html使用iframe包含pdf文件,HTML embedded PDF iframe

    It s downloaded probably because there is not Adobe Reader plug in installed In this case IE it doesn t matter which ver
  • 【数据架构系列-06】一文搞懂数据模型的3种类型——概念模型、逻辑模型、物理模型

    数据模型就是模拟现实世界的方法论 是通向智慧世界的基石 从现实世界发展到智慧世界 要数经历现实世界 信息世界 计算机世界 数据世界 智慧世界五个不同的世界 我们天生具有从混沌的世界抽象信息变为信息世界的能力 但是到另外几个世界需要我们懂得计

随机推荐

  • spring的自动装配即装配的各种模式

    Spring的自动装配 无须在Spring配置文件中描述javabean之间的依赖关系 IOC容器会自动建立JavaBean之间的关联关系 根据属性名称自动装配autowire byName 根据数据类型自动装配autowire byTyp
  • 完整安装datax-web教程

    1 安装mysql5 7 a 创建目录下载安装rpm包 mkdir p opt software cd opt software wget i c http dev mysql com get mysql57 community relea
  • 【c++复习笔记】——智能指针详细解析(智能指针的使用,原理分析)

    个人主页 努力学习的少年 版权 本文由 努力学习的少年 原创 在CSDN首发 需要转载请联系博主 如果文章对你有帮助 欢迎关注 点赞 收藏 一键三连 和订阅专栏哦 目录 一 智能指针的基本概念 二 智能指针的定义和使用 三 auto ptr
  • Pytorch-Lightning基本方法介绍

    文章目录 LIGHTNINGMODULE Minimal Example 一些基本方法 Training Training loop Validation loop Test loop Inference Inference in rese
  • Qt之再谈阴影边框

    前面就窗口阴影已经写过一篇博客 使用九宫格的思路实现的 在我看来 凡是用程序能实现的尽量不要使用图片代替 在保证效率的前提下 今天再次分享关于我的一些小见解 先看效果 窗口阴影任意调节 包括阴影像素 是否圆角等 直接上代码 void Dro
  • linux如何查看入口地址,宝塔Linux面板安全入口地址忘了(方法一)

    宝塔Linux面板安全入口地址忘了 方法一 面板 地址 入口 宝塔 所示 宝塔Linux面板安全入口地址忘了 方法一 易采站长站 站长之家为您整理了宝塔Linux面板安全入口地址忘了 方法一 的相关内容 现在新安装的宝塔 Linux 面板时
  • win10-未知的USB设备-解决自己问题的记录

    若是没有解决你的问题 再找找其他办法看看 我也是网上搜的 刚好解决了我的问题我就记录了一下而已 哈哈哈 原文链接 修复 未知的USB设备 设备描述符请求失败 在Windows 10中 1 设备管理器 gt 通用串行总线控制器 gt 未知US
  • 基于opencv的手势识别

    大家好 我是一名本科生 我的主要学习方向是计算机视觉以及人工智能 按照目前的学习进度来说 我就是一小白 在这里写下自己编写的程序 与大家分享 记录一下自己的成长 今天与大家分享的是基于OpenCv的手势识别 思路分析 获取图片 在图片中找到
  • unity添加多个相机渲染物体多个视角的图片

    添加相机 我渲染物体多视角的图片是要用到cave空间 所以添加了四个相机 并且都放在空物体下面 还有两个物体 用在cave空间要保证四个相机的位置一致 rotation互成90 前 0 0 0 右 0 90 0 左 0 270 0 下 90
  • 用matplotlib动画功能,一帧一帧的录制排序算法

    1 matplotlib绘制动画 matplotlib是python中最经典的绘图包 里面animation模块能绘制动画 首先导入小例子使用的模块 from matplotlib import pyplot as plt from mat
  • 高性能MySQL:创建高性能索引

    文章目录 前言 一 索引的语法 1 1 创建索引 1 2 删除索引 1 3 查看索引 1 4 查看查询语句使用索引的情况 二 索引的优缺点 2 1 索引的优点 2 2 索引的缺点 三 索引的类型 3 1 按照功能逻辑区分 3 2 按照数据结
  • BH1750简单介绍

    bh1750是16位数字输出型 环境光强度传感器集成电路 主要应用有移动电话 液晶电视 笔记本电脑 便携式游戏机 数码相机 数码摄像机 汽车定位系统 液晶显示器 目录 1 bh1750中文资料 2 bh1750引脚说明 3 bh1750传感
  • 算法入门 24. TSP问题(状态压缩DP)

    TSP问题 问题描述如下 假设有一个旅行商人要拜访n个城市 他必须选择所要走的路径 路径的限制是每个城市只能拜访一次 而且最后要回到原来出发的城市 路径的选择目标是要求得的路径路程为所有路径之中的最小值 include
  • warning: #940-D: missing return statement at end of non-void function “fgetc“解决方案

    问题描述 warning 940 D missing return statement at end of non void function fgetc 解决方案 解决措施 引入头文件stdio h
  • 前端面试知识点整理——项目整理

    前端面试知识点整理 项目整理 文章目录 一 华工线上黑市 安卓 二 二手闲置商场 健身管理系统 小程序 三 birthday app swift 四 给Joey的生日页面 移动端 五 开发者博客 vue 一 华工线上黑市 安卓 1 MVP架
  • npm install 离线安装

    将外网装好的npm 将其缓存拷到内网 再通过缓存文件安装 注意内外网的nodejs npm版本要一致 不一致要 将其卸载 重装成一致的 卸载时 看 usr local lib usr local include usr local bin
  • HardFault_Handler问题查找方法

    一 程序进入HardFault Handler 可能原因 1 内存溢出 常见的于数组访问越界 2 堆栈溢出 堆栈设置过小等 二 排查方法 方法1 出现该情况后 可首先查看LR寄存器中的值 确定当前使用堆栈为MSP或PSP 1 打开寄存器窗口
  • asm:常用语法

    常用语法 1 循环 1 1 使用条件跳转指令实现循环 1 2 使用LOOP指令实现循环 2 字符串 2 1 指定字符串的长度 2 2 字符串指令 2 3 重复前缀 3 数组 4 递归 5 宏 6 文件操作 7 内存管理 1 循环 1 1 使
  • 2023年美赛五大热点问题(赛前准备、报名、选题、评审、查询)全面解读!

    思路 永久更新 全网最新最全 持续更新中 查看最下方QQ群获取 2023年美赛五大热点问题全面解读 赛前准备 报名 选题 评审 查询 一 赛前准备 硬实力准备 1 学习常用模型 算法 并进行实战建模练习 学习常用模型的原理 并分别进行应用练
  • 应用层——域名系统DNS

    认识DNS 我们平常在访问某个网站的时候不使用IP地址 而是使用一串有罗马字和点号组成的字符串 而一般用户在使用TCP IP进行通信的时候也不实用IP地址 能够这样做是因为有了DNS Domain Name System 功能的支持 DNS