zoukankan      html  css  js  c++  java
  • DNS域名解析

    1、DNS域名解析的过程

    以查询“www.dyzx.edu”为例介绍域名解析的过程如下:

    (1)当在客户端的浏览器地址栏输入“www.dyzx.edu”域名后,客户端自动产生一个查询并将查询传给本机的缓存进行解析,若查询信息可以被解析则完成查询。客户端DNS缓存来源于本机的hosts文件,在客户端启动时,hosts文件中的名称与IP地址映射信息将被加载到缓存中。

    (2)如果在客户端的缓存内无法获得查询结果,客户端会将查询请求发送给自己所指向的本地DNS服务器(你必须预先配置DNS客户端所使用的DNS服务器)。本地DNS服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地DNS服务器就直接把查询的结果返回给客户端。如果本地的缓存没有,就在本地DNS服务器管理的区域的记录中查找,如果找到相应的记录则查询过程结束。

    (3)如果在本地DNS服务器中仍无法查找到答案,则根据本地DNS服务器中是否设置了转发地址,其解析过程有以下两种不同的查询轨迹:

    未设转发地址:本地DNS服务器将查询请求发至根域名DNS,根域名DNS收到请求后会判断这个“.edu”域名是由谁来授权管理,并将“.edu”域名DNS的IP地址返回给本地DNS服务器,本地DNS服务器将联系“.edu”域名DNS。“.edu”域名DNS收到请求后,如果自己无法解析,它会将“dyzx.edu”域名DNS的地址返回给本地DNS服务器。当本地DNS服务器收到该地址后,就会找“dyzx.edu”域名DNS继续查询,直至找到存有“www.dyzx.edu”的DNS,并由该DNS将“www.dyzx.edu”的IP地址返回给本地DNS服务器,如下图所示:

    image

    已设转发地址:本地DNS服务器将查询请求转发至上一级DNS服务器,由上一级DNS服务器进行解析,当上一级DNS服务器不能解析时,或找根域名DNS或把请求转至再上一级的DNS,以此循环,直至最后将结果返回给本地DNS服务器。

    (4)本地DNS服务器将“www.dyzx.edu”的IP地址发送给客户端。

    (5)客户端在数据包中封装目标主机的IP地址,从而实现与域名为“www.dyzx.edu”的目标主机进行通信。

    2、DNS的查询模式与解析类型

    递归查询:DNS服务器接收到查询请求时,要么做出查询成功的响应,要么做出查询失败的响应。在图10-2中,步骤(2)中客户端与本地DNS服务器之间的查询关系就属于递归查询。

    迭代查询:DNS服务器接收到查询请求后,若该服务器中不包含所需查询记录,它会告诉请求者另一台DNS服务器的IP地址,使请求者转向另一台DNS服务器继续查询,以此类推,直到查到所需记录为止,否则由最后一台DNS服务器通知请求者查询失败。在图10-2中,步骤(3)至(5)中本地DNS服务器与其他DNS服务器之间的查询则属于迭代查询(反复查询)。

    按照查询内容的不同,DNS服务器支持两种查询类型:

    正向查询(正向解析):由域名查找IP地址。

    反向查询(反向解析):由IP地址查找域名。一般不常用,只用于一些特殊场合,如:反垃圾邮件的验证。

    3、DNS服务器的类型与hosts文件

    授权服务器

    授权DNS服务器是指对于某个或者多个区域具有授权的服务器,授权服务器保存着其所拥有授权的区域内的原始域名资源记录信息。

    • 主授权服务器:是被配置成区域内数据发布源的授权服务器。通常主授权服务器不对外提供服务,只用于保存授权服务数据以及实现与辅授权服务器数据的主辅更新。
    • 辅授权服务器:是通过传送协议从主授权服务器中获取(复制)区域数据的授权服务器。一个区域内可以没有辅授权DNS,也可以有多台辅授权DNS。

    缓存域名服务器

    主要功能是提供域名解析的缓存

    转发DNS服务器

    凡是可以向其他DNS服务器转发解析请求的DNS服务器都称为转发DNS服务器。

    hosts文件

    hosts文件是Linux或Windows系统中负责IP地址与域名快速解析的一个文件。

    4、DNS资源记录及其种类

    资源记录是DNS区域中用于指定某个特定名称或对象的信息条目。一个资源记录包含5个字段,并按以下格式组织:

    Owner-name TTL class type data

    www.dyzx.edu 500 IN A 192.168.1.3

    字段名称

    .内容

    Owner-name

    资源记录的名称,被解析对象的名称

    TTL

    资源记录的生存时间(秒),即在DNS服务器中缓存该资源记录的时间长度

    class

    资源记录所属的类,如“IN”表示标准DNS 的Internet类

    type

    资源记录的类型,如SOA记录、NS记录、A记录、AAAA记录等

    data

    资源记录存储的数据, 不同的资源记录类型有不同的存储数据

    ①SOA记录——起始授权(Start Of Authority)记录,每个区域都有一条SOA记录,用于指定本区域内负责解析的DNS服务器中哪个是主授权服务器,以及管理区域的负责人的邮箱地址和主、辅授权DNS服务器之间实现数据同步的控制参数。

    主、辅授权服务器进行数据同步的控制参数

    参数

    作用

    主授权主机名(Mname)

    名称服务器的主机名,该名称服务器是区域内资源记录信息的原始来源

    邮箱地址(Rname)

    负责本区域内管理者的电子邮箱地址,该地址中的“@”改为“.”表示

    序列号(Serial namber)

    每次修改区域记录时,都会增加序列号的值,它是辅授权DNS服务器更新数据的依据

    刷新时间(refresh)

    辅授权DNS服务器根据此时间间隔周期性地检查主授权DNS服务器的序列号是否改变,若有改变则更新自己的区域记录(以秒为单位)

    重试延时(Retry)

    当辅授权DNS服务器因与主授权DNS无法连通而导致更新区域记录信息失败后,要等待多长时间会再次请求刷新区域记录(以秒为单位)

    失效时间(Expire)

    若辅授权DNS服务器超过该时间仍无法与主授权DNS连通,则不再尝试,且辅授权DNS服务器不再响应客户端要求域名解析的请求(以秒为单位)

    无效缓存时间(Minimum)

    无效解析记录(查找名称且名称不存在的资源记录)在缓存中持续的时间(以秒为单位)

    ②NS记录——域名服务器(Name Server)记录,用于将域名映射到区域内的授权DNS服务器。区域内每个公开的主/辅授权DNS服务器都有一条NS记录。

    ③A记录——也称正向解析记录,用于说明一个域名对应的IPv4地址是什么。

    ④AAAA记录——一个新域名,用于说明一个域名对应的IPv6地址,即将域名映射到IPv6地址。

    ⑤CNAME记录——别名(Canonical Name)记录,用于给主机设置另外该记录是新域名到原域名的映射。此前的原域名应设置过相应的A记录或AAAA记录。

    ⑥PTR记录——也称指针记录或反向解析记录,用于将IP地址逆向映射到域名。

    ⑦MX记录——邮件交换(Mail Exchange)记录,用于将属于该区域的邮件域(即邮箱地址@后面的字符串)映射到邮件服务器的域名。

    ⑧SRV记录——用于查找支持“Windows域”服务的特定主机。

  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/rusking/p/7591264.html
Copyright © 2011-2022 走看看