码迷,mamicode.com
首页 > 其他好文 > 详细

应用层

时间:2020-02-22 13:58:06      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:客户   三级   第四部分   报文   根域名服务器   递归   mil   无法查询   查询方式   

前面各节讨论了计算机网络提供通信服务的过程,这里讨论各种应用进程通过什么样的应用层协议来使用网络所提供的这些通信服务。

 

一、域名系统DNS

1.域名系统的概述

用户与互联网上某个主机通信时,必须要知道对方的IP地址。然而用户很难记住长达 32位二进制主机地址。即使是点分十进制IP地址也并不太容易记忆。在应用层为了便于用户记忆各种网络应用,连接在互联网上主机不仅有IP地址,而且还有便于用户记忆的主机名字。域名系统DNS能够把互联网上的主机名字转换为IP地址

域名到IP地址的解析是由分布在因特网上的许多域名服务器程序(可简称为域名服务器)共同完成的。

2.互联网的域名结构

domain)是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。每一个域名都是由标号(label)序列组成,而各标号之间用点隔开。

mail.cctv.com

三级域名·二级域名.顶级域名

每一个标号不超过63个字符,也不区分大小写字母。级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。

顶级域名:

1)国家顶级域名:cn表示中国,us表示美国,uk表示英国,等等。

2)通用顶级域名:com(公司企业),net(网络服务机构),org(非赢利性组织),int(国际组织),edu(美国专用的教育机构),gov(美国的政府部门),mil表示(美国的军事部门)等等。

3)基础结构域名:arpa,仅有一个。

在国家顶级域名下注册的二级域名均由该国家自行确定。 我国把二级域名划分为类别域名”和行政区域名”两大类。

  类别域名”共7个,分别为:ac(科研机构);com(工、商、金融等企业);edu (中国的教育机构):gov(中国的政府机构);mil(中国的国防机构);net(提供互联网络服务的机构);org(非营利性的组织)。

  “行政区域名"共34个,适用于我国的各省、自治区、直辖市。例如:bj(北京市), js(江苏省),等等。

顶级域名上面的一级可称为,但没有对应的名字。

一旦某个单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,并且不必由其上级机构批准。

3.域名服务器

具体实现域名系统则是使用分布在各地的域名服务器,一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。

根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:

1)根域名服务器

根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个的DNS系统就无法工作。需要注意的是,在许多情况下,根域名服务器并不直接把待查询的域名直接转换成IP 地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

2)顶级域名服务器

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

3)权限域名服务器

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

4)本地域名服务器

当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。这种域名服务器有时也称为默认域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。

 

域名解析过程

这里要注意两点。

第一,主机向本地域名服务器的查询一般都是采用递归查询,所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。因此,递归查询返回的查询结果或者是所要查询的伊地址,或者是报错,表示无法查询到所需的IP地址。

第二,本地域名服务器向根域名服务器的查询通常是采用迭代查询,迭代查询的特点是这样的:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的伊地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。最后,知道了所要解析的域名的IP地址,然后把这个结果返回给发起查询的主机。

当然,本地域名服务器可以使用迭代查询也可以使用递归查询,这取决于最初的查询请求报文的设置是要求使用哪一种查询方式。

 

为了提高DNS查询效率,在域名服务器中广泛地使用了高速缓存(有时也称为高速缓存域名服务器)。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。那么下次如果有主机要查询的某域名对应的IP地址恰好在高速缓存里面,则可以不向根域名服务器进行查询,而是直接把缓存中存放的上次查询结果告诉用户。

 

二、万维网WWW

万维网WWW (World Wide web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所,英文简称为Web。万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。图6·8说明了万维网提供分布式服务的特点。正是由于万维网的出现,使因特网从仅由少数计算机专家使用变为普通百姓也能利用的信息资源。

万维网是超文本系统的扩充。所谓超文本是包含指向其他文档的链接的文本。也就是说,一个超文本由多个信息源链接成,而这些信息源的数目实际上是不受限制的。利用一个链接可使用户找到另一个文档,而这又可链接到其他的文档(依次类推)。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。

万维网以客户服务器方式工作。浏览器就是在用户主机上的万维网客户程序。万维网文档所驻留的主机则运行服务器程序,因此这个主机也称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在客户程序主窗口上显示出的万维网文档称为页面。

1.统一资源定位符URL

统一资源定位符URL是用来表示从互联网上得到的资源位置和访问这些资源的方法。 URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。URL实际上就是在互联网上的资源的地址,只有知道了这个资源在互联网上的什么地方,才能对它进行操作

URL的一般形式由以下四个部分组成:<协议>://<主机>:<端口>/<路径>

这里的<协议>就是指出使用什么协议来获取该万维网文档。现在最常用的协议就是http(超文本传送协议HTTP),其次是ftp(文件传送协议FTP)。在<协议>后面是规定必须写上的格式“:// ”,不能省略。它的右边是第二部分<主机>,它指出这个万维网文档是在哪一个主机上。这里的<主机>就是指该主机在互联网上的域名。再后面是第三和第四部分<端口>和<路径>,有时可省略。URL的协议<协议>和<主机>部分,字母不分大小写,但<路径>有时要区分大小写。

2.超文本传送协议HTTP

1)HTTP的操作过程

HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器(和万维网客户是同义词)向服务器发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接就被释放了。在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。

HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。HTTP协议本身是无连接的。这就是说,虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立 HTTP连接。

HTTP协议是无状态也就是说,同一个客户第二次访问同一个服务器上的氕面时,服务器的响应与第一次被访问时的相同,因为服务器并不记得曾经访问过的这个客户,也不记得为该客户曾经服务过多少次。

用户在点击鼠标链接某个万维网文档时,HTTP协议首先要和服务器建立TCP 连接。这需要使用三次握手。当三次握手的前两部分完成后(即经过了一个RTT时间后),万维网客户就把HTTP请求报文作为三次握手的第三个报文的数据发送给万维网服务器。服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户。

2)代理服务器

代理服务器是一种网络实体,它又称为万维网高速缓存,代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。代理服务器可在客户端或服务器端工作,也可在中间系统上工作。

应用层

标签:客户   三级   第四部分   报文   根域名服务器   递归   mil   无法查询   查询方式   

原文地址:https://www.cnblogs.com/cs0915/p/12345063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!