首页 > 代码库 > dns学习(一)

dns学习(一)

1.dns服务器目的
     名字转化为ip
2. DNS 体系结构是分层的分布式的数据库和一组关联的协议定义
3.

dns层次结构




4.DNS 域名称类型
名称类型说明示例
根域这是表示未命名的等级; 目录树的顶部它有时显示为两个空引号 (""),表示空值。 DNS 域名中使用时,它规定由尾部句点 (.) 来指定名称位于根或更高级别的域层次结构。 在此情况下,DNS 域名被认为是完整和点到准确的位置在树中的名称。 名称声明这种方式的 Fqdn。单个句点 (.) 或句点用于末尾的名称,如"example.microsoft.com"。
顶级域用来指示某个国家/地区或组织使用的名称的类型名称。"".com",表示一个名称注册为在 Internet 上的商业使用的业务。
第二层域可变长度的个体或组织,以便在 Internet 上使用的注册名称。 这些名称始终基于相应的顶级域,具体取决于组织或地理位置名称使用的位置的类型。""microsoft.com。 ",这是由 Internet DNS 域的名称注册向 Microsoft 注册的二级域名称。
子域其他名称的组织可以创建从已注册的二级域名派生的。 这些功能包括添加到组织中的名称的 DNS 树的增长,并将其分为部门或地理位置的名称。"example.microsoft.com"。 ",这是由 Microsoft 指定文档名称示例中用于虚构子域。
主机或资源名称代表名称的 DNS 树的叶节点并标识特定的资源的名称。 通常情况下,DNS 域名的最左侧的标签标识网络上的特定计算机。 例如,如果主机 (A) 资源记录中使用此级别的名称,则它用于查找基于其主机名的计算机的 IP 地址。""主机-a.example.microsoft.com。",其中第一个标签 ("主机-a") 是网络上的特定计算机的 DNS 主机名。
5.常见的 DNS 资源记录
说明时间 (Ttl)类型数据

起始授权机构
【授权服务器,可以是bind9】
互联网 (IN)默认 TTL 值为 60 分钟SOA所有者名称
主名称服务器 DNS 名称、 序列号
刷新间隔
重试间隔
过期时间
最小 TTL
主机互联网 (IN)记录特定 TTL (如果存在),否则区域 (SOA) TTLA所有者名称 (主机的 DNS 名称)
主机 IP 地址

名称服务器
【dns服务器】
互联网 (IN)记录特定 TTL (如果存在),否则区域 (SOA) TTLNS所有者名称
名称服务器 DNS 名称
邮件交换器互联网 (IN)记录特定 TTL (如果存在),否则区域 (SOA) TTLMX所有者名称
邮件 Exchange Server DNS 名称的首选项值
规范名称
(别名)
互联网 (IN)记录特定 TTL (如果存在),否则区域 (SOA) TTLCNAME所有者名称 (别名)
主机的 DNS 名称
对照bind
1 区记录
SOA (Start Of Authority)SOA 记录标示一个授权区定义的开始。SOA 记录后的所有信息是控制这个区的
NS (Name Server)标识区的域名服务器以及授权子域
2 基本记录
A (Address)用于将主机名转换为 IP 地址,任何一个主机都只能有一个 A记录
PTR (PoinTeR)将地址转换为主机名
MX (Mail eXchanger)邮件交换记录。控制邮件的路由
3 安全记录
KEY (Public Key)储存一个关于DNS 名称的公钥
NXT (Next)与 DNSSEC 一起使用,用于指出一个特定名称不在域中
SIG (Signatrue)指出带签名和身份认证的区信息,细节见 RFC 2535
4 可选记录
CNAME (Canonical NAME)给定主机的别名,主机的规范名在A记录中给出
SRV (Services)指出知名网络服务的信息
TXT (Text)注释或非关键的信息 
6.
分发 DNS 数据库: 区域文件和委派

zone:每个区域定位在一个特定的域名,称为该区域的根域。 区域包含有关该区域的根域的名称以结尾的所有名称的信息。 
委派:  委派是将 DNS 名称空间某一部分的责任分配给 特定DNS 服务器  的过程。



osmond.jamond.net. IN  NS ubuntu.osmond.jamond.net. ; 将osmond.jamond.net.委派给ubuntu.osmond.jamond.net.处理

7.查询
有两种类型的可发送到 DNS 服务器的 DNS 查询:
递归 
迭代 
递归查询强迫 DNS 服务器以响应失败或成功响应请求。 通常情况下,DNS 客户端 (冲突解决程序) 进行递归查询。 使用递归查询,DNS 服务器必须联系解决此请求所需的任何其他 DNS 服务器。 当它接收来自其他 DNS 服务器 (或服务器) 的成功响应时,然后将发送到 DNS 客户端的响应。 递归查询是通过查询 DNS 服务器的冲突解决程序和查询其转发器,这是另一个 DNS 服务器配置为处理请求转发到该 DNS 服务器所使用的典型查询类型。
递归查询和查询 DNS 服务器将处理时不能被解析从本地数据 (本地区域文件或以前的查询的缓存),必须升级到根 DNS 服务器的递归查询。 每个基于标准的实现将 DNS 包括包含项的 Internet 域的根 DNS 服务器高速缓存文件 (或根服务器提示)。 (如果使用转发器配置的 DNS 服务器,该转发器使用之前使用根服务器)。
【由响应你请求的dns服务器层层查询完毕后返回给你的本地dns服务器】

迭代查询 
本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器【本地dns服务器自己去进行后续的查询】。
8.TTL(Time- To-Live),简单的说它表示一条域名解析记录在DNS服务器上缓存时间.当各地的DNS服务器接受到解析请求时,就会向域名指定的授权DNS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向授权DNS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值