应用层(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaodu655/article/details/82079363

一、文件传送协议
1.FTP概述:
文件传送协议FT是因特网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。
基于TCP和FTP和基于UDP的TFTP,它们都是文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。

文件共享协议中的联机访问。联机访问意味着允许多个程序同时对一个文件进行存取。和数据库系统不同之处是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远地共享文件进行访问的服务,操作系统中的文件系统提供对共享文件的透明存取。
透明存取的优点:将原本用于处理本地文件的应用程序用来处理远地文件时,不需要对该应用程序作明显的改动。

2.FTP的基本工作原理:
文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤如下:
(1).打开熟知端口(端口号为21),使客户进程能够连接上。
(2).等待客户进程发出连接请求。
(3).启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止。
(4).回到等待状态。

FTP的客户和服务器之间要建立两个并行的TCP连接:”控制连接“和”数据连接“。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。

2.简单文本传送协议TFTP

TFTP也使用客户服务器方式,但它使用UDP数据报,因此TFIP需要有自己的差错改正措施。TFIP只支持文件传输而不支持交互。

TFIP的主要特点:
(1).每次传送的数据报文中有512字节的数据,但最后一次可不足512字节。
(2).数据报文按序编号,从1开始
(3).支持ASCII码或二进制传送。
(4).可对文件进行读或写。
(5).使用简单的首部。

3.远端终端协议TELNET
TELNET是一个简单的远程终端协议,能将用户的击键传到远地主机,同时也能将远地主机的输出通过连接在远地主机上。

我们用HTTP/1.0更具体地说明在用户点击鼠标后所发生地几个事件。
(1).浏览器分析链接指向页面的URL。
(2).浏览器向DNS请求解析IP地址。
(3).域名系统DNS解析出IP地址。
(4).浏览器与服务器建立TCP连接
(5).浏览器发出取文件命令:GET
(6).服务器给出响应,把文件index.html发送给浏览器。
(7).释放TCP连接
(8).浏览器显示文件index.html中的所有文本。
浏览器在下载文件时,可设置为只下载其中的文本部分,这样可使下载的速度加快。在这种情况下,文件中原来嵌入图像或声音的地方只用一个小图标来显示。用户若要下载这些图像或声音,可使用鼠标再分别点击这些图标。每点击一次图标,就重复执行一次类似于上面的8个步骤。也是先建立TCP连接,再使用TCP连接传送命令和传送文件,最后释放TCP连接。
4.超文本传送协议HTTP

这里写图片描述
HTTP是无状态的,也就是说,同一客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同(假定现在服务器还没有把该页面更新)。因为服务器并不记得它访问过这个客户,也不记得为该客户曾经服务过多少次。HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。
这里写图片描述
从上图可以看出,请求一个文档所需的时间是该文档的传输时间加上两倍往返时间RTT(一个RTT用于连接TCP连接,另一个RTT用来请求和接收万维网文档)。这里TCP建立连接的三次握手的第三个报文段中捎带了客户对万维网文档的请求。

HTTP1.0的主要缺点:每请求一个文档就要有两倍的RTT的开销。若一个主页上有很多链接的对象需要一次进行链接,那么每一次链接下载都导致2*RTT的开销。另一种开销是万维网客户和服务器往往要同时服务于大量客户的请求,这样万维网服务器的负担很重。

HTTP1.1使用了持续连接,就是服务器在发送响应后仍然在一段时间内保持着这条连接,使同一个客户和该服务器在发送响应后仍然在一段时间内保持这条连接,是同一个客户不局限于传送同一个页面上连接的文档,而是只要这些文档都在同一个服务器上就行。

HTTP/1/1协议的持续连接有两种工作方式:非流水线方式和流水线方式。
非流水线方式的特点:客户在收到前一个响应后才能发出下一个请求。因此,在TCP连接已建立后,客户每访问一次对象都要用去一个往返时间RTT。比非持续连接的两倍RTT的开销节省了建立TCP连接所需的一个RTT时间。但是非流水线方式缺点:因为服务器在发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。
流水线方式:是客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。于是一个接一个的请求报文到达服务器后,服务器就可以连续发回响应报文。因此,使用流水线方式时,客户访问所有对象只需花费一个RTT时间。流水线工作方式使TCP连接中的空闲时间减少,提高了下载文档的效率。

猜你喜欢

转载自blog.csdn.net/xiaodu655/article/details/82079363