DNS域名解析原理详解:从基本概念到常见记录类型
DNS域名解析原理详解:从基本概念到常见记录类型
DNS(Domain Name System)是互联网的核心基础设施之一,它将易于记忆的域名转换为计算机可识别的IP地址,使得用户能够通过简单的域名访问复杂的网络资源。本文将详细介绍DNS的基本概念、域名结构、解析原理以及常见的DNS记录类型。
一、为什么要使用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。(即请求重定向)
整理完毕,完结撒花~🌻
参考地址:
- DNS原理及解析过程详解,https://blog.csdn.net/mocas_wang/article/details/109167660
- DNS解析中的A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录、SRV记录、URL转发等,https://blog.csdn.net/weixin_44388689/article/details/132466543