域名解析系统生存时间值的研究

2017-07-05 13:55时长江孟晓青胡炜张萍刘国梁徐君郭曙超
质量安全与检验检测 2017年1期
关键词:域名主干客户端

时长江孟晓青*胡炜张萍刘国梁徐君郭曙超

(1.山东出入境检验检疫局山东青岛266001;2.青岛出入境检验检疫局)

域名解析系统生存时间值的研究

时长江1孟晓青1*胡炜2张萍1刘国梁1徐君1郭曙超1

(1.山东出入境检验检疫局山东青岛266001;2.青岛出入境检验检疫局)

中国电子检验检疫主干系统上线运行后,部分客户端在网络畅通的情况下时而出现“目前网络拥堵或服务器断开,请稍后”的提示。本文分析了中国电子检验检疫主干系统域名解析系统的工作流程,基于实验和网络监控数据找出了域名解析系统的生存时间值设置过小是导致上述问题的主要原因。通过增大生存时间值,既解决了上述问题,又保持了线路和应用负载均衡的工作机制。

中国电子检验检疫;域名解析系统;生存时间值

1 前言

国家质量监督检验检疫总局(下称“质检总局”)中国电子检验检疫(e-CIQ)主干系统的推广应用实现了全国检验检疫数据和业务的大集中管理,进一步强化了质检总局对全国检验检疫业务的统一指挥、统一风险预警、统一决策的能力,提高了信息共享水平,提升了执法把关和服务水平。e-CIQ主干系统部署在北京双活中心,实现了网络双活、应用双活、数据库双活和存储双活,各直属局利用两台核心路由器,通过联通和移动双线路分别与总局双活中心连接。当e-CIQ客户端每次应用请求时,都要向双活中心发起域名解析请求,申请进入双活中心应用服务器的IP地址,e-CIQ主干系的域名解析系统(DNS)按照负载均衡的原则,对所有请求进行智能分析并自动分配给每个e-CIQ客户端访问应用服务器IP地址。

2 问题现象

在e-CIQ主干系统培训环境和上线运行过程中,部分客户端时而出现如图1的提示。造成该提示的原因可能包括:网络拥堵、域名解析错误、应用服务器响应超时等。在网络畅通下,当出现该提示时,e-CIQ客户端使用ping eciq.aqsiq(内置在e-CIQ客户端的域名)测试发现无法ping通,直接ping IP地址可以ping通。

图1 网络拥堵错误提示

该提示带来如下问题:①影响业务流畅度,客户体验感不佳;②在集中审单和现场查验等环节容易造成系统死锁,需要管理员解锁才能继续使用,影响使用效率;③有的用户为避免频繁出现这样错误提示,在e-CIQ客户端的设置界面强行设置一个应用服务器的IP地址,应用系统只跑一条线路,只使用一个数据中心的资源,导致双活机制不能启用,系统无法实现负载均衡,造成资源浪费;④部分使用者根据提示误导为就是网络拥堵问题,影响了e-CIQ主干系统的推广应用。

3 问题分析

3.1 DNS工作原理

DNS是网络中作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而不用去记住各网站的IP地址。通过主机名最终得到该主机名与对应IP地址的过程叫做域名解析[1],DNS会将最终域名解析的结果缓存至本地,域名解析时设置生存时间(Time-To-Live,TTL),TTL内域名记录驻留在本机内存。主机进行域名解析申请时先从本机获取解析记录,本机缓存里在TTL指定的时间存有解析记录,此时主机直接使用该记录。如果TTL时间过期,本机就需要重新向DNS服务器请求解析域名[2]。

3.2 DNS解析流程

DNS服务器按层级关系可分为根域DNS服务器和子域DNS服务器,当根域DNS服务器中不存在需解析域名对应的记录时,将向其子域DNS服务器进行查询。在e-CIQ主干系统中,质检总局DNS服务器就设置两层,根域DNS服务器为总局DNS服务器,子域DNS服务器为双活DNS服务器。质检总局根DNS服务器通过配置NS记录,将shua nghuo.aqsiq域的解析授权给ns1.shuanghuo.aqsiq及ns2.shuanghuo.aqsiq。同时,为了实现xxx.aqsiq这种“短”域名的访问方式,根域DNS需要将这种短域名方式配置成CNAME别名记录,真实域名采用xxx.shuanghuo.aqsiq,其解析流程如图2所示。

