我们正在研究的下一代智能媒体网络课题中,网络传输环节有一个问题需要解决,即终端如何能够就近接入分布在全球各地的媒体节点,这用到了HTTP DNS这项技术。恰好在阿里云栖社区上,读到一篇关于DNS域名解析优化的文章,对此讲解的挺清楚。写一篇学习笔记,一些文字或图片引自该问斩个。原文链接:《移动互联网时代,如何优化你的网络 —— 域名解析篇》
域名(Domain Name)是由一串用点分隔的名字组成的某台计算机或某组计算机的标识,域名通过DNS(Domain Name System)服务转化为服务器的IP地址,以便应用通过IP进行寻址和通信,这个过程称之为域名解析
作为互联网络通信的最前端环节,域名解析非常重要。在基于传统浏览器的B/S场景下,域名解析由浏览器内核实现,应用不用关心域名解析的细节。也正因为这种透明性,一旦域名解析系统出现问题,甚至遭到黑客的劫持,应用开发者几乎无计可施
而进入移动互联网时代(包括基于浏览器的富客户端应用),实际上是一种C/S架构,这赋予了应用开发者较大的定制空间。开发者甚至可以渗透到应用底层网络实现当中,对域名解析环节的优化变为了可能
讲到优化手段之前,先了解一些DNS中的关键概念
1. 树状域名结构
DNS系统采用树状管理结构,以blog.csdn.net为例,.net是顶级域名,csdn为二级域名,blog为三级域名,以此类推
2. 权威DNS
权威DNS是最终决定解析结果的服务器,是解析结果的权威,可以在权威DNS上配置、更改、删除具体域名的解析结果。比如阿里云解析就是权威DNS服务提供商
3. 递归DNS
递归DNS又称为LocalDNS,它没有域名解析的决定权,但能够代理用户向权威DNS进行域名解析的请求。递归DNS上有缓存模块,当缓存中包含解析目标并且TTL未过期时(TTL是域名的有效生存时间,若缓存时间超过TTL,递归DNS需要重新向权威