2024年4月30日发(作者:)

本栏目责任编辑:冯蕾

网络通讯及安全

DNS工作原理解析

羊秋玲

(海南大学计算机系,海南儋州

570228

摘要:

DNS

DomainNameSystem

域名解析系统)是因特网的一项核心服务,它作为可以将域名和

IP

地址相互映射的一个分布式数

据库

,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的

IP

数串,本文将结合

Sniffer

工具对

DNS

的工作原理给

予详尽的解析。

关键词

DNS

;工作原理;

Sniffer

中图分类号:

TP393

文献标识码:

文章编号:

1009-3044(2008)10-20035-02

TheAnalysisofWorkingPrincipleofDNS

YANGQiu-ling

(DepartmentofComputer,HainanUniversity,Danzhou570228,China)

Abstract:DNSisacoreserviceoftheinternet,asaDistributionalDatabase,itcanmappingdomainnameandIPaddressesmutually,and

thisfunctionenablepeopletovisitawebsitemoreconviententanddismissfromthememoryoftheIPnumericstringthatcouldberecog-

nizedbythemachines.Inthispaper,IwillcombinetheSniffertooltogiveadetailedanalysisoftheworkingprincipleofDNS.

Keywords:DNS;workingprinciple;Sniffer

引言

域名系统”或“域名解析系统”。它在互联网的作用是:把域名转换成为网络可以识别

DNS(DomainNameSystem)

,译成中文就是“

IP

地址。要知道,互联网的网站都是以一台一台服务器的形式存在的,我们可以使用主机名标识一台主机,也可以使用

IP

地址标

识。互联网上的网站无穷多,人们不可能记得这些

IP

字符串,更愿意使用便于记忆的主机名标识符,而路由器则只愿使用长度固定

并且有层次结构的

IP

地址。因此,这就产生了方便记忆的域名管理系统

DNS

,他可以把我们输入的好记的域名转换为要访问的服

务器的

IP

地址,比如:我们在浏览器输入

www.hainu.edu.cn

,会自动转换成为

210.37.40.9

2DNS

简介

DNS

既是一个在由名称服务器主机构成的层次结构中实现的分布式数据库,又是一个允许客户主机和名称服务器主机通信以

使用域名转换服务的应用层协议。

DNS

协议运行在

UDP

之上,使用端口号

53

。其他应用层协议

例如

HTTP

SMTP,FTP)

普遍使用

DNS

把由用户提供的主机名转换成

IP

地址。

DNS

的命名是为全球性的网络设备分配名字,由分布式名字服务器组实施。比如:海南大学网站的

DomainName

www.hainu.e-

du.cn

,这个

DomainName

当然不是凭空而来的,是从

.edu.cn

所分配下来的。

.edu.cn

又是从

.cn

授予

(delegation)

的。

.cn

是从哪里来的呢?

答案是从“,也就是所谓的“根域”这层是由

InterNIC(InternetNetwork.

(rootdomain)

来的。根领域已经是

DomainName

的最上层。而“

InformationCenter

,互联网信息中心

所管理。全世界的

DomainName

就是这样,一层一层的授予下来。

DNS

的数据报格式如下:

1DNS

的数据报格式

3Sniffer

工具

使用这种工具,可以监视网络的状态、网络的流量以及网络上传输的

Sniffer

中文可译为嗅探器,是一种常用的收集数据的工具。

信息等

,藉此可以发现网络中潜在的问题,

ISS

给予

Sniffer

这样的定义:

Sniffer

是利用计算机的网络接口截获目的地为其他计算机

收稿日期

2008-02-19

作者简介:羊秋玲(

1981-

),女,海南儋州人,海南大学信息学院计算机系教师。

35

网络通讯及安全

本栏目责任编辑:冯蕾

的数据报文的一种工具。下面我们将用它来截获

Client

请求数据来分析

DNS

的工作过程,而捕获数据的过程我们不再赘述。

4DNS

工作原理

DNS

分为

Client

Server

Client

扮演发问的角色,也就是问

Server

一个

DomainName

,而

Server

必须要回答此

DomainName

真正

IP

地址。而当地的

DNS

先会查自己的资料库。如果自己的资料库没有,则会往该

DNS

上所设的的

DNS

询问,依此得到答案之

后,将收到的答案存起来,并回答客户。

DNS

通过授权

(delegation)

来对域进行分散管理。通过授权,一个域可以被划分更小的更好管理的区,每个区都有一个含有该区

中完整信息的名称服务器,这个服务器对该区具有权威

(authority)

DNS

服务器会根据不同的授权区

(Zone)

,记录所属该网域下的各

名称资料,这个资料包括网域下的次网域名称及主机名称。

在每一个名称服务器中都有一个快取缓存区

(Cache)

,这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对

IP

地址记录快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称时,服务器就不用在到别台主机

上去寻找

,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。

综上所述,

DNS

的工作过程可分为下面六个步骤:

)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

)如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名

服务器一个所查询域

(根的子域)的主域名服务器的地址。

)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相

关的下级的域名服务器的地址。

)重复第四步,直到找到正确的纪录。

)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

