详解DNS域名解析

一、总体思路和目标

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的记录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值