| |
|
开发:
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、客户端的查询消息包含以下信息: - ? 域名:服务器、邮件服务器(邮件地址中@后面的部分)的名称 3、当DNS收到客户端信息之后,在DNS中保存有相关信息的”资源记录表 “ 进行一一比对查询。当查询到3个项目信息完全一致时,于是,DNS服务器就会将记录中的192.0.2.226这个值返回给客户端。 ?
我们首先需要知道这个地址对应的哪一个邮件服务器,此时,我们需要提供@后面的那一串名称:消息如下: (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地址返回给客户端 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |