应用层

域名系统DNS

域名系统的概述

域名系统DNS用于把人们使用的机器名字转换为IP地址。域名到IP地址的解析是由因特网上的许多域名服务器共同完成的。

域名到IP地址的解析过程如下:

当某一个应用进程需要把主机名解析为IP地址的时候,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS的请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器找到域名后,把对应的IP地址放在回答报文内。

如果本地域名服务器无法回答该请求,则此域名服务器暂时称为DNS的另一个客户,并向其他域名服务器发送查询请求。

因特网的域名结构

域名服务器

实现域名系统则是使用分布在各地的域名服务器。DNS采用划区的方法部署域名服务器。一个服务器负责管辖的范围叫区,每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。并且区是域的子集。一个域可能划分为多个区。

(1)根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管哪一个本地域名服务器对一个域名解析时无法解析,都会首先求助于根域名服务器。

(2)顶级域名服务器:这些域名服务器负责在该顶级域名服务器注册所有的二级域名。当收到DNS请求时,就给出相应的应答。

(3)权限域名服务器:负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉查询请求的DNS客户,下一步应当找哪一个权限域名服务器。

(4)本地域名服务器:当一个主机发出DNS请求时,这个查询请求报文就发送给本地域名服务器。

域名解析过程

第一,主机向本地域名服务器的查询一般采用递归查询。递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名IP,那么本地域名服务器以DNS客户的身份,向其他根域名服务器发出查询请求报文,而不是由主机自己进行下一步查询。

第二,本地域名服务器向根域名服务器的查询通常采用迭代查询(也可以采用递归查询)。迭代查询就是:当根域名收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”,然后本地域名服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器收到本地域名服务器查询请求后,要么给出查询IP,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询。

超文本传送协议

HTTP是面向事务(信息交换的原子性)的应用层协议,因此可以可靠的传输信息。

HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输过程中被丢弃后又怎样被重传。但是,HTTP协议本身是无连接的。

HTTP的报文结构

请求报文和响应报文都是由三部分组成:

                   

(1)开始行  

用于区分请求报文还是响应报文。请求报文的开始行叫做请行,响应报文的开始行叫做状态行。

(2)首部行

用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,但也可以没有。每一个首部行都有首部字段名和值。

(3)实体主体

请求报文一般不用,响应报文也可能没有。

 

 

posted @ 2017-03-22 15:54  且听风吟-wuchao  阅读(207)  评论(0编辑  收藏  举报