当前课程知识点:计算机网络 > 第七章 应用层 > 7.3 DNS之域名解析 > Video
你都知道了
每一次通信
总是以发方的封装开始
以接收方的解封装开始
而封装的主要工作
就是在每层加上寻址所需要的地址
比如第三层加上IP地址
第二层加上MAC地址
你却从来没有在哪一层上看到
它加过域名
所以如果你只知道对方的域名
而没有对方的IP地址
就必须把域名映射为IP地址
由谁来完成这个映射的工作呢
由域名服务器
将域名映射为IP地址的方法和过程
就叫做域名解析
域名解析通常是这样的
应用程序
应用程序一般在主机上
应用程序
调用一个叫做解析器的库过程
它把名字在解析的域里作为参数
传递给这个过程
比如说gethostbyname()
这就是一个解析器
解析器发生一个UDP分组
给本地的DNS服务器
它会负责查找该名字
然后将对应的IP地址
其实是整个资源记录返回给解析器
解析器返回结果给应用程序
然后应用程序就可以开始工作了
比如说封装 发送等等
本地域名服务器
收到解析器发来的查询请求
是怎么做的呢
如果待查询的域名
刚刚好落在该域名服务器的
管辖范围之内
它就将返回权威的资源记录回去
一个权威的资源记录
是指来自于管理该记录的权威机构
因此总是正确的
它和缓存的记录不同
缓存的记录
有可能是过期的 不正确的
如果被请求的域名是远程的
且本地也没有关于它的信息的缓存
那么本地域名服务器
将向根域服务器
去转发这个查询请求
域名解析或者域名查询分为两大类
一个是递归查询 递归解析
另外一类叫迭代查询
或者叫迭代解析
主机向本地域名服务器的查询
一般都是采用递归查询
当本地域名服务器
不知道在查询的域名时
以DNS客户的身份
向根域服务器
继续发出查询请求报文
直到得到结果返回给主机
对于主机来说
它只需要向本地域名服务器去请求
本地域名服务器
一定会给它一个结果
或告诉它说域名不存在
而本地域名服务器
向根域服务器的查询
通常采用的是迭代查询
根域服务器收到本地域名服务器
转来的查询请求报文
可能有两种情况
一 它会知道答案
那么它就直接给出
它要查询的资源记录
另外一种情况
就是它不知道答案
但是它会告诉本地域名服务器
你下一步
应该向哪个顶级域名服务器
去进行查询
本地域名服务器
再次去发起查询请求
直到追踪到域名注册地
举个例子来看
有一台主机
它想要访问域名y.abc.com
但是它不知道它的IP地址
无法完成它的封装
所以它首先要查询这个域名
对应的IP地址
假如所有的服务器都没有缓存
首先它向本地域名服务器
去发出查询的请求
本地域名服务器发现
y.abc.com不是自己管辖的域名
无法直接给出答案
所以它向根域服务器去求救
也就是去转发这个查询的请求
根域服务器
也没有y.abc.com的记录
但是它知道
.com顶级域名服务器可能会知道
并且它自己有所有顶级域名的
资源记录
所以它告诉本地域名服务器说
对不起
我不知道你想要的这个域名
它对应的资源记录
但是我知道那个谁谁谁可能知道
且把DNS.com的IP地址
告诉本地域名服务器
本地域名服务器转向dns.com去查询
.com域名服务器也没有答案
但是它知道
abc.com域名服务器可能知道
且它有dns.abc.com的IP地址
所以它告诉本地域名服务器说
那个我没有你想要的
域名所对应的资源记录
但是我知道那个谁谁谁可能有
所以本地域名服务器
转向dns.abc.com进行查询
y.abc.com如果是个合法的域名
它的信息一定存储在
abc.com域名服务的数据库中
因为它就是在这个地方注册的
那么它就可以返回一个
权威的资源记录给本地域名服务器
还有另外一种情况
就是y.abc.com是个非法的
不正确的域名
那么abc.com域名服务器
可以明确地告诉本地域名服务器说
对不起
这个家伙没有在我这里注册过
本地域名服务期拿到权威的记录
或者用户不存在的信息
即可转告请求主机了
这是一次完整的查询解析过程
既有主机跟本地运营服务器
之间的递归解析
也有本地域名服务器
跟各服务器之间的迭代查询
或者反复查询
如果主机每次发起的查询
都经历这么漫长复杂的过程
那么将消耗很多的资源
包括带宽的资源 缓存的资源
还会延迟数据的发送
所以在服务器上
通常会有高速的缓存
它可以减少查询的环节 提高效率
在上面这个例子中
本域中的另一台主机
如果查询同一个域名
则可马上在缓存中得到结果
在上个例子中
本域中的另一台主机
如果查询另一个域名z.abc.com
则可直接发送给权威域名服务器
abc.com
得到权威的记录
而不必经过一整个过程
缺点就是缓存中的咨询记录信息
它不具备权威性
有可能是错误的 延时的
DNS消息采用UDP数据段来承载
但有两种情况例外
第一种情况就是
UDP的报文超过了512个字节的时候
那么首次请求响应返回参数TC置位
当它再次地请求
就需要建立TCP的连接
将数据应答分段来发送
这是一种不使用UDP来承载DNS消息
采用TCP来承载的一个情况
还有另外一种情况
没有采用UDP来搭载DNS的消息
而是采用TCP
就是主从域名服务器之间的
数据更新同步
在一个域
我们为了可靠起见
通常跟它绑定的域名服务器
不止一台
而是至少两台
一主一备
那么主备或者主从服务器之间
在进行数据同步的时候
就会建立一根TCP的连接
进行批量数据流的传输
保证主从数据之间的数据完全一致
DNS它的运行
存在各种不安全的因素
曾经发生过一些安全事件
其实有一次非常著名
在ICANN诞生之前
顶级域名TLD
主要有IANA的教授
Jon Postel负责
他负责根域服务器中的8台
Internet Society
是非常信任Postel的
在Postel的策划下
他于1998年劫持了根域服务器
将互联网分成了两个世界
好在这个事件只持续了一周
如果你感兴趣的话
你可以到维基百科这个网址
去看关于这次DNS的安全事件
和关于Postel的这个人
小结一下今天的内容
域名解析
是将域名映射为IP地址的方法
和过程
一次完整的域名解析
包括递归解析和迭代解析
通过各级缓存优化查询
所获得的解析结果可能无效
DNS的运作存在一些不安全的因素
-本课程简介
--课程组织
-1.1 为什么要学习计算机网络?
-1.2 互联网络发展史
--Video
--互联网络发展史
-1.3 常用的基本概念
--Video
--常用的基本概念
-1.4 参考模型(重点)
--Video
--参考模型
-1.5 参考模型相关的概念
--Video
--数据如何传输
-1.6 本课程的组织
--Video
--课程组织
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-附录3:伦敦奥运会开幕式之Tim Berners Lee
--附录说明
-第一章 概述--章节测试
-附录4:本章的无背景乐的视频
--1-4参考模型
--关于附录4的说明
-2.1 数据通信的理论基础
--Video
-2.2 有导向的传输介质
--Video
--有导向的传输介质
-2.3复用技术
--Video
--复用技术
-2.4调制技术
--Video
--调制技术
-2.5公共交换电话网络
--Video
--公共交换电话网络
-2.6物理层设备
--Video
--物理层设备
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-附录3:光纤熔接
--Video
-附录4:海底光缆
--附录说明
--外部链接
-第二章 物理层--章节测试
-附录5:本章的无背景乐的视频
--2-3复用技术
--2-4调制技术
--关于附录5的说明
-3.1 数据链路层概述
--Video
--数据链路层概述
-3.2 差错处理概述
--Video
--差错处理概述
-3.3 纠1位错的海明码
--Video
--纠1位错的海明码
-3.4 检错码
--Video
--检错码
-3.5基本数据链路协议1~3
--Video
-3.6 滑动窗口协议
--Video
--滑动窗口协议
-3.7 回退n帧
--Video
--回退n帧
-3.8 选择性重传
--Video
--选择性重传
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-第三章:数据链路层--章节测试
-附录3:本章的无背景乐的视频
--3-4检错码
--3-6 滑窗协议
--3-7 回退n帧
--关于附录3的说明
-4.1 MAC子层概述
--Video
--MAC子层概述
-4.2 ALOHA协议
--Video
--ALOHA协议
-4.3 CSMA协议
--Video
--CSMA协议
-4.4 以太网概述
--Video
--以太网概述
-4.5 以太网帧格式
--Video
--以太帧格式
-4.6 二层交换的基本格式
--Video
-4.7 生成树协议
--Video
--生成树协议
-4.8 虚拟局域网
--Video
--虚拟局域网
-4.9 二层设备
--Video
--二层设备
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-第四章 介质访问控制子层--章节测试
-附录3:本章的无背景乐的视频
--4-9 二层设备
--关于附录3的说明
-5.1 网络层引言
--Video
--网络层引言
-5.2 IP地址
--Video
--IP地址
--子网规划实例
-5.3 子网规划
--Video
--子网规划
-5.4 IP寻址
--Video
--IP寻址
-5.5 IP分组
--Video
--IP分组
-5.6 什么是IPv6?
--Video
--什么是IPv6?
-5.7 IPv6地址
--Video
--IPv6地址
-5.8 IPv6分组
--Video
--IPv6分组
-5.9 IPv6过渡技术
--Video
--IPv6过渡技术
-5.10 路由从何而来?
--Video
--路由如何而来
-5.11 距离矢量路由选择协议
--Video
-5.12 路由信息协议RIP
--Video
--RIP
-5.13 RIP为什么衰落?
--Video
-5.14 链路状态路由选择LS
--Video
-5.15 单区域OSPF
--Video
-5.16 无类域间路由 CIDR
--Video
--CIDR
-5.17 网络地址翻译 NAT
--Video
--NAT
-5.18 互联网控制消息协议 ICMP
--Video
--ICMP
-5.19 地址解析协议 ARP
--Video
--ARP
-5.20 拥塞控制
--Video
--拥塞控制
-5.21 流量整形
--Video
--流量整形
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-第五章 网络层--章节测试1
-第五章 网络层--章节测试2
-第五章主观测试题
-附录3:本章的无背景乐的视频
--5-2_IP地址
--5-3_子网规划
--5-4_IP寻址
--5-5_IP分组
--5-9过渡技术
--5-21流量整形
-6.1 传输层概述
--Video
--传输层概述
-6.2 用户数据报协议 UDP
--Video
-6.3 通信模型
--Video
--通信模型
-6.4 TCP数据段
--Video
--TCP数据段
-6.5 TCP三次握手建立连接
--Video
-6.6 TCP连接释放
--Video
--TCP连接释放
-6.7 TCP传输策略
--Video
--TCP传输策略
-6.8 TCP拥塞控制
--Video
--TCP拥塞控制
-6.9 TCP定时器等
--Video
--TCP定时器等
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-第六章 传输层--章节测试
-附录3:本章的无背景乐的视频
--6-1传输层概念
--6-2UDP
--6-3通信模型
-linux
-windows
-7.1 应用层概述
--Video
--应用层概述
-7.2 域名系统 DNS 概述
--Video
-7.3 DNS之域名解析
--Video
--域名解析
-7.4 电子邮件 e-mail
--Video
-7.5 万维网 WWW
--Video
--万维网 WWW
-7.6 其它应用
--Video
--其它应用
-附录1:思考题
--html
-附录2:术语中英对照表
--html
-第七章 应用层--章节测试
-附录3: 本章无背景音乐的视频
--7-4_电子邮件
--7-6_其它应用