图2 e-CIQ主干系统DNS解析流程图

3.3 DNS解析步骤分析

在e-CIQ主干系统中,域名解析的步骤如下:

步骤1:e-CIQ客户端提出域名解析请求,首先递归查询本机HOST文件,由于双活设置,本机HOST文件中不存放该信息。系统再查询本机DNS缓存,如果TTL值未到期,缓存中有该记录,则向e-CIQ客户端返回域名解析结果。

步骤2:如果第一次或是TTL值到期,本机缓存中不存在DNS解析信息,则本机向本机DNS服务器(local DNS server)发起域名解析的迭代查询。

步骤3:本机DNS服务器发送请求至质检总局根DNS服务器,根域DNS服务器不存在该域名解析纪录。

步骤4:根DNS服务器返回该域名的查询子域(双活系统DNS服务器shuanghuo.aqsiqDNS server)给本机DNS服务器。

步骤5:本机DNS服务器向双活系统DNS服务器发起解析请求,双活系统DNS服务器查询到解析记录,并设置该解析记录的TTL值,即IP地址与域名对应表和有效期。

步骤6:双活系统DNS服务器返回本机DNS服务器其查询到的DNS解析记录。

步骤7:本机DNS服务器返回解析记录给e-CIQ客户端,e-CIQ客户端根据返回TTL生存时间确定在本机缓存中IP地址与域名对应关系的存留时间。

通过以上分析,在网络畅通情况下,出现如图1所示的提示,其原因不是网络线路问题,很有可能是DNS的TTL值设置不当所导致。

4 实验内容

根据e-CIQ主干系统的DNS解析流程,通过实验设备和监控软件跟踪e-CIQ客户端出现图1提示时域名解析的各种数据,验证并比较TTL值设置大小对系统的影响。

4.1 实验设备

山东出入境检验检疫局(下称“山东检验检疫局”)1台配置WIN7操作系统的电脑,安装e-CIQ中国电子检验检疫主干系统客户端生产环境,安装抓包工具Wireshark V2.2.0版本;在山东检验检疫局e-CIQ广域网络出口处的核心交换机放置镜像端口,旁路部署1台深信服安全审计设备,对e-CIQ客户端应用的流量进行监控;总局双活中心部署勤智网管软件。

4.2 实验方法

4.2.1 TTL值改变前

首先e-CIQ客户端电脑启动wireshark抓包工具,其次在DOS状态下通过ping eciq.aqsiq(该域名内置在e-CIQ客户端配置文件中)和ipconfig/displaydns命令得到双活中心应用服务器的CNAME记录。该记录显示eciq.aqsiq对应的长域名为:eciq.shuanghuo.aqsiq。通过ping eciq.shuanghuo.aqsiq和ipconfig/displaydns命令,得到e-CIQ客户端DNS解析的A记录,其TTL值随机为1-40 s。如图3所示,抓包数据所示解析的TTL至仅为7 s,DNS解析记录几乎不在缓存中驻留,每次应用请求时,都需要通过图2所示的流程去获取IP地址。

图3 DNS解析抓包数据的结果

在e-CIQ客户端机器上测试,启动e-CIQ主干系统前清空DNS(ipconfig/flushdns,模拟DNS的TTL值过期)。通过抓包工具可以看到启动时系统请求DNS解析,如果其中TTL值小于60 s,DNS解析记录在e-CIQ客户端登陆到主界面时已经清空。进入业务界面每次进行数据请求时,如果DNS已经清空,系统每次都会进行DNS解析请求,执行3.3的步骤1-步骤7。如果DNS记录保留,e-CIQ客户端进行数据请求时,抓包工具监控到系统不再请求DNS解析,直接与双活数据中心进行交互,仅执行3.3的步骤1。如图4抓包截图所示,如果DNS记录在缓存中,系统则不再发出DNS解析请求。

图4 e-CIQ启动时无DNS请求的截图

4.2.2 TTL值改变后

