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 ...
随机推荐
- 友盟分享在appdelegate中的调用语句举例
//友盟 [UMSocialData setAppKey:UmengAppkey]; [UMSocialConfig setSupportedInterfaceOrientations:UIInter ...
- 跨过slf4j和logback,直接晋级log4j 2
今年一直关注log4j 2,但至今还没有出正式版.等不及了,今天正式向大家介绍一下log4j的升级框架,log4j 2. log4j,相信大家都熟悉,至今对java影响最大的logging系统,至今仍 ...
- OGRE1.8.1源码编译(VS2008)
最近在学习图形学,想看看OGRE源码,于是就去OGRE官网下载源码,配置环境,这里记录一下.鉴于电脑太破,VS2010比较慢,所以使用VS2008. 准备工作: CMake2.8 下载地址 ...
- 5.3:从bean的实例中获取对象
5.3 从bean的实例中获取对象 在getBean方法中,getObjectForBeanInstance是个高频率使用的方法,无论是从缓存中获得bean还是根据不同的scope策略加载bean. ...
- BZOJ 3288 Mato矩阵 解题报告
这个题好神呀..Orz taorunz 有一个结论,这个结论感觉很优美: $$ans = \prod_{i=1}^{n}\varphi(i)$$ 至于为什么呢,大概是这样子的: 对于每个数字 $x$, ...
- The 9th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Taxi Fare
Problem A: Taxi Fare Time Limit: 2 Seconds Memory Limit: 65536 KB Last September, Hangzhou raised th ...
- Kafka操作
http://blog.csdn.net/xiao_jun_0820/article/details/46831203 http://blog.csdn.net/xcockroach/article/ ...
- Spring在代码中获取bean的几种方式
方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObj ...
- Android:删除模拟器中没用的应用
进入模拟器,Setting->apps ->找到相应的app,选择uninstall 即可!
- Linux 下shell显示-bash-4.1$不显示用户名路径的解决方法
Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看 ...