DNS 域名系统

DNS是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。

对DNS的访问是通过一个地址解析器来完成的,在*nix主机中,主要通过两个库函数gethostbyname和gethostbyaddr来访问。

DNS的名字空间与*nix文件系统类似,也具有层次结构,其结构如下图:


每个节点有一个至多63个字符长得标示,根是没有任何标示的特殊节点,标示不区分大小写。

这颗树很想一棵trie树,树上任何一个节点的域名就是将从该节点到最高层的域名串联起来,中间加一个点(.)来分隔。

树种的每个节点必须有一个唯一的域名,但是域名树种的不同节点可使用相同的标识。

一个独立管理的DNS子树称为一个zone。

一旦一个zone的授权机构被委派后,由它负责向该zone提供多个名字服务器。当一个新系统加入到一个zone中时,该区域的DNS管理者为该新系统申请一个域名和一个IP,并将他们添加到名字服务器的数据库中。

一个名字服务器负责一个或多个zone,一个zone的管理者必须为该zone提供一个主名字服务器和至少一个辅助名字服务器。

主辅彼此独立,主辅的区别是主服务器从磁盘文件调入该zone所有信息,而辅服务器则从主服务器调入所有信息,是为zone传送

辅助服务器定时向主服务器询问是否有新数据,如有新数据,通过zone传送更新之。

DNS的一个基本特性是使用超高速缓存,即当一个名字服务器收到有关主机和IP地址的映射信息时,会被保存在cache中。


DNS报文由12个字节长得首部和4个长度可变的字段组成,具体格式如下图:


其中,标识字段由客户程序设置并由服务器返回结果,客户程序通过它来确定查询是否匹配。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值