最近在玩一些有关的东西吧可能,记录一下关于dns的各种记录和解析流程
DNS全称 Domain Name System,是一个用于记录和分发域名和ip对应关系的服务系统,用于解决ip记不住的问题
各种记录
- A记录:用来记录域名以及其子域名的ipv4地址
- AAAA记录:用来记录域名以及其子域名的ipv6地址
- NS记录:指定默认的dns服务器用于解析
- MX记录:用来指定邮件服务器,将发到此域名的邮件转到其他域名
- CNAME记录:别名记录,把一个域名指向和另一个域名相同的地址
- TXT记录:从功能上看他只是一个用来记录任何字符串的地方。有一个应用就是SPF反垃圾邮件,其功能就是指定该邮件来自的ip
- TTL记录:用于记录一次记录的存活时间,超时会丢弃。当有缓存且在ttl内时会直接使用缓存来缓解服务器压力。
- PTR:用于反向记录A记录,可以用于垃圾邮件检测
- SRV:用于指定特定服务以及连接协议到特定端口
还有一些关于DNSSEC的记录,用来保证安全性的。
解析过程
首先域名是多级的,从根(所有域名应该都有一个.root的根域名)开始向下一级的顶级域名,再下一级的二级域名,再向下的三级四级。
服务器类型 | 作用 |
---|---|
根服务器 | 一些科幻作者津津乐道的东西,存储所有的域名信息,本地不能解析时优先询问根域名 |
顶级域名服务器 | 顶级域名服务器用来存储该顶级域名下的所有二级域名 |
权威域名服务器 | 当顶级域名不能回答时会继续向下查询直到找到该记录 |
本地或运营商服务器 | 会缓存dns查询记录,是事实上你第一个查询的服务器,也是实现dns污染的地方 |
当然这是正常的解析流程,如果使用一些特殊的解析方式比如 DoH,DoT就会用不一样的查询方式。