产品知识库-泠茗-移动互联网时代如何优化你的网络-域名解析篇.docx
文本预览下载声明
移动互联网?时代,如何优化你?的网络 —— 域名解析篇?域名(Domai?n Name),是由一串用?点分隔的名?字组成的互?联网上某台?计算机或某?组计算机的?标识,它的目的是?为了方便人?们更简单便?捷地访问互?联网上的服?务。在实际的系?统实现中,域名通过D?NS(Domai?n Name Syste?m)系统转化为?服务器的I?P地址,以方便机器?通过IP进?行寻址和通?信。上述行为,我们称之为?域名解析。作为一次网?络通信最前?置的环节,域名解析的?重要性不言?而喻。在传统的基?于浏览器的?网站访问场?景下,域名解析环?节由浏览器?内核实现,网站开发者?无需关心域?名解析的细?节。But there? are alway?s two sides? to every? coin,一旦域名解?析环节发生?异常,开发者面对?这样的黑盒?架构就会显?得束手无策?,一个很典型?的例子即域?名劫持问题?,关于这一点?我们在后文?会有更详细?的介绍。进入移动互?联网时代,大量的应用?基于C/S架构构建?。相较于传统?的面向浏览?器的Web? App,C/S架构的应?用赋予了我?们非常大的?软件定制空?间,开发者甚至?可以渗透到?整个应用的?底层网络实?现当中,域名解析环?节的优化因?此变为了可?能。本篇文章我?们就一起来?看一看传统?域名解析存?在的问题,对应的根源?,以及可能的?优化方案。关于域名解?析,你应该知道?的基本概念?在了解传统?域名解析的?流程之前,有几个专有?名词我们需?要了解一下?:根域、顶级域、二级域DNS系统?一般采用树?状结构进行?组织,以ru.wikip?为例?,org为顶?级域名,wikip?edia为?二级域名,ru为三级?域名,域名树状组?织结构如下?图所示。权威DNS?权威DNS?即最终决定?域名解析结?果的服务器?,开发者可以?在权威DN?S上配置、变更、删除具体域?名的对应解?析结果信息?。阿里云云解?析(?https?://wanwa?ng.aliyu?/domai?n/dns?)即权威DN?S服务提供?商。递归DNS?递归DNS?又称为Lo?cal DNS,它没有域名?解析结果的?决定权,但代理了用?户向权威D?NS获取域?名解析结果?的过程。递归DNS?上有缓存模?块,当目标域名?存在缓存解?析结果并且?TTL未过?期时(每个域名都?有TTL时?间,即有效生存?时间,若域名解析?结果缓存的?时间超过T?TL,需要重新向?权威DNS?获取解析结?果),递归DNS?会返回缓存?结果,否则,递归DNS?会一级一级?地查询各个?层级域名的?权威DNS?直至获取最?终完整域名?的解析结果?。关于域名解?析的具体流?程下文会举?例说明。公共DNS?公共DNS?是递归DN?S的一种特?例,它是一种全?网开放的递?归DNS服?务,而传统的递?归DNS信?息一般由运?营商分发给?用户。一个比较典?型的公共D?NS即Go?ogle的?,我们可以通?过在操作系?统配置文件?中配置公共?DNS来代?替Loca?l DNS完成?域名解析流?程。在实际的使?用过程中,我们通常不?需要手工指?定自己的L?ocal DNS地址?。运营商会通?过DHCP?协议在系统?网络初始化?阶段将Lo?cal DNS地址?分配给我们?的计算机。当我们需要?使用公共D?NS服务时?,我们就必须?手工指定这?些服务的地?址。以Linu?x为例,我们可以通?过在/etc/resol?v.conf中添加Lo?cal DNS地址?项来改变本?机Loca?l DNS的地?址。了解了上述?域名解析相?关的常见术?语,我们再来仔?细看一看一?次域名解析?流程具体是?如何发生的?。如上图所示?,以访问ww?w.taoba?为例?,一次完整的?域名解析流?程包括:终端向Lo?cal DNS发起?域名解析请?求;Local? DNS在获?取到域名解?析请求后首?先从Roo?t hints?获取根域名?服务器的地?址(Root hints?包含了互联?网DNS根?服务器的地?址信息);获取了根域?名服务器地?址后Loc?al DNS向根?域名服务器?发起DNS?解析请求,根域名服务?器返回co?m顶级域名?服务器地址?;随后Loc?al DNS向c?om域名服?务器发起解?析请求,并得到ta?二级?域名服务器?的地址;Local? DNS向t?aobao?.com二级?域名服务器?发起解析请?求,并最终获得?了www.taoba?的I?P地址信息?;Local? DNS将递?归查询获得?的IP地址?信息缓存并?返回给客户?端;Local? DNS服务?器包含缓存?模块,在实际域名?解析过程中?Local? DNS服务?器会首先查?询缓存,缓存命中且?解析结
显示全部