5DNS

DNS

域名解析,为调用DNS的应用提供域名到IP地址转换的服务。

  • DNS的必要性

    • IP地址标识主机、路由器
    • 但IP地址不好记忆,不便人类使用(没有意义)
    • 人类倾向于使用有意义的字符串来标识Internet上的设备
    • 存在着”字符串“——IP地址转换的必要性
    • 由DNS负责转换成为二进制的网络地址

DNS系统需要解决的问题

  • 问题1:如何命名设备

    • 用有意义的字符串:好记、便于人类使用
    • 解决一个平面命名的重名问题:层次化命名
  • 问题2:如何完成名字到IP地址的转换

    • 分布式的数据库维护和响应名字查询
  • 问题3:如何维护:增加或删除一个域,需要在域名系统中做哪些工作

DNS的主要思路

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

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

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

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

    • 在网络边缘处理复杂性

DNS主要目的

  • 实现主机名——IP地址的转换

  • 其它

    • 主机别名到规范名字的转换
    • 邮件服务器别名到邮件服务器的正规名字的转换
    • 负载均衡

问题1:DNS命名空间

  • DNS域名结构

    • 一个层面命名设备会有很多重名
    • DNS采用层次树状结构的命名方法
    • Internet根被划分为几百个顶级域(top level domains)
      • 通用的(generic)
        • .com; .edu; .int; .mil
      • 国家的(countries)
        • .cn; .us; .nl; .jp
    • 每个(子)域下面可划分为若干子域(subdomains)
    • 树叶是主机
  • 域名

    • 从本域往上,直到树根
    • 中间使用”.”间隔不同的级别
    • 域的域名:可以用于表示一个域
    • 主机的域名:一个域上的一个主机

问题2:解析问题——名字服务器(Name Server)

  • 只有一个名字服务器的问题

    • 可靠性问题:单点故障
    • 扩展性问题:通信容量
    • 维护问题:远距离的集中式数据库
  • 区域(Zone)

    • 区域的划分由区域管理者自己决定
    • 将DNS名字空间划分为互不相交的区域,每个区域都是树的一部分
    • 名字服务器:
      • 每个区域都有一个名字服务器:维护着它所管辖区域的权威信息(authoritative record)
      • 名字服务器允许被放置在区域之外,以保证可靠性

DNS

  • DNS大致工作过程

    • 应用调用解析器(resolver)
    • 解析器作为客户向Name Server发出查询报文(封装在UDP中)
    • Name Server返回响应报文(name/IP)