应用层--DNS

本文涉及的产品
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 应用层--DNS

2.4 DNS(域名系统)

由来:

计算机的标识方式有 IP地址 和 主机名 两种。

其中主机名因易于记忆而被人们普遍接受,但主机名几乎不提供计算机在因特网中位置的信息。

而路由器更喜欢定长的,有层次结构的IP地址。

为了折中这两种需求,需要一种能将主机名转换为IP地址的目录服务,也就是域名系统DNS(Domain Name System)的主要任务。

特点:

  • 分层的、基于域的命名机制
  • 若干分布式的数据库完成名字到IP地址的转换
  • 运行在UDP上端口为53的应用服务
  • 核心的Internet功能,但以应用层协议实现
  • 在网络边缘(端系统,主机的应用层)处理复杂性

功能:

2.4.1 域名

  • 定义:
    域名 (Domain Name)是因特网的一项核心服务,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,它采用分级结构。

域名由两种不同的字符集组成:ASCII和Unicode。ASCII字符集包括128个字符,如数字、字母和符号。Unicode字符集包括几乎所有国家和地区的文字、符号和符号。

在ASCII字符集中,每一级域名长度不超过63个字符。而在Unicode字符集中,虽然域名长度没有明确的限制,但仍然需要遵守域名系统规范(DNS)的限制。根据DNS规范,每一级域名长度不能超过253个字符。

需要注意的是,虽然每一级域名长度有限制,但整个域名的长度是没有限制的

域名可以用来在数据传输时标识计算机的电子方位,有时也指地理位置

例如:我们常用的门户网站,如搜狐、新浪等,它们都是用大写字母来作域名的。

  • 特点
  • 1.一个层面命名设备可能会有很多重名,但通过结合主机名和所在的域,可以唯一地标识互联网上的每一台主机
  • 2.DNS采用层次树状结构命名方法

  • 解析问题

单点故障:如果只有一个DNS服务器,一旦其损坏将影响巨大

通信容量:一个DNS服务器处理所有DNS查询,工作量过大

维护问题:一台DNS服务器需要为所有因特网主机保留记录,使得中央数据库庞大,并且还要因添加新的主机而更新。

远距离的集中式数据库:因为一台DNS服务器无法”邻近“所有用户,传播时将经过低速和拥塞链路导致严重时延。

域名的层级分类

下图中 "叶" 只是一个通用代指,并不是说所有域名都归于一个主机或设备。“根”同理(DNS根服务器共有13个)

从树根到树叶,上层域有一个指向其子域服务器的指针。

一系列划分域

一系列划分域

一系列划分域

一系列划分域

一系列划分域

顶级域1

顶级域2

顶级域3

顶级域...

二级域1

二级域2

二级域3

二级域...

二级域...

二级域...

三级域...

...

顶级域分为两类:

  • 通用的(Generic)
  • 国家的(Countries)

下面几张图有重复,看看就行。

下图出现的反向域名 arpa 作用是将IP地址逆向解析为域名

以下拓展摘自百度AI:

arpa是逆向域名系统(逆向DNS)的缩写,用于将IP地址解析为域名。

在互联网上,IP地址是唯一标识计算机或设备的地址,而域名则是为了方便人们记忆和访问这些地址而使用的字符串。逆向域名系统的作用就是通过IP地址反向解析出对应的域名。

arpa域名字符集与一般的域名字符集不同,它只包含数字和字母,不包含国家、地区或符号等特殊字符。

arpa域名通常用于以下几种情况:

反向域名解析:通过IP地址反向解析出对应的域名,用于网络管理和安全监控等。

DNS黑名单:将恶意软件或网络攻击者的IP地址加入到arpa域名的黑名单中,以限制其访问网络资源。

邮件服务器:arpa域名用于邮件服务器,以便于接收和发送电子邮件。

临时域名:当一个域名被删除或过期时,其IP地址可能仍然需要被访问,此时可以使用arpa域名作为临时替代品。

需要注意的是,arpa域名的使用需要遵守特定的规范和标准,例如逆向DNS解析协议(DNS Reverse Resolution Protocol)等。

域名的构成

  • 命名设备的域名
    主机名.第N级域名.(…).第二级域名.顶级域名
    从树叶开始,每过一个层级用句点分隔开
  • 命名一个域的域名(对某个域做标识)
    树枝开始到顶级域。
    如:ustc.edu.cn (中国科技大学域名)

注:(少数采用)设备也可以直接挂在顶级域名或二级域名之下,不必非要顺着所有域层级来命名。

如:

  • mit.edu
  • xxx.gov

域名管理

.cn:中国的一个顶级域名

.jp:日本的一个顶级域名

2.4.2 域名服务器

