DNS查询过程

1.什么是DNS

DNS域名系统是一种适用于TCP/IP的分布式数据库,提供的功能包括:

  • 主机名字和IP地址之间的转化
  • 有关电子邮件的选路信息

另外DNS还规定了DNS服务器之间交换信息的报文格式,这个报文在应用层,基于UDP或者TCP

2.DNS的组织结构

DNS的组织结构需要分为两个部分来阐述,一个是存储的组织结构,另一个方面是如何管理这些DNS记录。

2.1DNS的存储结构

DNS用树状结构存储结构我们从两个方向来描述这个结构

从上到下的描述:

根部是一个没有任何标示符号的节点,然后是各种顶级和次级域名

从左到右的描述:

arpa这个域名用来做反向解析(从IP地址解析到域名,解析的过程如下,当申请到一个域名和IP的时候在这个域名下面会获得一个域名空间,即一个存储信息的节点,里面回包括域名信息,arpa的结构是,次一级为IP第一个字节,以此类推,因此127.45.67.89的反向域名就是89.67.45.127.in-addr.arpa  因为域名是从当前节点书写到根节点

三字符的是普通域名

二子节的是基于国家代号的国家域名

2.2如何管理这些结构

网络信息中心(NIC)负责分配顶级域名和委派机构来管理相应的域(一个独立的DNS子树被称为一个域)

一个机构管理的时候,当有新的系统加入,先申请域名和IP地址存储到机构自己的DNS服务器,出于容灾考虑DNS服务器一般有两个。

3.DNS的查询格式和步骤

3.1DNS查询的步骤

服务器向根域名服务器发出查询请求,根服务器返回可以查询到的服务器列表,然后在向该服务器发送相同的请求获取结果

3.2DNS查询类型

  • A 查询主机的IP地址
  • PTR 指针查询,用于查询IP对应的域名地址
  • CNAME,查询主机的规范名字
  • MX交换记录,用来说明邮件被发到哪里,可以有多个,有自己的优先级
  • HINFO,主机信息

linux下的查询举例

host -t a baidu.com

3.3DNS报文信息

基本为12子节首部和四个可以变的字段(问题,回答,授权,额外信息)

参考《TCP/IP协议详解:卷1》

4.DNS的实现考量

DNS可以基于UDP或者TCP,UDP的优点在于速度快,但是不可靠需要自己实现超时和重传的机制。

因此一般用UDP,在需要分片报文的时候需要用TCP重新传输

辅DNS服务器从主DNS服务器获取记录的时候也用的是TCP协议。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值