DNS域名解析

为什么需要域名解析?

只知道被访问资源的域名,而不知道对用的IP地址时由域名服务器提供解析服务


域名解析

DNS的使用方法:

1 为了将一个名字映射为IP地址,应用程序调用一个叫解析器 ( resolver )的库过程,把名字作为参数传递给这个过程 (如: gethostbyname()就是一个解析器)

2 解析器发送一个UDP分组给本地DNS服务器,它会负责查找该名字, 然后将对应的IP地址返回给解析器

3 解析器返回结果给应用程序,然后应用程序即可开始工作了(封装, 发送……)


查询:

当一个解析器收到一个域名查询时,它将该查询传递给本地 的一个域名服务器 

如果待查询的域名落在该名字服务器的管辖范围内,它将返回权威资源记录 

    一个权威资源记录(authoritative record)是指来自于管理该 记录的权威机构,因此总是正确的,它和缓存的记录不同, 后

    者可能是过期的 

如果被请求的域名是远程的,且本地没有关于它的信息,那么本地名字服务器向根域服务器发送一条查询此域的消息


查询种类:

主机向本地域名服务器的查询一般都是采用递归查询

递归查询:


本地域名服务器向根域名服务器的查询通常是采用迭代查询

迭代查询:


一次完整的解析:


问题:查询漫长,消耗很多资源,延迟数据发送

优化方法:

高速缓存—减少查询环节,提高效率

上例中,本域中的另一台主机如果查询同一个域名,则马上可得到结果

上例中,本域中的另一台主机如果查询另一个域名,如 Z.abc.com,则可直接发送到权威域名服务器得到权威记录

缺点:缓存中的内容不具有权威性


什么时候使用TCP?

UDP报文超过512Bytes:

    从(second)服务器的数据更新

    对首次请求响应,返回参数TC置位再请求,建立TCP连接,将数据流分段发送

从(second)服务器的数据更新:

    对首次请求响应,返回参数TC置位再请求,建立TCP连接,将数据流分段发送

    主、从 服务器间建立TCP连接,进行批量数据流传输


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值