DNS(一)简介
最近学习相关DNS知识,顺便总结下相关内容。
1.什么是DNS
DNS(Domain Name System)服务,可以使用域名代替复杂的IP地址来访问网络服务器,使得网络服务的访问更加简单,而且可以完美地实现与Internet的融合,对于一个网站的推广发布起到极其重要的作用。
而且许多重要网络服务(如E-mail服务)的实现,也需要借助于DNS服务。因此,DNS服务可视为网络服务的基础。
DNS是一种采用客户/服务器机制,实现名称与IP地址转换的系统,是由名字分布数据库组成的,它建立了叫做域名空间的逻辑树结构,是负责分配、改写、查询域名的综合性服务系统,该空间中的每个结点或域都有唯一的名字。
2.域名的发展历史
最早的网络名称与IP地址的映射关系是由NIC(Network Information Center) 统一进行管理的,NIC将这些对应关系保存在一个HOSTS.TXT的文件中,通过改写这个文件来实现域名与IP对应关系的更新。所有的主机可以通过FTP方式访问到这个文件。
新的域名系统需要多个新的目标。例如:需要一种分布式的系统;能够用于不同的网络和服务;不依赖于具体的通信系统;系统可以处理多变的网络。
新的域名系统可以实现多种服务,并有新的特点。例如:数据库的大小取决于主机数和用户数;数据库中大多数数据变化较慢,少数变化迅速。
3.DNS的组成部分
DNS主要包括一下三个部分:
域名空间和资源记录
域名空间是树状结构的,结构中的每一个节点包括叶子节点都保存了一些信息集,一个查询就是为了获取节点下信息集中的某些需要的信息。
域名服务器
就是拥有着域名树结构以及节点数据集的服务程序。域名服务器会缓存一部分数据,并且它拥有并保存了域名树的某个子集的所有信息。
解析器
是指从服务器中提取信息并回应给客户端请求的特定程序。解析器至少要能够访问一台服务器,它或者直接回答查询,或者通过推荐的服务器来获得查询的结果。
4.DNS专有名词解释
Primary(Master)DNS
在域名系统中负责名称解析的主要名称服务器,每个客户端至少要指定一台此类型的服务器地址。
Secondary(Slave)DNS
为了避免主要名称服务器发生故障时严重影响网络上的名称解析工作,可以安装其他DNS服务器,并且定期复制Primary DNS服务器中的数据库,而这些服务器就称为Secondary DNS或Slave DNS。
Cache-only服务器
此类服务器会从其他名称服务器得到所有查询过的信息,再将这些答案放入自己的缓存区中,以备下次可以自行响应相同的查询(但自己并不具有名称解析功能)。
区域(Zone)
基本上,“区域”是DNS中实际的管理单位,在每个区域中包含独立的数据库。因此DNS服务器可以读取区域中的数据库内容,以便提供客户端的名称解析服务。
正向解析(Forwarding)
将主机名称解析为对应IP地址的过程。
反向解析(Reversing)
将IP地址解析为对应主机名称的过程。
委托(Delegation)
在每个域中都有负责名称解析的DNS服务器,如果因为实际需求,将原本的域细分成许多的子域。此时,上层域可以指派某台DNS服务器来负责子域的名称解析工作。这一指派的过程就称为“委托”。
个人理解“域”如根域、顶级域、二级域等是在水平划分域名空间,“区域”是在垂直上划分域名空间,如.com属于顶级域,单独的 baidu.com则可以作为一个“区域”的概念。
5."域"的概念
"域"表示因特网中的一种逻辑单位,而因特网主机根据注册时的类型可以分为多种域。每个域下可以包含其他子域(Sub-Domain),而子域下也允许其他的次级域,然后以这个方式一直循环下去。
6.DNS域名空间(DNS Name Space)
因特网上指定了组织名称的域结构层次,而在DNS域名空间中,每个层级都有不同的名称,大多数的DNS都将它分为5种识别名称,下表列出了这5种识别名称及范例。

