dns

DNS 相关资料(一)格式一个DNS 报文(不管是请求包还是应答包)可分为两大部分,不可变部分与可变部分(指长度是否可变)1、其中不可变部分有六个定常域,每个域长2个字节Transaction ID,

DNS 相关资料

(一)格式

一个DNS 报文(不管是请求包还是应答包)可分为两大部分,不可变部分与可变部分(指长度是否可变)

1、其中不可变部分有六个定常域,每个域长2个字节

Transaction ID, Flags, Questions, Anwser RRS , Authority RRs , Additional RRs 六个每个长度为2个字节。

2、可变部分分为四个小部分:问题部分,回答部分,管理机构部分和附加

信息部分

3、报文由12字节的首部和4个长度可变的字段组成。

标识字段由客户程序设置并有服务器返回结果。

16bit 的标志字段 如下:

QR :0表示查询报文,1表示响应报文

Opcode :通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。

AA :表示授权回答(authoritative answer).

TC :表示可截断的(truncated )

RD :表示期望递归

RA :表示可用递归

随后3bit 必须为0

Rcode :返回码,通常为0(没有差错)和3(名字差错)

(二)故障

什么是DNS 解析故障?

网络中会存在自动将相应的域名解析成IP 地址的服务器,这就是DNS 服务器。能够实现DNS 解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS 解析出现错误,例如把一个域名解析成一个错误的IP 地址,或者根本不知道某个域名对应的IP 地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS 解析故障。

出现DNS 解析故障最大的症状就是访问站点对应的IP 地址没有问题,然而访问他的域名就会出现错误。

(1)用nslookup(网路查询) 来判断是否真的是DNS 解析故障:

要想百分之百判断是否为DNS 解析故障就需要通过系统自带的NSLOOKUP 来解决了。

第一步:确认自己的系统是windows 2000和windows xp 以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。

第二步:输入nslookup 命令后回车,将进入DNS 解析查询界面。

第三步:命令行窗口中会显示出当前系统所使用的DNS 服务器地址,例如笔者的DNS 服务器IP 为202.106.0.20。

第四步:接下来输入你无法访问的站点对应的域名。假如不能访问的话,那

,

么DNS 解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS 解析故障。

小提示:如果DNS 解析正常的话,会反馈回正确的IP 地址。

(2)查询DNS 服务器工作是否正常:

这时候我们就要看看自己计算机使用的DNS 地址是多少了,并且查询他的运行情况。

第一步:确认自己的系统是windows 2000和windows xp 以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。

第二步:输入ipconfig /all命令来查询网络参数。

第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS ,这个就是我们的DNS 服务器地址。例如笔者的是202.106.0.20和202.106.46.151。从这个地址可以看出是个外网地址,如果使用外网DNS 出现解析错误时,我们可以更换一个其他的DNS 服务器地址即可解决问题。

第四步:如果在DNS 服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS 解析工作是交给公司内部的DNS 服务器来完成的,这时我们需要检查这个DNS 服务器,在DNS 服务器上进行nslookup 操作看是否可以正常解析。解决DNS 服务器上的DNS 服务故障,一般来说问题也能够解决。

(3)清除DNS 缓存信息法:

当计算机对域名访问时并不是每次访问都需要向DNS 服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS 缓存列表中,如果这时DNS 解析出现更改变动的话,由于DNS 缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS 服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS 解析故障。这时我们应该通过清除DNS 缓存的命令来解决故障。

第一步:通过“开始->运行->输入CMD”进入命令行模式。

第二步:在命令行模式中我们可以看到在ipconfig /?中有一个名为/flushdns的参数,这个就是清除DNS 缓存信息的命令。

第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。

第四步:接下来我们再访问域名时,就会到DNS 服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。

(三)作用

一、在Internet 上域名与IP 地址之间是一对一(或者多对一)的,也可采用DNS 轮循实现一对多,域名虽然便于人们记忆,但机器之间只认IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。

二、DNS ,域名解析系统,并不是一项单纯的服务,而且广泛意义上的全球的域名解析系统,由若干台DNS 服务器以及DNS 成员机组成的这么一个计算机组织。 在域环境中DNS 的作用:

1.以DNS 标准命名(域的命名);

2.支持DC (创建DC 时,要有相应的DNS 的支持);

3.定位DC (加入域时,帮助地球人找到DC )。

标签: