IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 网络连接笔记之全世界DNS服务器的大接力 -> 正文阅读

[系统运维]网络连接笔记之全世界DNS服务器的大接力

一、DNS服务器的基本工作

1、基本工作:接受来自客户端的查询消息,然后根据消息的内容返回响应

2、客户端的查询消息包含以下信息:

- ? 域名:服务器、邮件服务器(邮件地址中@后面的部分)的名称
- ? Class: 用来识别网络的信息(在最早设计 DNS 方案时,DNS 在互联网以外的其他网络中的应用也被考虑到了。不过,如今除了互联网并没有其他的网络了,因此 Class 的值永远是代表互联网的 IN )。
- ? 记录类型:表示域名对应何种类型的记录。例如,当类型为??A(Address缩写)??时,表示域名对应的是IP地址;当类型为??MX(Mail eXchange)??时,表示域名对应的是邮件服务器

3、当DNS收到客户端信息之后,在DNS中保存有相关信息的”资源记录表 “ 进行一一比对查询。当查询到3个项目信息完全一致时,于是,DNS服务器就会将记录中的192.0.2.226这个值返回给客户端。

?


查询MX记录类型的IP地址时,例如tone@glasscom.com,因为IP地址时保存在A记录中,而邮件服务器则是保存在MX记录中。

我们首先需要知道这个地址对应的哪一个邮件服务器,此时,我们需要提供@后面的那一串名称:消息如下:

(a)域名=glasscom.com????(b)Class = IN?????(c)记录类型 = MX

此时DNS服务器会返回上图中的第二行的两条信息:10 和 [mail.glasscom.com](http://mail.glasscom.com/)???一个是邮件服务器的优先级(当一个邮件地址对应多个邮件服务器时,需要根据优先级来判断哪个邮件服务器优先),一个是域名,然后,通过 [mail.glasscom.com](http://mail.glasscom.com/)?域名查询到第三行对应的IP地址是: 192.0.2.227???则,MX记录的返回消息包括邮件服务器的域名,优先级,和对应的IP地址。


二、域名的层次结构

在互联网中存在着不计其数的服务器,将这些服务器的信息全部保存在一台DNS服务器中是不可能的,因此,一定会出现在DNS服务器中找不到要查询的信息的情况,

1、解决办法:

??将信息分布保存在多台DNS服务器中,这些DNS服务器相互接力配合,从而查找出要查询的信息。

2、首先,DNS服务器中的所有信息都是按照域名以分层次的结构来保存的,这类似于公司中的事业集团、部门、科室这样的结构

??其次,DNS中的域名都是用句点来分隔的,例如:www.lab.glasscom.com, 这里的句点代表了不同层次之间的界限。在域名中,越靠右的位置表示其层级越高,此域名表示:com事业集团glasscom部lab科的www,其中相当于一个层级的部分称为域。因此,com域的下一层是glasscom域,再下一层是lab域,再下面才是www这个名字。注:一个域的信息是作为一个整体存放在DNS服务器中的,不能将一个域拆开来存放在多台DNS服务器中。不过DNS服务器和域之间的关系也不总是一对一的,一台DNS服务器中也存放多个域的信息。

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

互联网中有数万台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服务器信息保存在互联网中所有的DNS服务器中。这样,任何DNS服务器就都可以找到并访问根域DNS服务器了,因此,客户端只要能够找到任意一台DNS服务器,就可以通过它找到DNS服务器,然后再一路顺藤摸瓜找到位于下层的某台目标DNS服务器。分配给根域DNS服务器的IP地址在全世界仅有13个,且地址几乎不发生变化。根域DNS服务器的相关信息已经包含在DNS服务器程序的配置文件中了,因此只要安装了DNS服务器程序,这些信息也就被自动配置好了。


?

工作流程:

1、客户端发出查询 www.lab.glasscom.com 的IP地址,给到最近的DNS服务器,但并不存在,但最近的DNS服务器保存了根域DNS服务器的信息,则将其转发给了根域服务器,但根域服务器也不存在该域名,但根据域名结构可以判断这个域名属于com域,因此根域DNS服务器会返回他所管理的com域中的DNS服务器IP地址,让最近的DNS服务器去com域查找,但com域DNS服务器也没有,但告诉其glasscom.com域的DNS服务器的IP地址,依次类推,最终查询到www.lab.glasscom.com 的IP地址返回给客户端

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:50:23  更:2021-08-11 12:51:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:30:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码