网络协议---DNS
一、dns域名名称解析
结构:域名是一个具有层次结构的名称,从右到左依次为顶级域名(TLD)、二级域名、三级域名等。
域名命名规则:
例如,在 “www.example.com” 这个域名中,“com” 是顶级域名,表示这是一个商业性质的域名;“example” 是二级域名,通常由域名所有者注册并使用;“www” 是三级域名,一般用于指定特定的服务,如网站服务。
另,对www进一步解释:“www” 通常是服务器上的一个子域名。它可以被配置为指向服务器上特定的目录或者虚拟主机。这意味着网站管理员可以将与网页相关的文件(如 HTML、CSS、JavaScript 文件等)放置在服务器上 “www” 对应的目录下,这样当用户通过 “www.example.com” 访问时,服务器就知道要从这个特定的目录中获取文件并返回给用户。
二、dns服务器类型
1、根 DNS 服务器
最高层级服务器,保存着顶级域名(如.com、.org、.net 等)服务器的 IP 地址信息。当用户在浏览器中输入一个网址时,DNS 查询首先会访问根 DNS 服务器,以获取能够解析该域名所属顶级域名的服务器信息。
全球共有13个IPV4根服务器,中国有多个ipv4根服务器镜像,IPV6根服务器全球共有25个,中国有4台,包括 1 台主根服务器和 3 台辅根服务器
工作方式:当本地 DNS 服务器(由互联网服务提供商提供给用户的 DNS 服务器)无法从缓存中获取域名对应的 IP 地址时,它会首先向根 DNS 服务器发起查询。
2、顶级域名服务器
顶级域名服务器负责管理和维护特定顶级域名下的域名信息。比如,.com 顶级域名服务器管理所有以.com 结尾的域名相关信息。它们存储了所属顶级域名下二级域名注册商的 DNS 服务器信息,就像是图书馆中各个主要分类(顶级域名)下的子目录,知道每个二级域名所属的更详细的位置(二级域名注册商的 DNS 服务器)。
中国有.cn的顶级域名服务器(包括.com.cn),没有com的顶级域名
工作方式:在根 DNS 服务器返回顶级域名服务器的 IP 地址后,本地 DNS 服务器会向顶级域名服务器查询。顶级域名服务器根据请求域名中的二级域名部分,返回该域名对应的权威 DNS 服务器(Authoritative DNS Server)的 IP 地址。
3、权威 DNS 服务器
权威 DNS 服务器是对特定域名具有最终解析权的服务器。它由域名所有者或其托管服务提供商维护,存储着域名对应的实际 IP 地址以及其他 DNS 记录(如 MX 记录用于邮件交换,CNAME 记录用于别名等)。这就好比是图书馆中具体书籍所在的书架,包含了域名最准确的信息。
中国的权威dns服务器类型:1、CNNIC(中国互联网络信息中心),维护着.cn 顶级域名的权威 DNS 服务器,负责管理和解析所有以.cn 结尾的域名相关信息;2、运营商提供的权威 DNS 服务器,电信四川:
工作方式:本地 DNS 服务器在收到顶级域名服务器返回的权威 DNS 服务器的 IP 地址后,会向权威 DNS 服务器查询。权威 DNS 服务器根据域名查找对应的 IP 地址(或其他相关的 DNS 记录)并返回给本地 DNS 服务器。本地 DNS 服务器将这个信息缓存起来,以便后续相同域名的查询,同时把 IP 地址返回给发出请求的客户端(如用户的计算机),使得客户端能够与目标服务器建立连接。
4、本地 DNS 服务器
本地 DNS 服务器是用户接入互联网的入口 DNS 服务器,通常由互联网服务提供商(ISP)提供。它的主要作用是接收用户的 DNS 查询请求,并尝试从自己的缓存中获取域名对应的 IP 地址
天翼云成都3的本地dns服务器IP地址为:100.125.108.51。成都4资源池内网dns服务器ip地址为:100.95.0.1
工作方式:用户在浏览器或其他网络应用中输入域名后,计算机会首先向本地 DNS 服务器发送查询请求。本地 DNS 服务器先检查自己的缓存,若有匹配记录则直接返回 IP 地址;若没有,则开始递归查询,即代替用户依次向根 DNS 服务器、顶级域名服务器、权威 DNS 服务器查询,最后将获取到的 IP 地址返回给用户,并缓存该记录以备后续查询。
三、DNS记录类型
DNS 记录是存储在 DNS 服务器上的一组文本指令,用于将域名与各种网络资源相关联,是域名系统(DNS)中的核心数据,它就像是互联网的地址簿,记录着域名与 IP 地址、邮件服务器等资源之间的对应关系,使得用户能够通过方便记忆的域名来访问网络资源
1、A 记录
功能:用于将域名映射到一个 IPv4 地址,是最常见和最常用的 DNS 记录类型之一。当用户在浏览器中输入域名时,计算机通过查询 DNS 服务器的 A 记录来获取对应的 IPv4 地址,从而建立与服务器的连接
2、AAAA 记录
功能:与 A 记录类似,但用于将域名解析到 IPv6 地址
3、CNAME 记录
功能:用于创建域名别名,将一个域名(别名)指向另一个域名(真实名称),而不是直接指向一个 IP 地址。当用户访问别名域名时,实际上是访问了被指向的真实域名所对应的服务器资源1.
应用场景:在网站更新、服务器迁移或者需要多个域名指向同一资源的场景中非常有用,可以方便地对域名进行重定向和统一管理,避免因为服务器变更而需要逐个更新域名的指向.
4、MX 记录
功能:邮件交换记录,用于指定负责接收邮件的邮件服务器。当发送邮件时,发送方的邮件服务器会查询接收方域名的 MX 记录,以确定将邮件发送到哪个邮件服务器
5、NS 记录
功能:用于指定域名的权威 DNS 服务器,一个域名的权威 DNS 服务器是对该域名解析信息具有最终决定权的服务器。NS 记录指向所有该域名持有的其他记录,没有 NS 记录,用户将无法访问网站1.
应用场景:在域名注册和管理过程中使用,当注册一个域名时,需要指定该域名的权威 DNS 服务器,通过设置 NS 记录来实现。同时,在进行域名解析时,其他 DNS 服务器会根据 NS 记录找到权威 DNS 服务器来获取最准确的域名解析信息.
6、PTR 记录
功能:主要用于反向解析,即将 IP 地址解析为域名,与 A 记录和 AAAA 记录的作用相反。它可以实现通过 IP 地址访问域名,在一些网络安全和验证场景中很有用,比如检查邮件服务器的合法性等1.
应用场景:在网络安全领域,特别是邮件服务器的反垃圾邮件验证和一些网络访问控制机制中应用,通过反向解析 IP 地址来验证其对应的域名是否符合预期,有助于防止非法访问和垃圾邮件的发送.
四、dns正向解析过程
五、dns反向解析过程
- 确定反向解析域:DNS 反向解析使用特殊的顶级域 “in-addr.arpa”。对于一个 IP 地址,如 117.78.61.19,其对应的反向域名是 19.61.78.117.in-addr.arpa。
- 查询本地 DNS 缓存:客户端首先会检查自己本地的 DNS 缓存,看是否已经存在该 IP 地址的反向解析结果。如果缓存中有对应的域名信息,则直接返回结果,无需再向其他 DNS 服务器查询。
- 向本地 DNS 服务器查询:如果本地 DNS 缓存中没有找到结果,客户端会向其配置的本地 DNS 服务器发送反向解析请求,请求查询指定 IP 地址对应的域名。
- 本地 DNS 服务器查询:
- 检查自身缓存:本地 DNS 服务器收到请求后,先检查自己的缓存中是否有该 IP 地址的反向解析记录。若有,则直接将结果返回给客户端。
- 递归查询或迭代查询:若本地 DNS 服务器缓存中无相应记录,它会根据自身的配置进行递归查询或迭代查询。在递归查询中,本地 DNS 服务器会代替客户端向其他 DNS 服务器查询,直到获得最终结果并返回给客户端;而在迭代查询中,本地 DNS 服务器会向根 DNS 服务器或其他权威 DNS 服务器发送查询请求,并根据收到的响应逐步查找,直到找到负责该反向解析域的权威 DNS 服务器7.
- 权威 DNS 服务器查询:最终,查询请求会到达负责该反向解析域的权威 DNS 服务器。权威 DNS 服务器会查找其配置的 PTR 记录,PTR 记录用于将 IP 地址映射到对应的域名,找到与请求的 IP 地址对应的域名后,将结果返回给查询的 DNS 服务器235.
- 结果返回:查询结果沿着查询路径依次返回,最终由本地 DNS 服务器将反向解析得到的域名返回给客户端。
六、CDN
七、dns应用于网络排障
1、nslookup
-
- 格式:
nslookup -type=[记录类型] [域名]。例如,要查询www.baidu.com的 CNAME 记录,输入nslookup -type=cname www.baidu.com。 - 记录类型说明:
- A 记录:是最常见的记录类型,用于将域名映射到 IP 地址,这是默认查询的记录类型。
- CNAME 记录:即别名记录,用于将一个域名别名指向另一个域名。比如,
www.example.com的 CNAME 记录可能指向example.com,表示www.example.com是example.com的别名。 - MX 记录:用于指定邮件服务器,用于电子邮件的发送和接收。例如,查询一个公司域名的 MX 记录,可以知道该公司的邮件服务器地址。
- NS 记录:即域名服务器记录,用于指定该域名的 DNS 服务器。
- 格式:
-
- 格式:
nslookup [域名] [DNS服务器地址]。例如,你知道某个可靠的 DNS 服务器(如谷歌的公共 DNS 服务器8.8.8.8),想要使用它来查询www.example.com的 IP 地址,可以输入nslookup www.example.com 8.8.8.8
- 格式:
清除 DNS 缓存
DNS 缓存中存储了之前查询过的域名及其对应的 IP 地址等信息,有时缓存中的数据可能会出现错误或过时,进而引发网络故障。在 Windows 系统下,可以在命令提示符中输入 “ipconfig /flushdns” 命令来清除 DNS 缓存;在 Linux 系统中,可使用 “sudo systemctl restart NetworkManager” 或 “sudo /etc/init.d/networking restart” 等命令来刷新 DNS 缓存,使设备重新获取最新的域名解析信息。

浙公网安备 33010602011771号