DNS, Domain Name System, 域名系统;
主要作用是把域名 转换为 IP 地址,即解决域名和 IP 地址的映射问题。
DNS作为一个全球规模的分布式分层数据库,毫无疑问属于 Internet 的核心功能;
而这么核心的功能,实际上是在应用层实现的。
那么,这就不由得产生一个疑问:
为什么 DNS 如此核心的功能, 要放在各种应用可以随意发挥的应用层实现,而不是往更底层放呢?
往下看一层是 TCP/UDP,
然后 DNS 是基于 UDP 之上实现,看起来似乎也只能在应用层了,
类似于 HTTP 基于 TCP 之上实现所以在应用层。
这似乎算是个结果导向的浅显理由吧。
但是总觉得这应该不是真正的原因,
继续思考,
发现域名这个概念本身,就是应用层的东西,
那么负责将域名解析为 IP 的 DNS 协议,应该就理所当然地放在了应用层了吧。
当然也可能还有别的原因,有待继续深入思考,也欢迎大佬们指正补充。