目录
- 一、为什么要使用DNS?
- 二、因特网的域名结构
- 三、DNS域名解析原理【含详细图解】
- 四、DNS记录(A记录、AAAA记录、CNAME记录等)
一、为什么要使用DNS?
我们知道,TCP/IP
协议中是使用 IP 地址和端口号来确定网络上的某一台主机的,由于大多数 IP 毫无规律、难以记忆,就出现了 域名(Domain Name)
。简单来说,IP地址是面向主机的,而域名则是面向用户的。
最初,域名和IP地址的映射关系都保存在 hosts
文件中,但是每次有新的域名要接入网络的时候,其它计算机就需要定时更新后才能正常访问,比较繁琐,因此就出现了 可以远程进行域名映射 的 DNS(Domain Name System)
域名系统。
可能会有聪明的小伙伴会想到,为什么不直接使用域名来进行传输,非要使用IP地址呢?
- 这是因为域名的长度不固定,而IP地址的长度是固定的,机器处理起来比较方便。
二、因特网的域名结构
因特网的域名结构是一个 层次化 和 分层 的梳妆结构,通常被称为 域命名空间(Domain Name Space)
。在这个结构中,域名由多个标号组成,这些标号之间用 .
来分隔,如下所示:
这段域名由三个标号组成:mail
(三级域名)、cctv
(二级域名)、com
(顶级域名)。
DNS规定域名必须满足以下条件:
- 域名中的标号都 由英文和数字组成,每个标号不超过63个字符(为了方便记忆,一般不会超过12个字符),不区分字母大小写。
- 级别最低的域名写在最左边,级别最高的域名写在最右边。
除此之外,DNS 既 不限制一个域名所包含的下级域名数量,也不限制域名具体代表的意思。各级域名由其上一级的域名管理机构管理,**最高的顶级域名由 ICANN
(互联网名字域编号分配机构)进行统一管理。
顶级域名分为以下3类:
序号 | 类型 | 说明 |
---|---|---|
(1) | 国家顶级域名 nTLD | 采用 ISO3166 的规定。如: * cn :代表中国;* us :代表美国;* uk :代表英国;等等。国家域名又常记为 ccTLD (cc表示国家代码 country-code)。 |
(2) | 通用顶级域名 gTLD | 最常见的通用顶级域名有以下几个: * com :公司企业;* net :网络服务机构;* org :非盈利组织;* edu :表示教育机构;* gov :美国的政府部门;* mil :美国的军事部门。 |
(3) | 基础结构域名(Infrastructure Domain) | 这种顶级域名只有一个,即 arpa ,用于反向域名解析,因此称为 反向域名 。 |
下面展示了一个四级域名的结构:(注意:四级域名并不是最低级别的域名)
三、DNS域名解析原理【含详细图解】
实际上,域名到IP地址的解析是 由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的节点上运行,而人们也常把运行域名服务器程序的机器称为 域名服务器
,即 DNS(Domain Name System)
。
域名到IP地址的解析过程主要包含以下3个要点:
- 当某一个应用需要把域名解析为IP地址时,该应用进程就会 调用DNS服务器,把待解析的域名放在 DNS 请求报文中,以
UDP
请求方式将数据报文发送给本地DNS。 - 本地DNS在查找域名后,会 把对应的IP地址放在响应报文中返回。应用程序获得目的主机的IP地址后即可进行通信。
- 若本地DNS不能解析该域名,则 本地DNS服务器会调用其它远程DNS服务器,发送查询请求。
四、DNS记录(A记录、AAAA记录、CNAME记录等)
在 DNS 中,DNS记录
是由 DNS 服务器创建并存储在其区域文件中的指令,这些记录 提供了关于域名和主机名的重要信息。这些记录包括但不限于 A记录、CNAME记录、MX记录等,每种记录类型都有其特定的用户和格式。
常见的 DNS记录如下:
A记录
:将域名指向一个IPv4地址(例如:10.10.10.10),需要增加A记录。
AAAA记录
:将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录。
CNAME记录
:如果 将域名指向另一个域名,实现与被指向域名相同的访问效果,需要增加 CNAME 记录。指向的这个域名一般是主机服务商提供的一个域名。
MX记录
:建立电子邮箱服务,将 指向邮件服务器地址,需要设置MX记录。建立邮箱时,一般会根据邮箱服务商提供的 MX记录 填写此记录。
NS记录
:域名解析服务器记录,如果要 将子域名指向某个域名服务器来解析,需要设置NS记录。
SOA记录
:起始授权机构记录,NS记录用于标识多台域名解析服务器,SOA记录 用于在众多NS记录中标识哪一台是主服务器。
TXT记录
:可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮箱)记录。
SRV记录
:添加服务器服务记录时会添加此项,SRV 记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型
(例如:_example-server._tcp)。
PTR记录
:PTR记录是A记录的逆向记录,又称作 IP反查记录
或 指针记录
,负责将IP反向解析为域名。
显性URL转发记录
:将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址。例如:将 www.aaa.cn 显性转发到 www.bbb.cn 后,访问 www.aaa.cn 时,页面会跳转到 www.bbb.cn,并且地址栏显示的地址也为 www.bbb.cn。(即请求转发)
隐形URL转发记录
:将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址,隐形转发会隐藏真实的目标地址。例如:将 www.aaa.cn 显性转发到 www.bbb.cn 后,访问 www.aaa.cn 时,虽然页面会跳转到 www.bbb.cn,但是地址栏显示的地址仍然是 www.aaa.cn。(即请求重定向)
整理完毕,完结撒花~🌻
参考地址:
1.DNS原理及解析过程详解,https://blog.csdn.net/mocas_wang/article/details/109167660
2.DNS解析中的A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录、SRV记录、URL转发等,https://blog.csdn.net/weixin_44388689/article/details/132466543