【应用层】DNS协议

一、概述

本篇文章基于《计算机网络》和《计算机网络:自顶向下方法》,为笔者的读书笔记,主要内容如下所示:

  • DNS提供的服务
  • 互联网的域名结构
  • DNS服务器的分布
  • DNS的工作原理
  • DNS记录 & 往DNS插入记录

二、DNS提供的服务

域名系统 DNS(Domain Name System) 提供的服务很简单,就是将便于人们使用的机器名字转换为IP地址。

我们都知道用户与互联网上的某台主机通信时必须知道对方的 IP 地址。相比于难以记忆的IP地址,用户更容易记住的是有具体含义的主机名字,例如我们访问百度的页面通常会选择输入www.baidu.com而不是183.232.231.172;但对于路由器来说,它更喜欢的则是定长的、有层次结构的 IP 地址。所以为了折衷这些不同的偏好,我们需要一种能进行主机名到 IP 地址转化的服务,域名系统 DNS 应运而生。

和 HTTP、FTP 和 SMTP 协议一样,DNS 协议是应用层协议,它同样是采用客户-服务端模式运行在通信的端系统之间。DNS 协议运行在 UDP 之上,采用的端口号是 53。在 Windows/Linux 的命令行窗口下,我们可以输入 dslookup 命令来查询域名对应的IP地址,如下所示:
在这里插入图片描述
这里我们以查询百度搜索域名的 IP 地址为例,可以看到返回的结果中显示 www.baidu.com 这个域名下对应两个 IP 地址,分别是183.232.231.172183.232.231.174


三、互联网的域名结构

互联网采用的是层次树状结构的命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。下面通过一个例子来说明:
在这里插入图片描述
上图是新浪邮件服务器的域名,从语法上将,每一个域名都由标号(label)序列组成,各个标号之间用点隔开。其中标号 com 是顶级域名,标号 sina 是二级域名,标号 mail 是三级域名。DNS 对标号有如下规定:

  • 级别最高的顶级域名写在最右边,级别最低的域名卸载最左边;
  • 域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符;
  • 英文字母不区分大小写,也就是说 mail 和 MAIL 在域名中是等效的;
  • DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思;
  • 各级域名由上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理,这种方式可以确保每一个域名在整个互联网范围内都是唯一的

需要注意的是,域名中的点和IP地址中的点并无任何关系,域名只是一个便于人们使用和记忆的字符串,和IP地址存在映射关系。至于域名中的点所对应的顶级域名、二级域名等,和下面将要介绍的 DNS 的分布式和层次性设计有着很大的关系。


四、DNS服务器的分布

从理论上来说,整个互联网可以只使用一个 DNS 服务器,该服务器包含所有的映射,客户直接将所有查询发往一个 DNS 服务器,同时该 DNS 服务器直接对所有的查询客户做出响应。但是它并不适用于当今庞大的互联网,这种设计含有以下缺陷:

  • 单点故障。如果该 DNS 服务器崩溃,整个互联网随之瘫痪。
  • 通信容量。单个 DNS 服务器不得不处理所有的 DNS 查询,这很容易造成拥塞现象。
  • 远距离的集中式数据库。单个 DNS 服务器无法
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值