DNS设置成114.114.114.114还是自动获取更好?那个网速更快?为什么?
DNS设置成114114114114可行,但是自动获取更好(如果路由器已经设置为合适的DNS服务器地址的话)。不同地区的用户,适用的DNS服务器地址不同,速度需要用户通过比较才能确定。如果DNS服务器设置不当,可能会导致网速慢、弹窗广告、网址打不开、打开不是自己想要的网站、劫持等一系列问题。
解决办法:
1、建议使用ISP默认分配的DNS,只有在特别需要的情况下再使用公共DNS。
2、推荐使用的公用DNS服务器,可与ISP分配的DNS服务器做一下比较,选择最合适的使用。
3、DNS服务器的设置:
以WINXP设置为例:
(1)点击 “网上邻居”——“本地连接”——“属性”;
(2)点击本地连接属性窗口中的“Internet协议 (TCP/IP)——属性”;
(3)在“常规”选项卡配置好IP地址、网关及DNS等参数(具体参数可查看路由器说明书或电话问询宽带供应商;如果无线路由设置打开了DCHP,可自动分配正确的IP地址的话,则可将IP地址及DNS等均设置为“自动搜索获得”)。
扩展资料
当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,就无法通过域名访问相应的站点了,这就是DNS解析故障。出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。
用nslookup(网路查询)来判断是否真的是DNS解析故障:
要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。
第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入nslookup命令后回车,将进入DNS解析查询界面。
第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的DNS服务器IP为202106020。
第四步:接下来输入无法访问的站点对应的域名。假如不能访问的话,那么DNS解析应该是不能够正常进行的,会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明本地计算机确实出现了DNS解析故障。
参考资料:
、背景
域名系统(Domain Name System,DNS)是互联网的重要基础设施之一,负责提供域名和IP地址之间的映射和解析,是网页浏览、电子邮件等几乎所有互联网应用中的关键环节。因此,域名系统的稳定运行是实现互联网正常服务的前提。近年来,针对域名系统的网络攻击行为日益猖獗,DNS滥用现象层出不穷,再加上DNS协议本身固有的局限性,域名系统的安全问题正面临着严峻的考验。如何快速有效的检测域名系统的行为异常,避免灾难性事件的发生,是当今域名系统乃至整个互联网所面临的一个重要议题。
DNS服务器通过对其所接收的DNS查询请求进行应答来实现对外域名解析服务,因此DNS查询数据流直接反映了DNS服务器对外服务的整个过程,通过对DNS流量异常情况的检测可以对DNS服务器服务状况进行有效的评估。由于导致DNS流量异常的原因是多方面的,有些是由针对DNS服务器的网络攻击导致的,有些是由于DNS服务系统的软件缺陷或配置错误造成的。不同的原因所引起的DNS流量异常所具备的特征也各不相同,这给DNS流量异常检测带来了诸多困难。
目前,在DNS异常流量检测方面,比较传统的方法是对发往DNS服务器端的DNS查询请求数据流中的一个或多个测量指标进行实时检测,一旦某时刻某一指标超过规定的阈值,即做出流量异常报警。这种方法虽然实现简单,但是仅仅通过对这些指标的独立测量来判定流量是否异常过于片面,误报率通常也很高,不能有效的实现异常流量的检测。
近年来,随着模式识别、数据挖掘技术的发展,开始有越来越多的数据模型被引入到DNS异常流量检测领域,如在[Tracking]中,研究人员通过一种基于关联特征分析的检测方法,来实现对异常DNS服务器的识别和定位;[Context]则引入了一种上下文相关聚类的方法,用于DNS数据流的不同类别的划分;此外,像贝叶斯分类[Bayesian]、时间序列分析[Similarity]等方法也被先后引入到DNS异常流量检测中来。
不难发现,目前在DNS异常流量检测方面,已有诸多可供参考利用的方法。但是,每种方法所对应的应用场合往往各不相同,通常都是面向某种特定的网络攻击活动的检测。此外,每种方法所采用的数据模型往往也比较复杂,存在计算代价大,部署成本高的弊端。基于目前DNS异常流量检测领域的技术现状,本文给出了两种新型的DNS流量异常检测方法。该两种方法能够有效的克服目前DNS异常流量检测技术所存在的弊端,经验证,它们都能够对DNS流量异常实施有效的检测。
2、具体技术方案
1)利用Heap’sLaw检测DNS流量异常
第一种方法是通过利用Heap’s定律来实现DNS流量异常检测。该方法创新性的将DNS数据流的多个测量指标进行联合分析,发现它们在正常网络状况下所表现出来的堆积定律的特性,然后根据这种特性对未来的流量特征进行预测,通过预测值和实际观测值的比较,实现网络异常流量实时检测的目的。该方法避免了因为采用某些独立测量指标进行检测所导致的片面性和误报率高的缺点,同时,该方法具有计算量小,部署成本低的特点,特别适合部署在大型DNS服务器上。
堆积定律(Heap’sLaw)[Heap’s]最早起源于计算语言学中,用于描述文档集合中所含单词总量与不同单词个数之间的关系:即通过对大量的英文文档进行统计发现,对于给定的语料,其独立的单词数(vocabulary的size)V大致是语料大小N的一个指数函数。随着文本数量的增加,其中涉及的独立单词(vocabulary)的个数占语料大小的比例先是突然增大然后增速放缓但是一直在提高,即随着观察到的文本越来越多,新单词一直在出现,但发现整个字典的可能性在降低。
DNS服务器通过对其所接收的DNS查询请求进行应答来实现对外域名解析服务。一个典型的DNS查询请求包由时间戳,来源IP地址,端口号,查询域名,资源类型等字段构成。我们发现,在正常网络状况下,某时间段内DNS服务器端所接收的DNS查询请求数和查询域名集合的大小两者间遵循堆积定律的特性,同样的,DNS查询请求数和来源IP地址集合的大小两者间也存在这种特性。因此,如果在某个时刻这种增长关系发生突变,那么网络流量发生异常的概率也会比较高。由于在正常网络状况下DNS服务器端所接收的查询域名集合的大小可以根据这种增长关系由DNS查询请求数推算得到。通过将推算得到的查询域名集合大小与实际观测到的查询域名集合的大小进行对比,如果两者的差值超过一定的阈值,则可以认为有流量异常情况的发生,从而做出预警。类似的,通过将推算得到的来源IP地址集合大小与实际观测到的来源IP地址集合的大小进行对比,同样可以达到异常流量检测的目的。
由于DNS流量异常发生时,DNS服务器端接收的DNS查询请求通常会异常增多,但是单纯凭此就做出流量异常的警报很可能会导致误报的发生。此时就可以根据观测查询域名空间大小的相应变化情况来做出判断。如果观测到的域名空间大小与推算得到的预测值的差值在允许的阈值范围之内,则可以认定DNS查询请求量的增多是由于DNS业务量的正常增长所致。相反,如果观测到的域名空间大小未发生相应比例的增长,或者增长的幅度异常加大,则做出流量异常报警。例如,当拒绝服务攻击(DenialofService)发生时,攻击方为了降低本地DNS缓存命中率,提高攻击效果,发往攻击对象的查询域名往往是随机生成的任意域名,这些域名通常情况下不存在。因此当该类攻击发生时,会导致所攻击的DNS服务器端当前实际查询域名空间大小异常增大,与根据堆积定律所推算出预测值会存在较大的差距,即原先的增长关系会发生突变。如果两者间的差距超过一定的阈值,就可以据此做出流量异常报警。
通过在真实数据上的测试和网络攻击实验的模拟验证得知,该方法能够对常见的流量异常情况进行实时高效的检测。
2)利用熵分析检测DDoS攻击
通过分析各种网络攻击数据包的特征,我们可以看出:不论DDoS攻击的手段如何改进,一般来说,各种DDoS工具软件所制造出的攻击都要符合如下两个基本规律:
1、攻击者制造的攻击数据包会或多或少地修改包中的信息;
2、攻击手段产生的攻击流量的统计特征不可能与正常流量一模一样。
因此,我们可以做出一个大胆的假设:利用一些相对比较简单的统计方法,可以检测出专门针对DNS服务器的DDoS攻击,并且这中检测方法也可以具有比较理想的精确度。
“熵”(Entropy)是德国物理学家克劳修斯(RudolfClausius,1822~1888)在1850年提出的一个术语,用来表示任何一种能量在空间中分布的均匀程度,也可以用来表示系统的混乱、无序程度。信息理论创始人香农(ClaudeElwoodShannon,1916~2001)在1948年将熵的概念引入到信息论中,并在其经典著作《通信的数学原理》中提出了建立在概率统计模型上的信息度量,也就是“信息熵”。熵在信息论中的定义如下:
如果在一个系统S中存在一个事件集合E={E1,E2,…,En},且每个事件的概率分布P={P1,P2,…,Pn},则每个事件本身所具有的信息量可由公式(1)表示如下:
熵表示整个系统S的平均信息量,其计算方法如公式(2)所示:
在信息论中,熵表示的是信息的不确定性,具有高信息度的系统信息熵是很低的,反过来低信息度系统则具有较高的熵值。具体说来,凡是导致随机事件集合的肯定性,组织性,法则性或有序性等增加或减少的活动过程,都可以用信息熵的改变量这个统一的标尺来度量。熵值表示了系统的稳定情况,熵值越小,表示系统越稳定,反之,当系统中出现的不确定因素增多时,熵值也会升高。如果某个随机变量的取值与系统的异常情况具有很强的相关性,那么系统异常时刻该随机变量的平均信息量就会与系统稳定时刻不同。如果某一时刻该异常情况大量出现,则系统的熵值会出现较大幅度的变化。这就使我们有可能通过系统熵值的变化情况检测系统中是否存在异常现象,而且这种强相关性也使得检测方法能够具有相对较高的准确度。
将熵的理论运用到DNS系统的DDoS攻击检测中来,就是通过测量DNS数据包的某些特定属性的统计特性(熵),从而判断系统是否正在遭受攻击。这里的熵值提供了一种对DNS的查询数据属性的描述。这些属性包括目标域名长度、查询类型、各种错误查询的分布以及源IP地址的分布,等等。熵值越大,表示这些属性的分布越随机;相反,熵值越小,属性分布范围越小,某些属性值出现的概率高。在正常稳定运行的DNS系统中,如果把查询数据作为信息流,以每条DNS查询请求中的某种查询类型的出现作为随机事件,那么在一段时间之内,查询类型这个随机变量的熵应该是一个比较稳定的值,当攻击者利用DNS查询发起DDoS攻击时,网络中会出现大量的攻击数据包,势必引起与查询类型、查询源地址等相关属性的统计特性发生变化。即便是黑客在发动攻击时,对于发送的查询请求的类型和数量进行过精心设计,可以使从攻击者到目标服务器之间某一路径上的熵值维持在稳定的水平,但绝不可能在所有的路径上都做到这一点。因此通过检测熵值的变化情况来检测DNS系统中异常状况的发生,不仅是一种简便可行的方案,而且还可以具有很好的检测效果。
DNS系统是通过资源记录(ResourceRecord,RR)来记录域名和IP地址信息的,每个资源记录都有一个记录类型(QType),用来标识资源记录所包含的信息种类,如A记录表示该资源记录是域名到IP地址的映射,PTR记录IP地址到域名的映射,NS记录表示域名的授权信息等,用户在查询DNS相关信息时,需要指定相应的查询类型。按照前述思想,我们可以采用DNS查询数据中查询类型的出现情况作为随机事件来计算熵的变化情况,从而检测DDoS攻击是否存在。检测方法的主要内容如图1所示。可以看出,通过比较H1和H2之间的差别是否大于某一个设定的阈值,可以判定系统是否正在遭受DDoS攻击。随着查询量窗口的不断滑动,这种比较会随着数据的不断更新而不断继续下去。检测算法的具体步骤如下所示:
1、设定一个查询量窗口,大小为W,表示窗口覆盖了W条记录。
2、统计窗口中出现的所有查询类型及其在所属窗口中出现的概率,根据公式(2)计算出该窗口的熵H1。
图1熵分析检测方法
3、获取当前窗口中第一条查询记录所属的查询类型出现的概率,求出该类型所对应的增量
4、将窗口向后滑动一条记录,此时新窗口中的第一条记录为窗口滑动前的第二条记录。
5、获得窗口移动过程中加入的最后一条记录所代表的查询类型在原窗口中出现的概率以及对应的增量
6、计算新窗口中第一条记录所对应的查询类型出现在新窗口中出现的概率,以及对应的增量
7、计算新窗口中最后一条记录所属的查询类型在当前窗口出现的概率以及对应的增量
8、根据前面的结果计算窗口移动后的熵:
重复步骤2至步骤8的过程,得到一系列的熵值,观察熵值的变化曲线,当熵值曲线出现剧烈波动时,可以断定此时的DNS查询中出现了异常。
窗口的设定是影响检测算法的一个重要因素,窗口越大,熵值的变化越平缓,能够有效降低误检测的情况发生,但同时也降低了对异常的敏感度,漏检率上升;反之,能够增加检测的灵敏度,但准确性相应的会降低。因此,窗口大小的选择,需要根据实际中查询速率的大小进行调整。
2009年5月19日,多省市的递归服务器由于收到超负荷的DNS查询而失效,中国互联网出现了大范围的网络瘫痪事故,这起事故可以看作是一起典型的利用DNS查询发起的分布式拒绝服务攻击,这种突发的大量异常查询混入到正常的DNS查询中,必然会使DNS查询中查询类型的组成发生变化。我们利用从某顶级结点的DNS权威服务器上采集到的2009年5月19日9:00-24:00之间的查询日志,来检验算法是否能够对DNS中的异常行为做出反应。图2和图3分别是窗口大小为1,000和10,000时所得到的熵变化曲线,图4是该节点的查询率曲线。
图2窗口大小为1,000时熵的变化情况
图3窗口大小为10,000时熵的变化情况
图4查询率曲线
从图2和图3中可以发现,大约从16:00时开始,熵值剧烈上升,这是由于此时系统中查询类型为A和NS的查询请求大量涌入,打破了系统原有的稳定态势,在经历较大的波动之后,又回复到一个稳定值。随着系统中缓存失效的递归服务器不断增多,该根服务器收到的异常数据量逐渐增大,在16:45左右熵值达到一个较低点,此时系统中已经混入了大量的异常查询数据。由于各省递归服务器的缓存设置的不一致,不断的有递归服务器崩溃,同时不断缓存失效的递归服务器加入,一直到21:00左右,这种异常查询量到达峰值,表现为熵值到达一个极低的位置,随着大批递归服务器在巨大的压力下瘫痪,查询数据的组成再次发生剧烈波动,接下来随着大面积断网的发生,异常查询无法到达该根服务器,熵值在经历波动之后又重新回到较稳定的状态,图4中的流量变化也证实了这一点。
图2和图3分别将查询窗口设为1,000和10,000,对比两图可以看出,图2中的熵值变化较为频繁,反映出对DNS异常更加敏感,但同时误检测的几率也较高,图3中熵值的变化相对平缓,对异常情况敏感程度较低,同时误检率也相对较低。
上述例子表明该方法能够及时发现DNS查询中针对DNS服务器的DDoS攻击。将该算法应用到DNS查询流量的实时监测中,可以做到准实时的发现DNS异常从而能够及早采取应对措施。此外,结合使用错误查询类型或者源IP地址等其他属性的分布来计算熵,或是采用时间窗口划分流量等,可以进一步提高异常检测的准确率。
3)利用人工神经网络分类器检测DDoS攻击
针对DDoS攻击检测这样一个典型的入侵检测问题,可以转换为模式识别中的二元分类问题。利用人工神经网络分类器和DNS查询数据可以有效检测针对DNS名字服务器的DDoS攻击。通过分析DNS权威或者递归服务器的查询数据,针对DDoS攻击在日志中所表现出来的特性,提取出若干特征向量,这些特征向量用作分类器的输入向量。分类器选择使用多层感知器,属于神经网络中的多层前馈神经网络。人工神经网络在用于DDoS攻击检测时具有以下显著优点:
1、灵活性。能够处理不完整的、畸变的、甚至非线性数据。由于DDoS攻击是由许多攻击者联手实施的,因此以非线性的方式处理来自多个数据源的数据显得尤其重要;
2、处理速度。神经网络方法的这一固有优势使得入侵响应可以在被保护系统遭到毁灭性破坏之前发出,甚至对入侵行为进行预测;
3、学习性。该分类器的最大优点是能够通过学习总结各种攻击行为的特征,并能识别出与当前正常行为模式不匹配的各种行为。
由于多层感知器具有上述不可替代的优点,因此选择它作为分类器。分类器的输出分为“服务正常”和“遭受攻击”两个结果,这个结果直接反应出DNS服务器是否将要或者正在遭受DDoS攻击。如果检测结果是“遭受攻击”,则相关人员可以及时采取措施,避免攻击行为的进一步发展。
图5DDoS攻击检测
如图5所示,本检测方法主要分为特征提取、模型训练和线上分类三个阶段。在特征提取阶段,需要利用DNS查询数据中已有的信息,结合各种DNSDDoS攻击的特点,提取出对分类有用的特征。模型训练阶段是通过大量的特征数据,模拟出上百甚至上千的DDoS攻击序列,对多层感知器进行训练,多层感知器在训练过程中学习攻击行为的特征,增强识别率。线上分类属于应用阶段,利用软件实现将本方法部署在DNS权威或递归服务器上。通过实时读取DNS查询数据,并将经过提取的特征输入到多层感知器中,就可以快速地识别出本服务器是否将要或正在遭受DDoS攻击,以便采取进一步防范措施。
多层感知器分类的精确率,在很大程度上取决于作为输入的特征向量是否能够真正概括、体现出DDoS攻击的特征。本方法通过仔细分析各种DNSDDoS攻击,以分钟为时间粒度提取出八种能够单独或者联合反映出攻击的特征:
1、每秒钟DNS查询量。这个特征通过对每分钟查询量进行平均获得;
2、每分钟时间窗口内查询率的标准差。公式如下:
其中,n表示每分钟内查询数据中记录的秒数,Xi表示某一秒钟的查询量,m表示一分钟内每秒钟查询量的均值;
3、IP空间大小。表示一分钟内有多少个主机发出了DNS查询请求;
4、域名空间大小。表示一分钟内有多少域名被访问;
5、源端口设置为53的查询数量。由于某些针对DNS的DDoS攻击将源端口设置为53,因此对这一设置进行跟踪十分必要;
6、查询记录类型的熵的变化情况。公式如下:
其中n表示时间窗口内记录类型的种类数,Pi表示某种记录类型出现的概率,Xi表示某种记录类型。
7、设置递归查询的比例。由于某些DDoS攻击会通过将查询设置为递归查询来增大攻击效果,因此对这一设置进行跟踪十分必要;
8、域名的平均长度。由于某些DDoS攻击所查询的域名是由程序随机产生的,这必然在查询数据上引起域名平均长度的变化,因此对域名的平均长度进行跟踪也很有意义。
图6人工神经网络分类器的结构
神经网络分类器的大致结构如图6所示。如图中所示,本分类器分为三个层次,一个输入层,一个隐藏层,一个输出层。输入层包含八个单元,隐藏层包含20个单元,按照神经网络理论[3],隐藏层的单元数和输入层的单元数应满足以下关系:
H表示隐藏层单元数,N表示输入层单元数。输出层只含有一个单元,输出值包含两个:“1”表示“遭受攻击”,“0”表示“服务正常”。
本检测方法的关键技术点包括以下两个方面:
1、特征的抽取。这些特征必须能够充分、足够地反映DDos攻击发生时带来的查询状况的改变;
2、学习、分类方法。选取多层感知器作为分类器,设计调整了该分类器的具体结构和相关参数,并利用后向传播算法对分类器进行训练。通过将DDoS攻击检测问题转化为包含“服务正常”和“遭受攻击”两种类别的二元分类问题,能够有效地对DNSDDoS攻击进行实时检测。
解决DNS解析故障的方法
用nslookup来判断是否真的是DNS解析故障:要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。
第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入nslookup命令后回车,将进入DNS解析查询界面。如图1
图1
第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的DNS服务器IP为2021021543。
第四步:接下来输入你无法访问的站点对应的域名。例如笔者输入wwwbaiducom,假如不能访问的话,那么DNS解析应该是不能够正常进行的,我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。如图2(此图为可以解析时的截图,可以看出,反悔了服务器的ip)
查询DNS服务器工作是否正常:
这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。
第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入ipconfig /all命令来查询网络参数。
第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的DNS服务器地址即可解决问题。如图3(这是ipv6的格式,采用16进制,128位):
第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决DNS服务器上的DNS服务故障,一般来说问题也能够解决。
清除DNS缓存信息法:
当计算机对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。
第一步:通过“开始->运行->输入CMD”进入命令行模式。
第二步:在命令行模式中我们可以看到在ipconfig /中有一个名为/flushdns的参数,这个就是清除DNS缓存信息的命令。如图4:
图4
第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。
第四步:接下来我们再访问域名时,就会到DNS服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了
修改HOSTS文件法:
修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。
这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
第一步:通过“开始->搜索”,然后查找名叫hosts的文件。
第二步:当然对于已经知道他的路径的读者可以直接进入c:\windows\system32\drivers\etc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:\winnt\system32\drivers\etc目录中寻找。
第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。
第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“172001 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)
第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的IP地址,然后空格接域名信息。例如笔者添加了“211153801 wwwftedugovcn”与“108201 wwwftedugovcn”两个条目。
第六步:设置完毕后我们访问wwwftedugovcn时就会自动根据是在内网还是外网来解析了。
命令提示符输入netsh winsock reset重启电脑
DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色。接下来我就带您走入DNS的世界,详细了解DNS服务器的工作原理及其过程,希望能够给各位朋友带来一些帮助。
了解DNS服务
DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP 地址信息。
用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computerbookshopcom,因为,这样的名称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机或服务名称映射为IP地址。
DNS服务的工作过程
当 DNS 客户机需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
● 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
● 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
● DNS域名的指定类别。
对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如hostahellocompanycom,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS 查询当作客户机向服务器提出的两部分问题,如“对于名为 hostnamehellocompanycom 的计算机,你有没有地址资源记录”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的 IP 地址。
DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
总之,DNS 的查询过程按两部分进行:首选,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询DNS服务器来解析名称。
如查询过程的初始步骤所示,DNS 域名由本机的程序使用。该请求随后传送至 DNS 客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地
解析程序的缓存可从以下2个可能的来源获取名称信息:
● 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS 客户服务启动时预先加载到缓存中。
● 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。
如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询 DNS 服务器来解析名称。
接下来查询 DNS 服务器,当本地的DNS不能就地解析查询时,可根据需要查询 DNS 服务器来解析名称。如图4-1所示,客户机将查询首选 DNS 服务器。在此过程中使用的实际服务器是从全局列表中选择的。当 DNS 服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。
如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。
如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如下图所示。
为了使 DNS 服务器正确执行,首先需要在DNS 域名空间内存放其他DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些 DNS 服务器,这些服务器对 DNS 域名空间树的根具有绝对控制权。根服务器对 DNS 域名空间树中的根域和域具有绝对控制权。DNS 服务器可通过使用根线索搜索根服务器来完成递归过程。
例如,当客户机查询单个DNS服务器时,考虑使用递归过程来定位名称 hostexamplemicrosoftcom。此过程在 DNS 服务器和客户机首次启动,并且没有可帮助解析名称查询的当地缓存信息时进行。
首先,首选服务器分析全名并确定对于域com具有绝对控制权的服务器的位置。随后,对com DNS 服务器使用迭代查询,以获取microsoftcom服务器的参考信息。然后参考性应答从microsoftcom服务器传送到examplemicrosoftcom的 DNS 服务器。最后,与服务器 examplemicrosoftcom 联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。
0条评论