7.DNS服务器
DNS服务器分为一下三种
本地域名服务器。
也称默认域名服务器,当一个主机发出DNS查询报文时,这个报文就首先被送往该主机的本地域名服务器。在用户的计算机中设置网卡的“Internet协议(TCP/IP)属性”对话框中设置的首选DNS服务器即为本地域名服务器。
根域名服务器。
目前因特网上有十几个根域名服务器(root name server),大部分都在北美。当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以DNS客户的身份向某一根域名服务器查询。
授权域名服务器。
每一个主机都必须在授权域名服务器处注册登记。通常,一个主机的授权域名服务器就是它的本地ISP的一个域名服务器。实际上,为了更加可靠地工作,一个主机最好有至少两个授权域名服务器。许多域名服务器同时充当本地域名服务器和授权域名服务器。授权域名服务器总是能够将其管辖
8.DNS查询

DNS(一)简介的更多相关文章
- Linux DNS原理简介及配置
Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...
- DNS服务简介
一.域名系统 1.域名系统概述 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址.域名系统其实就是名字系统.为什么不叫“名字” ...
- DNS 域名系统的简介
一.DNS域名系统简介 1.网络中为了区别各个主机,必须为每台主机分配一个唯一的地址, 这个地址即称为“IP 地址.但这些数字难以记忆, 所以采用“域名” 的方式来取代这些数字. 2.当某台主机要与其 ...
- linux杂谈(十八):DNS服务器的配置(一)
原文地址: http://blog.chinaunix.net/uid-29622064-id-4242123.html 1.DNS服务器简介 域名系统(英文:Domain Name System,縮 ...
- DNS(三)DNS SEC(域名系统安全扩展)
工作需要今天了解了下DNS SEC,现把相关内容整理如下: 一.DNS SEC 简介 域名系统安全扩展(英语:Domain Name System Security Extensions,缩写为DNS ...
- 简单谈谈DNS的工作原理及实践
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...
- DNS Tunnel隧道隐蔽通信实验 && 尝试复现特征向量化思维方式检测
1. DNS隧道简介 DNS隧道技术是指利用 DNS协议建立隐蔽信 道,实现隐蔽数据传输.最早是在2004年 DanKaminsky 在 Defcon大会上发布的基于 NSTX 的 DNS隐蔽 隧道工 ...
- DNS 协议
DNS 入门 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS 使用 T ...
- Ettercap之ARP+DNS欺骗
1.网络攻击拓扑环境 网关:192.168.133.2 攻击者:192.168.133.128 受害者:192.168.133.137 2.原理讲解 ARP欺骗 简介:ARP(Address Reso ...
随机推荐
- Object调用静态方法
谁说空指针不能调用方法 public class Foo { public static void bar() { System.out.println("bar"); } pub ...
- storyboard 总结
1.storyboard 布局时用代码实现页面跳转: a> 获取当前 storyboard : [self storyboard] b> 为将要跳转到的 viewController 添加 ...
- HTTP verb的安全性和幂等性
Http协议规定了不同方法的安全特性和幂等特性,作为服务提供者的服务器必需为客户端提供这些特性. 安全性,仅指该方法的多次调用不会产生副作用,不涉及传统意义上的“安全”,这里的副作用是指资源状态.即, ...
- Extjs-4.2.1(二)——使用Ext.define自定义类
鸣谢:http://www.cnblogs.com/youring2/archive/2013/08/22/3274135.html --------------------------------- ...
- json分别算出元素的个数和最多的元素
个数: var str = 'aaafsdsaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!js ...
- ural 1108
大数乘法 不会java 比赛的时候各种细节RE WA ........ #include <cstdio> #include <cstring> #include ...
- [笨木头FireFly 02]入门篇2_客户端发送请求,服务器处理请求
原地址:http://www.9miao.com/question-15-53940.html 好,经过上一篇不权威的讲解,大家已经能轻易地让客户端和服务端连接起来了. 但是,仅仅是连接了,可它们俩不 ...
- 用std::thread替换实现boost::thread_group
thread_group是boost库中的线程池类,内部使用的是boost::thread. 随着C++ 11标准的制定和各大编译器的新版本的推出(其实主要是VS2012的推出啦……),本着能用标准库 ...
- C++开发必看 四种强制类型转换的总结
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用. const_cast ...
- struts2 标签的使用之一 s:if
struts2 的web 项目中为了方便的编写jsp,标签是最好的选择 1:struts2 标签库的定义在**-core-版本号.jar META-INF 路径下找到struts-tags.tld文件 ...