详解DNS域名解析

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。详解DNS域名解析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、总体思路和目标

DNS的主要思路

  • 分层的、基于域的命名机制

  • 若干分布式的数据库完成域到IP的地址的转换

  • 运行在UDP之上端口为53的应用服务

  • 核心的Internet功能,但以应用层协议实现

    在网络边缘处理复杂性

DNS主要目的

  • 实现主机名-IP地址的转换(name/IP translate)
  • 其他目的
    • 主机别名到规范名称的转换
    • 邮件服务器别名到邮件服务器正规名的转换
    • 负载均衡

DNS域名结构

  • 一个层面命名设备会有很多重名

  • DNS采用层次树状结构的命名方法

  • Internet根被划分为几百个顶级域(top lever domains)

    • 通用的(generic)

      .com .edu .gov .int .mil .net .org .firm……

    • 国家的

      .cn .us .nl .jp

  • 每个(子)域下面可划分为若干个子域(subdomains)

  • 树叶是主机

DNS名字空间(全球共有13个根名字服务器)

  • 域名

    • 从本域网上,直到树根

    • 中间使用”.“间隔不同的级别

      ustc.edu.cn/auto.ustc.edu.cn/www.auto.ustc.edu.cn

    • 域的域名:可以用于表示一个域

    • 主机的域名:一个域上的一个主机

  • 域名的管理

    • 一个域管理其下的子域

      .jp 被划分为ac.jp co.jp

      .cn 被划分为 edu.cn com.cn

      创建一个新的域,必须征得它所属域的同意

    • 域与物理网络无关(逻辑意义上的)

      域遵从组织界限,而不是物理网络

      一个域的主机可以不在一个网络

      一个网络的主机不一定在一个域

      域的划分是逻辑的,而不是物理的

TLD(Top Lever Domain)服务器

顶级域服务器:负责顶级域名(如con,org,net,edr)和所有国家级的顶级域名(cn,us,uk,jp)

  • Network solutions 公司维护com TLD服务i其
  • Educause 公司维护edu TLD服务器

区域名字服务器维护资源记录

  • 资源记录(resource records)

    • 作用:维护 域名-IP地址(其他)的映射关系
    • 位置:Name Server的分布式数据库中
  • 资源记录(RR)格式

    • Domain_name:域名
    • Ttl:time to live 生存时间(权威,缓冲记录)
    • Class类别:对于Internet,值为IN
    • Value值:可以是数字,域名或ASCⅡ码
    • Type类别:资源记录的类型
  • DNS记录

    保存资源记录(RR)的分布式数据库

    RR格式:(name,value,type,ttl)

    • Type=A

      • Name为主机
      • Value为IP地址
    • TYPE=CNAME

      • Name为规范名字的别名

        www.ibm.com的规范名字为:servereast.backup2.ibm.com

      • value为规范名字

    • TYPE=NS

      • Name为域名(如foo.com)
      • Value为该域名的权威服务器(保存整个区域域名到IP地址的映射)的域名
    • TYPE=MX

      • Value为name对应的邮件服务器的名称

    TTL:生存时间,决定了资源记录应当从缓存中删除的时间

二、DNS工作原理

域名系统由一系列的Name Server构成

DNS大致工作流程

  • 应用调用 解析器(resolver)

  • 解析器作为客户 向Name Server发出查询报文(封装在UDP段中)

    上网的终端上线时需要以下信息(手动配置或DHCP协议自动配置):

    IP地址、子网掩码、Default Gateway、Local Name Server

  • Name Server返回响应报文(name/ip)

本地名字服务器(Local Name Server)

理论可以配置任何一个名称服务器,但一般指定离的最近的Name Server

​ 1、并不严格属于层次结构

​ 2、每个ISP都有一个本地DNS服务器

也称为”默认名字服务器“

​ 3、当一个主机发起一个DNS查询时,查询被送到其本地DNS服务器

起着代理的作用,将查询转发到层次结构中

  • 名字解析过程

    • 目标名称再Local Name Server中

      情况1:查询的名字在该区域内部

      情况2:缓存

      当本地名字服务器不能解析名字时,联系根名称服务器顺着根-TLD一直找到权威名字服务器

  • 递归查询

    • 名字解析负担都放在当前联络的名字服务器
    • 问题:根服务器的负担太重
    • 解决方案:迭代查询(iterated queries)
  • 迭代查询

    主机cis.poly.edu想知道主机gaia.cs.umass.edu的IP地址

    • 根(及各级域名)服务器返回的不是查询结果,而是下一个NS的地址

    • 最后由权威名字服务器给出解析结果

      ”当前联系的服务器给出可以联系的服务器的名字“

      ”我不知道这个名字,但可以向这个服务器请求“

DNS协议、报文

DNS协议:DNS查询和响应的报文格式相同

报文首部:

  • 标识符(ID):16位,查询和响应通过ID关联,使得NS可以同时查询多个
  • Flags:查询/应答 、希望递归、递归可用、应答为权威

缓存

  • 一旦名字服务器获得了一个新的映射,就将该映射缓存起来

  • 根服务器通常都在本地服务器中缓存着

    使得根服务器不用经常被访问

    目的:提高效率

    可能存在的问题:如果情况变化,缓存结果和权威资源记录不一致

    解决方案:TTL(默认2天)

新增一个域

  • 在上级域的名字服务器中增加两条记录,指向这个新增的子域的域名和域名服务器的地址
  • 在新增子域的名字服务器上运行名字服务器,负责本域的名字解析:名字->IP地址

例子:在com域中建立一个Networkutopia

  1. 到注册登记机构注册域名Networkutopia
    • 需要向该机构提供权威DNS服务器(基本的和辅助的)的名字和IP地址
    • 登记机构在com TLD服务器中插入两条RR记录
  2. 在networkutopia.com的权威服务器中确保有以下记录
    • 用于web服务器的www.networkutopia.com的类型为A的记录
    • 用于邮件服务器mail.networkutopia.com类型为MX的记录

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153701.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!