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学习笔记

1 背景

本文记录笔者关于DNS的学习笔记。

1.1 DNS简介

DNS 全称 Domain Name System 域名解析服务,用于解析域名与 IP 地址对应关系。

DNS 基于 UDP,UDP 端口号 53,也会使用 TCP 的 53 端口,先会用 UDP 查找,若 UDP 查不到或请求大于 512 字节时才用 TCP 查找。同时,UDP 进行名称解析,TCP 进行区域解析。

1.2 DNS组成

  • 域名服务器:域名解析服务的提供者。
  • 解析器:访问域名服务器的客户端,负责解析从域名服务器获取的响应。如:nslookup。

1.3 DNS的功能

  • 正向解析:域名到ip。
  • 反向解析:ip到域名。

1.4 DNS的性质

  • 从协议的层面看,它是一种应用层协议
  • 从实体的层面看,它是一个由分层的DNS服务器实现的分布式数据库

1.5 DNS服务器的类别

所有 DNS 服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD 域名服务器和权威性域名服务器。在典型 DNS 查找中(当没有正在进行的高速缓存时),这四个 DNS 服务器协同工作来完成将指定域的 IP 地址提供给客户端的任务(客户端通常是一个存根解析器 - 内置于操作系统的简单解析器)。

  • 递归解析器

    递归解析器(也称为 DNS 解析器)是 DNS 查询中的第一站。递归解析器作为客户端与 DNS 域名服务器的中间人。从 Web 客户端收到 DNS 查询后,递归解析器将使用缓存的数据进行响应,或者将向根域名服务器发送请求,接着向 TLD 域名服务器发送另一个请求,然后向权威性域名服务器发送最后一个请求。收到来自包含已请求 IP 地址的权威性域名服务器的响应后,递归解析器将向客户端发送响应。

    在此过程中,递归解析器将缓存从权威性域名服务器收到的信息。当一个客户端请求的域名 IP 地址是另一个客户端最近请求的 IP 地址时,解析器可绕过与域名服务器进行通信的过程,并仅从第二个客户端的缓存中为第一个客户端提供所请求的记录。大多数 Internet 用户使用他们 ISP 提供的递归解析器。

  • 根DNS服务器(root name server)

    每个递归解析器都知道 13 个 DNS 根域名服务器,它们是递归解析器搜寻 DNS 记录的第一站。根服务器接受包含域名的递归解析器的查询,根域名服务器根据该域的扩展名(.com、.net、.org 等),通过将递归解析器定向到 TLD 域名服务器进行响应。(尽管有 13 个根域名服务器,但这并不意味着根域名服务器系统中只有 13 台计算机。根域名服务器有 13 种类型,但在世界各地每个类型都有多个副本。)

  • 顶级域DNS服务器(Top-Level Domain, TLD )

    顶级域服务器负责顶级域名,如com,org,net,edu和gov和所有国家的顶级域名,如:cn,uk,jp。

  • 权威DNS服务器

    在因特网上具有公共可访问的主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。 由组织机构的权威DNS服务器保存这些DNS记录。当递归解析器收到来自 TLD 域名服务器的响应时,该响应会将解析器定向到权威性域名服务器。权威性域名服务器通常是解析器查找 IP 地址过程中的最后一步。

1.6 域名的结构

DNS 是一个分层级的分散式名称对应系统,有点像电脑的目录树结构:在最顶端的是一个”root”,然后其下分为好几个基本类别名称,如com、org、edu 等;再下面是组织名称,如ibm﹑microsoft﹑intel 等;继而是主机名称,如www﹑mail﹑ftp 等。

2 域名解析的过程

2.1 解析过程

当我们在浏览器输入http://www.test.com/ 敲回车时,电脑会进行以下动作:

  • 首先根据网址提取出域名,即 www.test.com
  • 如果在系统中配置了Host文件,那么电脑会先查询hosts文件,看”www.test.com “ 是否在Hosts文件中已经有了对应的记录,如果有就直接去该记录中的ip地址,域名解析的过程就结束了。如果Hosts文件中没有这个域名的记录,此时电脑会根据你设置的域名服务器去解析域名。
  • 如果你的电脑没有配置域名服务器,那么这时就会出现网站的域名无法解析错误。过程也结束了。如果你设置了域名服务器,那么电脑会向这个域名服务器发送一个域名查询的请求,如果这台域名服务器始终没有回应,则也会出现浏览器报错。
  • 如果域名服务器回应了,那么电脑可以根据域名服务器返回的应答信息得到域名的ip地址。然后,浏览器就会想这个ip地址对应的web服务器发送http请求。

2.2 解析方式

  • 递归查询

    主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。 因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

    客户端只发一次请求,要求对方给出最终结果。

  • 迭代查询

    本地域名服务器向根域名服务器的查询的迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

    客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 08:14:35  更:2021-07-28 08:16:39 
 
开发: 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 17:50:51-

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