1.域名系统概述

域名系统 DNS 是互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地址。

早在 ARPANET 时代,整个网络上只有数百台电脑,那时使用一个叫做 hosts 的文件,列出所有主机名字和相应的 IP 地址。只要用户输入一台主机名字,计算机就可以很快地把这台主机名字转换为机器能够识别的二进制 IP 地址。

为什么机器在处理 IP 数据报时要使用 IP 地址而不是域名字呢?这是因为 IP 地址的长度是固定的 32 位(如果是 IPv6 地址,那就是 128 位,也是定长的),而域名的长度并不是固定的,机器处理起来比较困难。

互联网的域名系统 DNS 被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS 使大多数名字都在本地解析,仅少量解析需要在互联网上通信,因此 DNS 系统的效率很高。由于 DNS 是分布式系统,即使单个计算机出了故障,也不会妨碍整个 DNS 系统的正常运行。

2.互联网的域名结构

任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。这里,域 是名字空间中一个可被管理的划分。域 还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。

级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。

3.域名服务器

域名体系是抽象的。但具体实现域名系统则是使用分布在各地的域名服务器。根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:

  • 根域名服务器:根域名服务器是最高层次的域名服务器。
  • 顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
  • 权限域名服务器:负责一个区的域名服务器。
  • 本地域名服务器:当一台主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。由此可看出本地域名服务器的重要性。

下面简单讨论一下域名的解析过程:

  • 主机向本地域名服务器的查询一般都采用递归查询。
  • 本地域名服务器向根域名服务器的查询通常采用迭代查询。

递归查询

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

迭代查询

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)。

为了提供 DNS 查询效率,并减轻根域名服务器的负荷和减少互联网上的 DNS 查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

不但域名服务器中需要高速缓存,在主机中也需要。

(4层)域名系统 DNS相关推荐

  1. 实习笔记0708 https协议/ django中间件/接口测试/内网与外网/域名系统DNS

    1 https协议 https://www.cnblogs.com/superfeeling/p/11561340.html https://www.cnblogs.com/an-wen/p/1118 ...

  2. 微软官网服务器dns,域名系统 (DNS)

    域名系统 (DNS) 08/07/2020 本文内容 适用于:Windows Server 2022.Windows Server 2019.Windows Server 2016 域名系统 (DNS ...

  3. 计算机网络应用层笔记--域名系统DNS

    域名系统DNS 标识因特网上主机的方式 主机名 IP地址 域名系统(DNS) 工作过程 互联网的域名结构 顶级域名 国家顶级域名nTLD 通用顶级域名gTLD 基础结构域名 二级域名 类别域名 行政区 ...

  4. 域名系统(DNS)概述

    什么是域名系统(DNS) 在互联网中,使用IP地址作为机器的绝对地址根本行不通,原因如下: 不好记忆,例如告诉你们学校官网的IP地址是"201.15.3.188",你可能根本记不住 ...

  5. 计算机网络——域名系统DNS

    文章目录 1.域名系统DNS的作用 2.层次树状结构的域名系统 3.域名解析的过程 4.总结 1.域名系统DNS的作用     当我们想要访问某个网页时,我们输入的地址并不是其IP地址,而是输入一个域 ...

  6. python socket 域名_python实现域名系统(DNS)正向查询的方法

    本文实例讲述了python实现域名系统(DNS)正向查询的方法.分享给大家供大家参考,具体如下: 域名系统(DNS)是一个分布式的数据库,主要是用来把主机名换成IP地址. DNS存在有两大理由: (1 ...

  7. 14-四层, 七层与DNS负载均衡

    四层, 七层与DNS负载均衡 四层负载均衡 F5硬负载均衡 LVS四层负载均衡 Haproxy四层负载均衡 Nginx四层负载均衡 七层负载均衡 Nginx七层负载均衡 Haproxy七层负载均衡 A ...

  8. 域名系统DNS知识点

    域名系统 DNS  是因特网使用的命名系统,用于把便于人们使用的机器名字转换为IP地址. 因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户-服务器方式. 域名只是个逻辑概念. 域名 ...

  9. java ftp 域名解析_域名系统DNS和FTP

    域名系统概述 域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址. 为什么机器在处理IP数据报时要使用IP地址而不使用域名呢?IP地 ...

  10. 6-2应用层-域名系统DNS

    域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址.域名系统的组成包括:域名空间.分布式数据库.域名服 ...

最新文章

  1. 工作5年才有自己博客...汗...
  2. powerbook g4装linux,揭秘:服务器操作系统Linux版本发行
  3. SparkSQL Spark on Hive Hive on Spark
  4. 输出区间内素数的c语言程序,1137C/C++经典程序训练7---求某个范围内的所有素数...
  5. 自定义Kettle数据库插件
  6. 【Python】14种方式,34个案例:对比SQL,学习Pandas操作
  7. C++虚继承(六) --- 虚继承浅析
  8. Linux卸载/删除多余网卡
  9. sql文件建立mysql库_使用.SQL文件创建MySQL数据库
  10. CentOS6.5卸载默认安装的mysql5.1,并安装mysql5.5(亲测有效)
  11. 计算机网络的非性能特征PPT,计算机网络概述课件课件.ppt
  12. Linux操作系统安装过程
  13. Review-常用数学符号的英文及中文叫法
  14. 简单c语言程序例子与运行结果图,C语言程序第一次作业
  15. 48V转12V电源芯片,48V转15V降压芯片电路图方案
  16. codelldb-x86_64-windows.vsix 下载
  17. HTML电子邮件格式的制作与发送
  18. java跨站攻击_安全测试-跨站脚本攻击(xss)
  19. FPGA_Verilog学习之旅(2)---浅谈VGA
  20. svn取消文件夹图标_TortoiseSVN文件夹及文件图标不显示解决方案

热门文章

  1. python+FTP 批量上传文件
  2. Let's talk OOP Again
  3. 苹果手机设置邮箱服务器端口设置,苹果手机邮箱怎样设置
  4. 【题解】【中国大学MOOC】(北京大学)人工智能与信息社会测验——1新闻热点与身边的人工智能
  5. poj 3295 Tautology【离散数学之重言式】
  6. 嵌入式系统开发-麦子学院(3)——Linux C初级编程1
  7. C# 实现eval,支持任意个数、任意基本类型的参数
  8. Android 客户端无法访问 服务器,无法将Android客户端与本地XMPP服务器连接
  9. Windbg调试----Windbg入门
  10. 关于JSP虚拟主机使用(上传自己的网页到外网)