DNS:根名字服务器

互联网共有13个根服务器 (分布在:欧洲,北美(大部分),日本),不同国家域名划分不一定一样

权威服务器

  • 前置
    为了解决域名的维护(域名到IP地址转换)和解析问题,划分出区域(zone)的概念:
    下图中每个圈就是一个区域。

  • 定义
    是否是某个域的权威DNS服务器看是否维护中这个区域的域名到IP地址对应关系
    权威服务器 :清楚本区域内部域名与IP对应关系

TLD服务器

本地名字服务器(Local Name Server)

地址使用手工配置或动态配置

名字服务器(Name Server)

2.4.3 DNS工作机理方面

1. DNS缓存

为了改善时延性能并减少在互联网上传输的DNS报文数量,DNS广泛采用了缓存技术。

  • 原理
    在一个请求链中,DNS服务器收到一个DNS应答(如包含某个主机名到IP地址的映射)时,它能将映射缓存在本地存储器中

由于主机和主机名与IP地址间的映射不是永久的DNS服务器在一段时间后(通常设置为两天),将丢弃缓存信息。

  • 产生的影响
    本地服务器也能缓存 TLD 服务器的 IP 地址,因而允许本地DNS绕过查询链中根DNS服务器。事实上,由于缓存的存在,除了少数DNS查询以外,根服务器被绕过了。

2. 资源记录

共同实现DNS分布式数据库的所有DNS服务器存储了资源记录(Resource Record,RR):提供主机名到IP的映射。

资源记录是一个包含了下列字段的四元组:

(Name,Vaule,Type,TTL),具体见下图:

资源记录可以类比于数据库的记录方法
  • TTL(生存时间 time to live):是指某个记录的生存时间,决定了某个资源记录删除的时间
  • 1.TTL为无限大:指权威值
  • 2.TTL为有限值: 指缓冲值

下面给出的例子,忽略掉TTL字段。Name和Vaule的值取决于Type:

(结构图)

(原书)

  • 资源记录的一个例子:

3. DNS工作过程:

查询

如果本地服务器有缓存,则直接返回缓存信息(主机与IP映射)。如果没有缓存,需要查询具体映射。

查询方法有以下两种:

  • 递归查询
  • 迭代查询

递归查询

简单来说就是主机任意找一个根服务器,由于通常上一级知道下一级信息,然后从根服务器开始一级一级往下查找,直到最终查到结果

迭代查询

上一级不会明确下一级的信息,但会有一个指定方向,相当于"踢皮球"。

4. DNS协议与报文

DNS报文有查询报文和回答报文两种,它们的格式都是相同的。结构如下图:

idenfication即id号

(原书参考)

5. 维护问题:新增域

2.4.4 DNS安全问题

总的来说,DNS比较健壮

目录
相关文章
|
6月前
|
域名解析 缓存 网络协议
【计算机网络-应用层】DNS协议
【计算机网络-应用层】DNS协议
|
4月前
|
域名解析 存储 网络协议
一次读懂网络分层:应用层到物理层全解析
**网络五层模型简介:** 探索网络服务的分层结构,从应用层开始,包括HTTP(网页传输)、SMTP(邮件)、DNS(域名解析)和FTP(文件传输)协议。传输层涉及TCP(可靠数据传输)和UDP(高效但不可靠)。网络层由IP(路由数据包)、ICMP(错误报告)和路由器构成。数据链路层处理MAC地址和帧传输,物理层规定了电缆、连接器和信号标准。了解这些基础,有助于深入理解网络运作机制。
348 5
|
5月前
|
域名解析 网络协议 程序员
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
188 0
|
6月前
|
监控 Linux 调度
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
179 0
|
6月前
|
网络协议 网络安全 数据安全/隐私保护
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
113 0
|
域名解析 网络协议
四十二、应用层概述、网络应用模型、DNS系统
四十二、应用层概述、网络应用模型、DNS系统
四十二、应用层概述、网络应用模型、DNS系统
|
域名解析 网络协议 数据库
|
缓存 网络协议 分布式数据库
【计算机网络学习笔记】(四)应用层(3)DNS
本系列为个人对计算机网络的学习笔记,本文重点总结DNS相关知识点。
170 0
|
网络协议 数据库
【计算机网络】再谈应用层(一)DNS
前言 之前也曾经在专栏中写过关于应用层的内容,但那时是初学,仅仅是囫囵吞枣地过一遍,再加上是以“自顶向下”的思路,由于很多细节涉及到了更底层的知识,所以没能理解透。 现在又“自底向上”系统学了一遍
189 0
|
域名解析 存储 缓存
【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )
【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )
456 2
【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )

推荐镜像

更多