将双活中心域名解析服务器的TTL值增大后,在山东检验检疫局e-CIQ客户端机器启动wireshark抓包工具,再启动e-CIQ客户端软件,抓包截图所如图5示。系统在启动时发起了DNS解析请求,其TTL值为22471 s,在其后业务访问中再没有出现DNS解析请求的数据。说明DNS记录保存在了机器缓存中,系统请求仅执行3.3的步骤1。

图5 TTL值增大后DNS请求抓包结果

4.2.3 实验结果分析

TTL值增大前,e-CIQ主干系统双活系统的DNS服务器设置TTL值为60 s,返回e-CIQ主干系统客户端的DNS TTL过短。当e-CIQ客户端请求e-CIQ应用时,DNS缓存中存放的域名eciq.aqsiq与IP地址的对应关系失效,需要按照3.3步骤1-7执行。山东检验检疫局按每天1000台e-CIQ客户端访问e-CIQ主干系统,每台e-CIQ客户端数据请求量平均按照50次/天,直属局DNS、质检总局大通关DNS和双活中心DNS就各需要工作5万次;全国35个直属局同时工作时,域名解析环节多且请求频繁,当中间某个环节出现延时,就有可能会出现图1所示的提示。

双活数据中心的DNS的TTL值调大后,在网络畅通的情况下,山东检验检疫局各e-CIQ客户端没有再出现如图1所示的提示。只有网络不畅通时,该提示才会出现。通过对山东检验检疫局本地流量监控和总局流量监控反馈情况看,修改TTL值后,双活系统的负载基本均衡。

从对流量负载的监控数据来看,山东检验检疫局e-CIQ客户端瞬时访问双活中心的应用基本保持均衡。

e-CIQ主干系统DNS的TTL值增大后,系统性能明显优化。TTL值变化前后内容和性能对比关系如表1所示。

表1 DNS的TTL值增大前后性能对比表

5 结论

在e-CIQ主干系统内,应用服务器地址和域名对应关系基本保持稳定,建议将DNS服务器TTL值设置在1 h以上,这样域名记录会在e-CIQ客户端缓存中存放较长时间,可以减少e-CIQ客户端DNS请求频率,从而提高应用服务器访问效率,减轻DNS服务器的负担。在网络畅通情况下,不再出现如图1所示的错误提示,同时保持了应用和线路的负载均衡。

[1]郑亚,谢琳.DNS的原理及其应用[J].软件导刊,2012,11(6):133-135.

[2]罗学君,张汝元.DNS相关的减少WWW访问延迟的方法[J].计算机工程与应用,2002,38(15):225-227.

[3]平立,沈军.异构分布式环境下DNS动态负载均衡模型研究[J].计算机应用与软件,2006,23(11):16-18.

Study on the DNS’s TTL Value

SHI Changjiang1,MENG Xiaoqing1*,HU Wei2,ZHANG Ping1,LIU Guoliang1,XU Jun1,GUO Shuchao1
(1.Shandong Entry-Exit Inspection and Quarantine Bureau,Qingdao,Shandong,266001;2.Qingdao Entry-Exit Inspection and Quarantine Bureau)

After the e-CIQ backbone system running on line,some e-CIQ clients sometimes prompt"the current network congestion or server disconnection,please wait a moment."This paper analyzes the DNS working process of e-CIQ system.Basing on the experiment and network monitoring data,this paper finds the reason for the prompt,which is the TTL survival value setting too small.Through increasing the DNS TTL value,the problem has been solved.At the same time the load balances of the network line and application system have been maintained.

e-CIQ;DNS;Time-To-Live

F224

Email:shicj@sdciq.gov.cn;*通讯作者Email:mengxq@sdciq.gov.cn

2016-10-11

猜你喜欢
域名主干客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
抓主干,简化简单句
《江苏教育研究》官方网站域名变更公告
如何看待传统媒体新闻客户端的“断舍离”?
左主干闭塞的心电图表现
左主干病变心电图特征的研究进展
新华社推出新版客户端 打造移动互联新闻旗舰
顶级域名争夺战:ICANN放出1930个通用顶级域名,申请者有上千家