DNS详解

DNS 详解1. DNS 定义:DNS 是域名系统(Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Intern et 上域名与IP 地址之间是一

DNS 详解

1. DNS 定义:

DNS 是域名系统(Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Intern et 上域名与IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器,域名的最终指向是IP 。

在IPv4中IP 是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是IP 地址,范围是在0~255之间。(8个二进制数转化为十进制数的最大范围就是0~255)现在已开始试运行、将来必将代替IPv 4的IPV6中,将以128位二进制数表示一个IP 地址。 DNS :Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP 地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。

DNS :Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互相认识IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。 2. 使用的是UDP53号端口。

3.DNS 的工作原理:

以访问[url]www.xxx.com[/url] 为例,

,

(1)客户端首先检查本地c:windowssystem32driversetchost文件,是否有对应的IP 地址,若有,则直接访问WEB 站点,若无, 则(2); (2)客户端检查本地缓存信息,若有,则直接访问WEB 站点,若无(3);

(3)本地DNS 检查缓存信息,若有,将IP 地址返回给客户端,客户端可直接访问WEB 站点,若无;

(4)本地DNS 检查区域文件是否有对应的IP ,若有,将IP 地址返回给客户端,客户端可直接访问WEB 站点,若无;

(5)本地DNS 根据cache.dns 文件中指定的根DNS 服务器的IP 地址,转向根DNS 查询;

(6)根DNS 收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com 服务器的IP 地址告诉本地DNS 服务器;

(7).com 服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xx x 服务器的IP 地址告诉本地DNS 服务器;

(8).xxx 服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回[url]www.xxx.com[/url]的IP 地址给本地服务器

(9)本地DNS 服务器将[url]www.xxx.com[/url]的IP 地址返回给客户端,客户端通过这个IP 地址与WEB 站点建立连接

4. 实例:具体看一个名字到地址的解析过程:

当您在浏览器中输入([url]www.seebod.com.[/url]),我们的电脑是如何得到IP 地址的?

1、浏览器发现是一个名字,于是调用我们机器内部的DNS Client 软件,这个软件会把我们的请求发送到网卡Tcp/IP设置中的默认DNS 服务器IP 地址(上海电信

,

提供DNS 的服务器有3台,其中一台IP 是202.96.209.5):“您可以告诉我

[url]www.seebod.com.[/url]的IP 地址吗?我这是一个递归查询” 2、 202.96.209.5的DNS 服务器会检查自己的DNS 缓存,如果缓存里有,就直接返回给客户,如果没有,202.96.209.5就会向自己系统内部配置中负责. 域的DNS 服务器的IP 地址(负责. 域的那台DNS 服务器位于美国,共13台,系统会随机选一台,这里比如是61.1.1.1)发出请求: “您能告诉我[url]www.seebod.com.[/url]的IP 地址吗?我这是一个迭代查询”

3、. 域DNS 服务器61.1.1.1中包含负责net. 域解析的IP 地址,把查询结果返回给202.96.209.5:“负责net. 域的DNS 服务器地址是54.4.4.4” 4、202.96.209.5收到上面的查询结果后,于是询问负责net. 域的DNS 服务器54.4.4.4 :“您能告诉我负责[url]www.seebod.com.[/url]的IP 地址吗?我这是一个迭代查询。”

5、负责net. 域的DNS 服务器54.4.4.4把查询后的结果返回给202.96. 209.5:“负责seebod.com. 域的dns 服务器的ip 地址是 211.152.1

7.58”

6、202.96.209.5收到上面的查询结果够,于是询问负责seebod.com. 域的DNS 服务器211.152.17.58:“您能告诉我[url]www.seebod.com.[/url]所对应的IP 地址吗?”

7、211.152.17.58把查询后的结果返回给202.96.209.5:“[url]www.seebod.com.[/url]对应的IP 地址是211.100.26.123” 8、202.96.209.5把最终结果放到自己的DNS 缓存里,这样以后就不用再进

9、202.96.209.5把最终结果返回给最初发起请求的客户机。 行上面的迭代查询了。

,

10、客户机的dns client 软件把最终结果返回给浏览器。 11、浏览器把目的IP 地址连同http 数据传递给网络层。 12、网络层根据目标地址判断路由,发现目标IP 地址211.152.17.58与本机不在同一个网段(判断是否是同一个网段使用子网掩码与目的IP 地址做与运算) ,于是决定把包发给网关。

13、检查本地arp 缓存表获得本地网关的MAC 地址。

5、DNS 查询

DNS 查询可以有两种解释,一种是指客户端查询指定DNS 服务器上的资源记录(如A 记录),另一种是指查询FQDN 名的解析过程。

一、查询DNS 服务器上的资源记录

您可以在Windows 平台下,使用命令行工具,输入nslookup [url]www.baidu.com[/url] ,返回的结果包括域名对应的IP 地址(A 记录)、别名(CNAME 记录)等。除了以上方法外,还可以通过一些DNS 查询站点如国外的 d nsstuff.com 国内的 dirs.cn 查询域名的DNS 信息。

二、FQDN 名的解析过程查询

若想跟踪一个FQDN 名的解析过程,在Linux Shell 下输入dig [url]www.baidu.com[/url] trace,返回的结果包括从跟域开始的递归或迭代过程,一直到权威域名服务器。

标签: