作者:张毅
1 引言
DNS(domain name system,域名系统)作为承载全球亿万域名正常使用的系统,是互联网的基础设施,是广大用户访问互联网的入口,其服务质量和解析准确性对业务使用至关重要。如今较大ICP (intemet contentprovider,互联网内容提供商)的站点通常在不同的地方设有镜像,用户需要能访问离自己最近的服务器,方能获得最好的服务体验。设置智能解析功能可以返回给用户较优的解析结果(即网络距离最近的目的地址),从而可以解决或者减轻由于流量长途穿越拥塞的网络而造成的网站信息访问质量问题。为了可以向用户提供高速、准确的域名解析,大型网络运营商都会组建自身的DNS节点,为用户提供直接服务,也需要构建符合运营商本身特点的智能解析方案。本文对大型运营商如何在DNS节点的缓存、递归设备运用的智能解析关键技术以及如何进行优化提升进行了探讨,以不断完善DNS的智能解析效率。
2运营商实施智能解析的必要性
随着移动、宽带互联网应用的迅猛发展,对于智能解析的准确性、高速性要求进一步提升。ICP的解析策略需要结合各个不同网络运营商的用户群IP地址归类,在这方面ICP有可能存在信息不全、不够准确的问题。不同的运营商有各自的网络资源,如果中国电信集团公司的用户访问了中国移动通信集团公司网络内部的资源,用户就会感觉访问的网站变慢,有时候还会发生访问不到的情况。因此对于大型网络运营商来说,如何结合ICP权威的解析,更好地给本网用户返回更快、最优的域名解析结果,即实现和提高DNS智能解析的准确性和效率,对于提升用户感知具有越来越重要的意义。运营商有必要在本网DNS实施和优化智能解析技术。
DNS智能解析可以智能判断访问网站的用户,然后根据不同的访问者把域名对应解析成最优的服务地址。例如中国电信股份有限公司广东分公司(以下简称广东电信)的某个用户,访问的域名是www.qq.com,智能解析系统会将该域名在广东电信的服务器优先返回给用户,如果该域名在广东电信没有部署服务器或者服务器不可用,智能解析系统会将该域名在中国电信集团公司网内的其他服务器优先返回给用户。
运营商进行智能解析系统的策略配置灵活,主要有以下优点:
·根据就近原则配置解析策略,可以直接给用户返回 距离用户自己最近的服务器或CDN (contentdelivery network.内容分发网络)机房的资源,提升用户的访问速度,提升用户体检;
·根据不同运营商配置解析策略,可以有效减少网间结算,降低运营成本;
·可以方便、灵活地实现网内资源的负载均衡,实现
网内资源的综合调度。
3运营商DNS智能解析关键技术
3.1 智能解析功能
智能解析应包括以下技术及功能:
·基于IP地址段智能递归查询选择,即记录基于不同IP地址段智能选择递归查询设备的过程,实现对递归查询请求的分流、减荷和引导;
·基于区域智能域名解析,记录DNS请求根据不同区域返回最优解析结果的过程;
·基于用户群智能域名解析,记录DNS请求根据不同用户群返回最优解析结果的过程;
·基于网络智能域名解析,记录当一个域名有多个结果IP地址的情况下,使用基于网络的智能解析,能把属于本网的结果IP地址优先返回给用户。
运营商的DNS服务节点内包括DNS缓存设备、DNS递归设备两种服务器设备。其中,缓存服务器缓存互联网域名解析结果,直接面向用户提供解析结果;在缓存设备系统中未查找到缓存应答结果的DNS请求,就会将其透传给递归设备,递归服务器向ICP权威服务器进行域名查询并将解析结果存入DNS缓存服务器,DNS服务节点智能解析的逻辑功能如图1所示。
3.2缓存设备的智能解析关键技术
运营商的DNS缓存设备面向访问用户,为其提供直接的DNS基本解析服务,按照服务对象的类型划分缓存视图分区,不同的视图提供不同的解析结果。服务对象通常有以下类型:固网用户、移动网用户、高质量用户、特定的区域用户。服务用户的属性目前以用户的IP地址段进行区分,即事先根据用户IP地址段划分不同的分组,可以根据网络运营者进行分组定义,以IP地址段区分固网用户、移动用户、某地市区域用户等。
缓存设备主要通过缓存视图实现智能解析技术。在不同的视图中,可以再将用户细化到不同的分组中,不同的分组返回不同的智能解析结果。例如,对于普通的固网用户.可以按照省份或者所属运营商等不同的维度,细化到不同的分组,不同的分组按照智能解析策略优先返回不同的解析结果。
主要技术方案如下。
(1)基于区域智能域名解析
可以对某域名的DNS请求按照不同的网络区域范围.返回最优的解析结果,以提高解析速度及用户业务体验。
(2)基于用户群智能域名解析
可以对某域名的DNS请求按照用户群返回不同的结果,例如:QQ等网站为基本宽带用户群和4G用户群设置不同的网站,系统可以基于基本宽带用户群和4G用户群返回不同的服务地址,以提高用户的业务体验。
(3)基于网络智能域名解析
当解析一个域名返回多个结果时,可能包括外省或其他运营商的IP地址,这时希望总是把本网的IP地址返回给用户,那么可以使用基于网络的智能解析,把本网的IP地址优先返回给用户。
(4)全局或IP地址段强制域名解析
强制域名解析功能(分为全局强制域名解析和IP地址段强制域名解析两种)可以实现对源为全局IP地址或特定IP地址段的在查询某些特殊的域名,返回预设的解析结果,既不从缓存中查询,也不进行后端查询和proxy查询,从而加快服务器的解析速度,提高了服务器的有效负载,解决了安全隐患问题。
(5)泛地址域名解析
泛地址域名解析功能将前缀不确定的域名统一解析成预设的地址,为DNS网管人员提供了一种便捷、高效的方法.能对相应部门发现的有问题域名进行封堵(如不法分子利用DNS发布对国家有害的信息、网上赌博、域名攻击行为等)。
3.3递归设备的智能解析关键技术
在电信运营商的DNS节点中,缓存设备和递归设备是紧耦合的方式,递归设备为本地缓存设备服务,在缓存设备系统中未查找到缓存应答结果的DNS请求,就会将其透传给递归设备。递归服务器负责查询ICP权威服务器或联系其他DNS服务器,并随后将返回的查询结果存人DNS缓存服务器。递归设备智能解析实现的关键技术功能主要如下。
(1)基于IP地址段智能递归选择
缓存设备根据域名查询的用户属性,将不同用户的DNS请求智能调度到相关的递归设备中。实现对递归查询请求进行分流和引导,递归服务器采用特定的服务地址向权威服务器进行递归域名查询,从而获取最优的解析结果。
(2)递归设备间的智能调度
应用递归服务器的智能调度,除了可以很好地实现各个递归服务器之间的负载均衡外,还可以结合网络距离、运营商等策略,实现用户DNS请求的就近递归解析或者本网递归解析等。
4运营商DNS的智能解析优化方案
4.1 利用缓存模块化视图技术进行智能解析的优化
面对日益复杂的全网资源按需调度需要以及高质量用户所需求的高质量用户体验,采用模块化图技术,以用户属性为维度,划分缓存模块视图,不同维度的用户群可以获取不同的DNS应答结果,每个维度单独维护自己的DNS缓存结果。用户属性识别通过用户的DNS查询报文的源IP地址进行区分。在定制智能解析策略前,首先需要定义用户属性的分组,以不同用户的源IP地址段为依据进行分组,例如分组1为广州市用户、分组2为深圳市用户、分组Ⅳ为高质量用户等。
DNS模块化缓存视图原理如图2所示,用户识别模块将DNS域名记录数据以用户属性为维度划分不同的组.DNS缓存设备接收到用户的报文即可从源IP地址判断其所属分组;DNS缓存同样以用户分组为维度,对应不同的分片缓存,相同域名的分片缓存以红黑树的形式关联在一起。不同的分片缓存存储对应用户属性的最优DNS应答结果,保证每个不同用户都能够得到最优的应答结果,提高用户的上网体验。
模块化缓存视图技术的主要优势如下。
(1)简单性
每一种属性的用户群有对应的视图进行服务,在缓存服务器的功能实现和系统管理方面都具有可操作性、易于管理等特点。
(2)安全性
通过视图,用户只能看到和查询它所对应的视图及域名数据,对于其他视图,用户无法获取结果。
(3)不同模块可以匹配不同的对外DNS服务地址
为了进一步提升缓存视图的不同维度分组服务能力,运营商所应用的缓存视图技术,不但可以匹配用户源地址段所对应的不同分组,也可以匹配用户所访问的不同DNS服务地址,进行不同的分组划分,即同一个DNS缓存服务器,可以配置多个不同的对外服务地址,多个不同的服务器地址可以关联对应的模块化视图(例如两个不同的模块化视图可分别配置118.118.118.1和118.118.118.2的服务地址),不同的用户群可能会访问不同的服务器地址,缓存服务器可以根据用户访问的服务地址匹配对应的视图。
4.2利用递归服务器进行按需智能递归调度的智能解析优化
为了配合缓存设备模块视图的解析精确性,需要对本地递归服务器进行按需智能递归算法调度,将DNS请求按需地调度到不同的递归服务器上,得到不同的应答结果。
传统的DNS转发策略都是采用轮询调度算法,轮询调度算法的原理是每一次把来自用户的请求轮流分配给DNS递归服务器,从第1个开始,直到第N(内部服务器个数)个,然后重新开始循环。轮询调度算法的优点是简洁,无需记录当前所有连接的状态,所以是一种无状态调度。
轮询调度算法前提是所有服务器的处理性能都相同,不关注每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,轮询调度算法容易导致服务器间的负载不平衡。所以,此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
DNS智能递归算法考虑到不同DNS递归服务器有不同的处理性能,采用了基于权重的轮询调度算法。由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。
假设有一组服务器S= {So,S1,…,Sn-1),W(Si)表示服务器S的权值,一个指示变量i表示上一次选择的服务器,指示变量cw表示当前调度的权值,max(S)表示集合Is中所有服务器的最大权值,gcd(S)表示集合Js中所有服务器权值的最大公约数。变量i初始化为-1,cw初始化为零。
主要算法流程如图3所示。
通过智能递归技术,可以有效调动不同能力的服务器资源向外进行DNS递归查询,并结合缓存分片视图的联动,进一步提高了智能解析的准确性、高效性、高速性。
4.3现网智能解析优化的效果
缓存模块化视图技术及智能化递归调度技术已经在广东电信的DNS上得以应用,根据广东电信现网的DNS服务节点的域名设备智能解析技术应用情况来看,对于用户域名解析的主要指标(包括缓存命中率、解析成功率、解析时延)都保持了较高的水平,具体数值见表1。
相关指标说明,智能解析技术的应用有力地保证了广大用户的域名解析质量,进而确保了用户上网业务感知。
5结束语
本文对运营商DNS的智能解析方式进行了阐述和分析,并且为了适应互联网流量迅猛发展的需求,结合已有DNS智能解析关键技术,提出了运营商DNS(包括缓存设备、递归设备)智能解析创新优化的方案。主要核心技术在于针对不同设备之间的功能联系,应用模块化缓存分片视图技术、按需递归设备智能调度等技术,实现按区域、用户群、网络等多维度的精细化智能解析,从而为实现互联网、移动网、高质量客户等差异化服务奠定基础。该方案有效地实现了运营商网络DNS的智能化、精细化,确保了用户就近访问ICP站点的要求和差异化服务要求,进而提升了互联网业务访问的可靠性、高安全性和高服务质量。
6摘 要:主要分析了DNS智能解析的原理与优点、运营商DNS智能解析的实现,对涉及的关键技术包括缓存设备与递归设备智能解析技术、缓存视图、智能递归服务器调度进行了研究与分析,根据大型运营商的网络智能化特点,分析并提出了DNS智能解析优化的技术方案,可为运营商DNS的优化发展、建设提供参考。
下一篇:返回列表