【DNS】

DNS域名解析系统(Domain Name System)

  • DNS的必要性
    • IP地址不好记忆主机,路由器。
    • 一般倾向于一些有意义的字符串来表示Internet上的设备。
    • 由DNS负责转换成二进制的网络地址。

DNS系统需要解决的问题

  • 问题1:如何命名设备?
    • 用有意义的字符串:好记,便于人类记忆,使用。
    • 解决一个平面命名问题:层次化命名。
  • 问题2:如何完成名字到IP地址的转换?
    • 分布式的数据库维护和响应名字查询。
  • 问题3“如何维护:增加或者删除一个域

DNS域名解析系统(Domain Name System)

  • DNS的主要思路
    • 分层的,基于域的命名机制
    • 若干分布式的数据库完成名字到IP地址的转换
    • 运行在UDP之上端口号为53的应用服务
    • 核心的Internet功能,但以应用层协议实现
  • DNS主要目的
    • 实现主机名-IP地址的转换(name/IP translate)
    • 其它目的
      • 主机别名到规范名字的转换:Host aliasing
      • 邮件服务器别名到邮件服务器的正规名字的转换:Mail server aliasing
      • 负载均衡:Load Distribution

问题1:DNS名字空间(The DNS Name Space)

  • DNS域名结构
    • 一个层面命名设备会有很多重名
    • DNS采用层次树状结构的命名方法
    • Internet 根被划为几百个顶级域(top lever domains)
      • 通用的(generic)
        • .com; .edu ; .gov ; .int ; .mil ; .net ; .org
          .firm ; .hsop ; .web ; .arts ; .rec ;
      • 国家的(countries)
        • .cn ; .us ; .nl ; .jp
    • 每个(子)域下面可划分为若干子域(subdomains)
    • 树叶是主机
      在这里插入图片描述

DNS名字空间(The DNS Name Space)

  • 域名(Domain Name)
    • 从本域往上,直到树根
    • 中间使用“.”间隔不同的级别
    • 例如:ustc.edu.cn
    • 域的域名:可以用于表示一个域
    • 主机的域名:一个域上的一个主机

DNS名字空间(The DNS Name Space)

  • 域名的管理
    • 一个域管理其下的子域
      • .jp 被划分为 ac.jp co.jp
        .cn 被划分为 edu.cn com.cn
      • 创建一个新的域,必须征得它所属域的同意
  • 域与物理网络无关
    • 域遵从组织界限,而不是物理网络
      • 一个域的主机可以不在一个网络
      • 一个网络的主机不一定在一个域
    • 域的划分是逻辑的,而不是物理的

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

  • 一个名字服务器的问题
    • 可靠性问题:单点故障
    • 扩展性问题:通信容量
    • 维护问题:远距离的集中式数据库
  • 区域(zone)
    • 将DNS名字空间划分为互不相交的区域,每个区域都是
      树的一部分
    • 名字服务器:
      • 每个区域都有一个名字服务器:维护着它所管辖区域的权威信息(authoritative record)
      • 名字服务器允许被放置在区 域之外,以保障可靠性

在这里插入图片描述
权威DNS服务器:组织机构的DNS服务器, 提供组织机构服务器(如Web和mail)可访问的主机和IP之间的映射。
组织机构可以选择实现自己维护或由某个服务提供商来维护

TLD服务器

  • 顶级域(TLD)服务器:负责顶级域名(如com, org, net,
    edu和gov)和所有国家级的顶级域名(如cn, uk, fr, ca,
    jp )
    • Network solutions 公司维护com TLD服务器
    • Educause公司维护edu TLD服务器

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

  • 资源记录(resource records)
    • 作用:维护 域名-IP地址(其它)的映射关系
    • 位置:Name Server的分布式数据库中
  • RR格式: (domain_name, ttl, type,class,Value)
    • Domain_name: 域名
    • Ttl: time to live : 生存时间(权威,缓冲记录)
    • Class 类别 :对于Internet,值为IN
    • Value 值:可以是数字,域名或ASCII串
    • Type 类别:资源记录的类型—见下页
      在这里插入图片描述

DNS(Domain Name System)

  • DNS大致工作过程
    • 应用调用 解析器(resolver)
    • 解析器作为客户向Name Server 发出查询报文(封装在UDP段中)
    • Name Server返回响应报文(name/ip)
      在这里插入图片描述

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

  • 并不严格属于层次结构
  • 每个ISP (居民区的ISP、公司、大学)都有一
    个本地DNS服务器
    • 也称为“默认名字服务器”
  • 当一个主机发起一个DNS查询时,查询被送到
    其本地DNS服务器
    • 起着代理的作用,将查询转发到层次结构中

名字服务器(Name Server)

  • 名字解析过程
    • 目标名字在Local Name Server中
      • 情况1:查询的名字在该区域内部
      • 情况2:缓存(cashing)
        当本地名字服务器不能解析名字时,联系根名字服务器顺着根-TLD一直找到权威名字服务器。

在这里插入图片描述

递归查询

递归查询:

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

迭代查询

在这里插入图片描述

  • 主机cis.poly.edu 想知道主机 gaia.cs.umass.edu的IP地址
  • 根(及各级域名)服务器返回的不是查询结果,而是下一个NS的地址
  • 最后由权威名字服务器给出解析结果
  • 当前联络的服务器给出可以联系的服务器的名字
  • “我不知道这个名字,但可以向这个服务器请求

DNS协议、报文

DNS协议:查询和响应报文的报文格式相同
在这里插入图片描述

提高性能:缓存

  • 一旦名字服务器学到了一个映射,就将该映射缓存起来
  • 根服务器通常都在本地服务器中缓存着
    • 使得根服务器不用经常被访问
  • 目的:提高效率
  • 可能存在的问题:如果情况变化,缓存结果和
    权威资源记录不一致
  • 解决方案:TTL(默认2天)

问题3:维护问题:新增一个域

  • 在上级域的名字服务器中增加两条记录,指向这个新增的子域的域名 和 域名服务器的地址
  • 在新增子域 的名字服务器上运行名字服务器,负责本域
    的名字解析: 名字->IP地址
    例子:在com域中建立一个“Network Utopia”
  • 到注册登记机构注册域名networkutopia.com
  • 需要向该机构提供权威DNS服务器(基本的、和辅助的)的名字
    和IP地址
  • 登记机构在com TLD服务器中插入两条RR记录
  • 在networkutopia.com的权威服务器中确保有
    • 用于Web服务器的www.networkuptopia.com的类型为A的记录
    • 用于邮件服务器mail.networkutopia.com的类型为MX的记

在这里插入图片描述

  • 15
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值