依以上步骤,假设我们的客户机想要访问站点:

www.gongkong.com

,此客户本地的域名服务器是

dns.company.com

,一个根域名

服务器是

NS.INTER.NET

,所要访问的网站的域名服务器是

dns.gongkong.com,

域名解析的过程如下所示:

)客户机发出请求解析域名

www.gongkong.com

的报文

)本地的域名服务器收到请求后,查询本地缓存,假设没有该纪录,则本地域名服务器

dns.company.com

则向根域名服务器

NS.INTER.NET

发出请求解析域名

www.gongkong.com

)域名服务器

NS.INTER.NET

收到请求后查询本地记录得到如下结果:

gongkong.comNSdns.gongkong.com

(表示

gongkong.

com

域中的域名服务器为:

dns.gongkong.com

),同时给出

dns.gongkong.com

的地址

并将结果返回给域名服务器

dns.company.com

)域名服务器

dns.company.com

收到回应后

再发出请求解析域名

www.gongkong.com

的报文。

)域名服务器

dns.gongkong.com

收到请求后

开始查询本地的记录,找到如下一条记录

:www.gongkong.comA211.120.3.12

(表示

gongkong.com

域中域名服务器

dnsgongkong.com

IP

地址为:

211.120.3.12

),并将结果返回给客户本地域名服务器

dns.company.com

)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。

报文解析过程:

客户机发出请求解析域名

www.gongkong.com

的查询报文,见图

从图

中,我们可以看到查询报文发送的是递归请求,被查询的域名服务器必须返回所请求的数据或者是出错说明。如果被查

询的域名服务器不是所请求的数据的权威,它将不得不向其他名字服务器发出查询以获得答案。它可以发送递归请求,也可以发送

反复查询。目前,多使用的是后者。也就是说,客户机向本地服

务器发送递归查询请求,而本地服务器为了得到权威的答案,

有可能向其他服务器发送反复查询请求。

5.1DNS

查询报文分析

如图

所示。

5.2DNS

响应报文的分析

对上面查询的响应报文如图

从响应报文中看出,递归是可用的。本地服务器有两条资

源纪录,但是他们都不是权威纪录。所以本地服务器向

gongkong.com

域名的权威服务器发送反复查询,直到得到两

条权威资源纪录。

假如上面本地服务器不知道

www.gongkong.com

这个地

址,他会向根域名服务器发送反复查询,跟域名会指向

.com

名称服务器,本地服务器会接着向

.com

发送反复查询,然后

com

服务器会指向

.gongkong.com

,最后找到

www.gongkong.com

返回给本地服务器,本地服务器再把结果传给解析器。

结束语

上文中不仅从文字上详尽地叙述了

DNS

工作原理,更用

(下转第

39

页)

36

电脑知识与技术

本栏目责任编辑:冯蕾

网络通讯及安全

在办公系统中应用端到端的加密技术,在系统中增加加密

解密模式,由用户对需要加密的文件进行加密传送,这样保证了办公

自动化系统的文档安全性。本文讨论的方法已应用于某些大型公司的日常数据服务中,取得了初步的成功。

当然还有很多技术可以实现这种安全性

,网络传输加密的技术除了端到端的技术外,还有链路加密技术和节点加密技术。目前

还有在协议层的加密技术,如

IPV6

SSL

等。

参考文献:

[1]

王小明

密码技术在企业内部局域网中的应用

[J].

计算机工程

,2002,38(1).

[2]

钱宗珏

区惟煦

寿国础

光接入网技术及应用

[M].

北京

人民邮电出版社

,1998.

[3]

郭勇

利用

socket

开发客户

服务器应用

[J].

广西师范大学学报

,2000,(18).

[4]

刘符

韩煜国

宽带通信原理设计应用

[M].

北京

人民邮电出版社

,1998.

[5]BehrouzFarouzan.Introductiontodatacommunicationsandnetworking[M].Mc-GrawHillCompanies,Inc,1998.

[6]

陆侗

胡荣

办公理论与协同

OA

的模型研究

[J].

北京机械工业学院学报

,2000,15(1):35-41.

[7]KimY,KangS,KimD,etal.WWFLOW:Webbasedworkflowmanagementwithruntimeencapsulation[J].IEEEInternetComputer,

2002,4(3):55-64.

[8]

尹建伟

陈刚

董金祥

柔性工作流动态行为建模方法

[J].

计算机辅助设计与图形学学报

,2002,14(10):1-7.

(上接第

36

页)

实例分析了

DNS

Sniffer

截获报文的响应过程,相信该篇文章能让我们对

DNS

这个名词有更深以层的理解。

参考文献:

[1]PaulAlbitz,CricketLiu,

雷迎春

龚奕利

.DNS

BIND.1

北京:中国电力出版社

,2002:8.

[2]GlassmanS.ACachingRelayfortheWorldWideWeb.ComputerNetworksandISDNSystems,1994,27(2):165-173.

[3]

韩筱璞

康庆

网络信息搜索中的

Zipf

定律

[EB/OL].http://WWW.qiji.cn/eprint/abs/840.html.

39