计算机网络note_DNS域名解析

1、DNS(Domain Name System)

1.1、为什么有DNS?

IP地址标识主机/路由器,但IP不好记忆不便于使用,所以使用有意义的“字符串”来标记IP地址,DNS负责将域名解析为IP

IP 地址的长度为 32 比特,也就是 4 字节,IPv6 是 128 比特 16 字节,但是域名很短,比如ww.baidu.com也要十几个字节。也就是说,直接使用域名的话需要处理的字符大大增加了,这无疑增加了交换节点路由器的负担。


1.2、DNS实现的思路

DNS基本的功能就是,存域名和IP的映射关系,然后对着表查找,返回IP;

如此庞大的数据量,采用什么方式表示域名(分层)、如何存储(分布式)、如何查询咩(UDP方式)?

  • 为防止重名,要是分层的、基于域的命名机制;
  • 分布式数据库完成域名到IP的转换;
  • 运行在UDP之上,端口号为53的应用服务;

1.3、DNS主要目的

  • 主机名到IP地址的转换;
  • 主机别名( Host aliasing)到规范名的转换;   邮件服务器别名(Mail server aliasing)到邮件服务器正规名的转换;

一台名为 http://relay.west-coas.enterpnse.com 的主机,可能还有两个别名 http://enterpise.com 和 http://www.enterpnse.comhttp://relay.west-coas.enterpnse.com 是规范名字,其他两个是主机别名。

可以看出,规范名字是为了便于管理,别名是为了便于用户的访问。

  • 负载均衡(load distribution) :将一个主机名对应多个服务器的IP,减轻服务器压力,提高响应;

2、域名的分层命名


3、划分区域管理

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

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

3.2、区域(Zone)

将DNS名字空间划分为互不相交的区域,每个区域都是树的一部分

3.3、名字服务器

每个区域都有一个名字服务器,维护着所在区域的权威信息(authoritative record);

分类作用
根域名服务器最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助
顶级域名服务器负责管理在该顶级域名服务器下注册的二级域名
权威域名服务器负责一个区域的域名解析工作
本地域名服务器当一个主机发出DNS查询请求时,这个查询请求首先发给本地域名服务器

4、区域名字服务器 维护的资源记录(resource records)

4.1、位置

名字服务器的分布式数据库中

4.2、格式(domain_name,ttl,type,class,value)

名称解释说明
domain_name域名
ttl(time to live)

生存时间:分为权威和缓冲记录

权威记录:一直要保存的域名和IP关系;

缓冲记录:使用中缓存的域名和IP关系,比如说2天之后就可以删掉

class类别:对于Internet,为IN
value数字、域名、ASCII字符串;
type资源记录的类型

Type=A,存放主机和IP地址;

Type=CNAME,存放别名和规范名;

Type=MX,存放邮箱别名和规范名;

Type=NS,管理子域;

type的值对应的name和value
Aname为主机;value为IP地址
CNAMEname为别名;value为规范名
MXname为邮件服务器的别名;value为邮件服务器的规范名
NSname为子域名;value为解析该子域名的DNS服务器的域名

更多type值的对应关系见参考资料链接2;


5、DNS查询方式

5.1、递归查询

本地域名服务器查不到IP的情况下,问根域名服务器,根域名服务器不知道去问顶级域名服务器,层层向下.....,然后查到了之后再层层返回;

5.2、迭代查询

本地域名服务器查不到IP的情况下,问根域名服务器,根域名服务器不知道,但是让本地域名服务器去问顶级域名服务器,层层向下.....

6、DNS报文

DNS 分为查询请求和查询响应,请求和响应的报文结构基本相同

  • 事务 ID:对于请求报文和其对应的应答报文,该字段的值是相同的。

                      通过它可以区分 DNS 应答报文是对哪个请求进行响应的。

  • 标志 Flags:一些标志,比如:用于标识请求还是响应报文、是用递归查询还是迭代查询、响应报文的数据有没有被截断等;

参考资料:

你应该知道的 DNS —— 计算机网络自顶向下 - 知乎 (zhihu.com)

DNS 协议是什么?_妙趣前端的博客-CSDN博客_dns协议

(1条消息) DNS报文格式解析(非常详细)_跑步_跑步的博客-CSDN博客_dns报文格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值