2024年4月30日发(作者:)
本栏目责任编辑:冯蕾
网络通讯及安全
DNS工作原理解析
羊秋玲
(海南大学计算机系,海南儋州
570228
)
摘要:
DNS
(
DomainNameSystem
域名解析系统)是因特网的一项核心服务,它作为可以将域名和
IP
地址相互映射的一个分布式数
据库
,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的
IP
数串,本文将结合
Sniffer
工具对
DNS
的工作原理给
予详尽的解析。
关键词
:
DNS
;工作原理;
Sniffer
中图分类号:
TP393
文献标识码:
A
文章编号:
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
1
引言
域名系统”或“域名解析系统”。它在互联网的作用是:把域名转换成为网络可以识别
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
的工作过程可分为下面六个步骤:
(
1
)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
(
2
)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
(
3
)如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名
服务器一个所查询域
(根的子域)的主域名服务器的地址。
(
4
)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相
关的下级的域名服务器的地址。
(
5
)重复第四步,直到找到正确的纪录。
(
6
)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
依以上步骤,假设我们的客户机想要访问站点:
www.gongkong.com
,此客户本地的域名服务器是
dns.company.com
,一个根域名
服务器是
NS.INTER.NET
,所要访问的网站的域名服务器是
dns.gongkong.com,
域名解析的过程如下所示:
(
1
)客户机发出请求解析域名
www.gongkong.com
的报文
(
2
)本地的域名服务器收到请求后,查询本地缓存,假设没有该纪录,则本地域名服务器
dns.company.com
则向根域名服务器
NS.INTER.NET
发出请求解析域名
www.gongkong.com
。
(
3
)域名服务器
NS.INTER.NET
收到请求后查询本地记录得到如下结果:
gongkong.comNSdns.gongkong.com
(表示
gongkong.
com
域中的域名服务器为:
dns.gongkong.com
),同时给出
dns.gongkong.com
的地址
,
并将结果返回给域名服务器
dns.company.com
。
(
4
)域名服务器
dns.company.com
收到回应后
,
再发出请求解析域名
www.gongkong.com
的报文。
(
5
)域名服务器
dns.gongkong.com
收到请求后
,
开始查询本地的记录,找到如下一条记录
:www.gongkong.comA211.120.3.12
(表示
gongkong.com
域中域名服务器
dnsgongkong.com
的
IP
地址为:
211.120.3.12
),并将结果返回给客户本地域名服务器
dns.company.com
。
(
6
)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
5
报文解析过程:
客户机发出请求解析域名
www.gongkong.com
的查询报文,见图
1
。
从图
1
中,我们可以看到查询报文发送的是递归请求,被查询的域名服务器必须返回所请求的数据或者是出错说明。如果被查
询的域名服务器不是所请求的数据的权威,它将不得不向其他名字服务器发出查询以获得答案。它可以发送递归请求,也可以发送
反复查询。目前,多使用的是后者。也就是说,客户机向本地服
务器发送递归查询请求,而本地服务器为了得到权威的答案,
有可能向其他服务器发送反复查询请求。
5.1DNS
查询报文分析
如图
1
所示。
5.2DNS
响应报文的分析
对上面查询的响应报文如图
2
。
从响应报文中看出,递归是可用的。本地服务器有两条资
源纪录,但是他们都不是权威纪录。所以本地服务器向
gongkong.com
域名的权威服务器发送反复查询,直到得到两
条权威资源纪录。
假如上面本地服务器不知道
www.gongkong.com
这个地
址,他会向根域名服务器发送反复查询,跟域名会指向
.com
的
名称服务器,本地服务器会接着向
.com
发送反复查询,然后
.
com
服务器会指向
.gongkong.com
,最后找到
www.gongkong.com
返回给本地服务器,本地服务器再把结果传给解析器。
6
结束语
上文中不仅从文字上详尽地叙述了
DNS
工作原理,更用
图
1
(下转第
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
页)
图
2
实例分析了
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


发布评论