应用层--DNS

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 应用层--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比较健壮

目录
相关文章
|
7月前
|
域名解析 缓存 网络协议
【计算机网络-应用层】DNS协议
【计算机网络-应用层】DNS协议
|
21天前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
5月前
|
域名解析 存储 网络协议
一次读懂网络分层:应用层到物理层全解析
**网络五层模型简介:** 探索网络服务的分层结构,从应用层开始,包括HTTP(网页传输)、SMTP(邮件)、DNS(域名解析)和FTP(文件传输)协议。传输层涉及TCP(可靠数据传输)和UDP(高效但不可靠)。网络层由IP(路由数据包)、ICMP(错误报告)和路由器构成。数据链路层处理MAC地址和帧传输,物理层规定了电缆、连接器和信号标准。了解这些基础,有助于深入理解网络运作机制。
427 5
|
6月前
|
域名解析 网络协议 程序员
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
253 0
|
7月前
|
监控 Linux 调度
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
197 0
|
7月前
|
网络协议 网络安全 数据安全/隐私保护
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
116 0
|
域名解析 网络协议
四十二、应用层概述、网络应用模型、DNS系统
四十二、应用层概述、网络应用模型、DNS系统
四十二、应用层概述、网络应用模型、DNS系统
|
域名解析 网络协议 数据库
|
缓存 网络协议 分布式数据库
【计算机网络学习笔记】(四)应用层(3)DNS
本系列为个人对计算机网络的学习笔记,本文重点总结DNS相关知识点。
176 0
|
网络协议 数据库
【计算机网络】再谈应用层(一)DNS
前言 之前也曾经在专栏中写过关于应用层的内容,但那时是初学,仅仅是囫囵吞枣地过一遍,再加上是以“自顶向下”的思路,由于很多细节涉及到了更底层的知识,所以没能理解透。 现在又“自底向上”系统学了一遍
196 0

推荐镜像

更多