计算机网络(二)应用层2 域名系统DNS

IP和域名:

用户与互联网上的主机通信时,需要使用主机IP ,但是IP通常为32位定长二进制地址,难以记忆,因此用户通常使用便于记忆的主机名字(域名),域名便于记忆,但长度不固定,难以直接处理。

但是机器在处理IP数据报时需要IP而非域名,因为域名便于记忆,但长度不固定,难以直接处理。而IP为固定32位长度的二进制,便于处理。

即用户——域名,机器——IP,而DNS就是把域名转化为IP,便于机器处理。

一个IP可以对应多个域名,一个域名也可以对应多个IP

一、DNS定义

        域名系统DNS(domain name system)是互联网使用的命名系统,用来把域名转换为IP地址。

         域名解析:即地址转换,由域名服务器完成。

 解析过程:

一个进程需要把主机名解析为IP地址时,该进程调用解析程序,成为DNS的一个客户,

把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器,

本地域名服务器在查找域名后,把对应的IP地址放在回答报文中,进程获得IP地址后即可进行通信。

        结构:分布式域名系统:DNS被设计为一个分布式结构,采用客户服务器的方式 ,防止单个服务器出现故障而影响整个服务器的运行。

 

二、域名结构 

采用层次树状结构进行命名,层次结构的名字即域名 (domain name)

域是空间中一个可以被管理的划分,可以划分为子域。 

域名由标号序列组成,标号之间由 . 隔开 

如www.jxnu.edu.cn中,

cn为顶级域名,代表中国;

edu是二级域名,代表教育网;

jxnu为三级域名;

www为四级域名,表示万维网。

三、域名服务器 

每个服务器管辖的范围叫做,每个区会设置相应的权限域名服务器(autoritative name server),用来保存该区中所有主机的域名和对应IP的映射。

若客户想查询www.baidu.com的IP:

先查询跟域名服务器,找到com域名解析服务器

查询com域名服务器,找到baidu.com域名服务器

查询baidu.com域名服务器,找到www.baidu.com的IP地址

 

(一)域名服务器的划分: 
1. 根域名服务器(root name server)

是最高层次的域名服务器,所有跟域名服务器知道所有顶级域名服务器的域名和IP地址,本地域名服务器无法解析时,要首先向根域名服务器求助。 

当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。这就加快了DNS的查询过程,同时也更合理地利用了因特网的资源。

2. 顶级域名服务器(TLD)

 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)。

3.权限域名服务器 

 这些域名服务器负责管理某个区的域名。

4.本地域名服务器 (local name server)

本地域名服务器不属于上述的域名服务器的等级结构。当一个主机发出DNS请求报文时,这个报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。

本地域名服务器离用户较近,一般不超过几个路由器的距离,也有可能就在同一个局域网中。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。 

(二)域名服务器的查询方式: 
1.递归查询 (recursive query) 

 主机向本地域名服务器的查询

如果 本地域名服务器不知道被查询的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器发出请求报文,替主机进行查询,而不是让本机去查询。

过程:

1、主机首先向其本地域名服务器进行递归查询。

2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。

3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。

4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。

 

2.迭代查询 (iterative query)

本地域名服务器向根域名服务器的查询 

 当根域名服务器收到本地域名服务器的迭代请求报文时,要么给出IP地址,要么告诉本地域名服务器“你下一步应该向哪一个域名服务器查询”,指导本地域名服务器下一个查询的方向,让本地域名服务器去进行下一步查询。 

过程:

1、主机首先向其本地域名服务器进行递归查询。
2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
4、本地域名服务器向顶级域名服务器进行迭代查询。
5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
6、本地域名服务器向权限域名服务器进行迭代查询。
7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
8、本地域名服务器最后把查询的结果告诉主机。

 

(两者都是让本地域名服务器进行查询) 

总结:(一般采用递归-迭代结合的方法进行查询 ,减少负荷)如图:

 

(三)高速缓存 

 存放最近查询过的域名即从何处获得域名映射的记录。

可以提高DNS查询效率,减轻根域名服务器的负荷,减少DNS查询报文和回答报文的数量。在域名服务器中广泛使用高速缓存。

(这些文章都是我作为学习笔记总结记录的,有些会借鉴网络上其他学习者的图片内容等,如侵删) 

  • 18
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值