第5章FTP协议

《第5章FTP协议》由会员分享,可在线阅读,更多相关《第5章FTP协议(22页珍藏版)》请在文档大全上搜索。
1、第五讲第五讲 FTPFTP协议协议应用层应用层 应用层是应用层是TCP/IPTCP/IP协议组的顶层。在应用层中,你可协议组的顶层。在应用层中,你可以看到通过以看到通过TCPTCP和和UDPUDP端口与较低层进行通信的网络端口与较低层进行通信的网络应用程序和服务程序。应用程序和服务程序。 TCP/IPTCP/IP的应用层确实是一种能感知网络状况的软件的应用层确实是一种能感知网络状况的软件组件,负责向组件,负责向TCPTCP和和UDPUDP端口发送信息和接收来自端口发送信息和接收来自TCPTCP和和UDPUDP端口的信息。这些应用层组件并不真是并端口的信息。这些应用层组件并不真是并行的,而只是逻
2、辑上相似或等同。行的,而只是逻辑上相似或等同。 FTPFTP协议协议FTPFTP是是InternetInternet传统的服务之一,其功能主要传统的服务之一,其功能主要是在主机间高速、可靠地传输文件是在主机间高速、可靠地传输文件FTPFTP是用于实现文件传输服务的最主要的规范,是用于实现文件传输服务的最主要的规范,除了最主要的传输功能以外,除了最主要的传输功能以外,FTPFTP还提供了以还提供了以下功能:下功能:交互方式:命令行方式或图形用户界面交互方式:命令行方式或图形用户界面数据表示:允许客户端程序指定传输数据的类型及格数据表示:允许客户端程序指定传输数据的类型及格式式 身份验证:用户访问
3、身份验证:用户访问FTPFTP服务器需要提供经过授权的服务器需要提供经过授权的用户名与密码,以保证数据安全,特殊的匿名访问方用户名与密码,以保证数据安全,特殊的匿名访问方式则取消了这种限制式则取消了这种限制FTPFTP的工作原理的工作原理FTPFTP使用客户端使用客户端服务器模式,用户执行服务器模式,用户执行FTPFTP程序,程序,客户端程序先与远程服务器建立连接,用户登录到客户端程序先与远程服务器建立连接,用户登录到远程服务器后,向远程服务器发出传输命令,服务远程服务器后,向远程服务器发出传输命令,服务器在收到命令后就给予响应,并执行正确的命令器在收到命令后就给予响应,并执行正确的命令FTP
4、FTP会建立两种类型的连接:控制连接与数据连接。会建立两种类型的连接:控制连接与数据连接。控制连接传送客户端发出的命令和服务器返回的响控制连接传送客户端发出的命令和服务器返回的响应信息,数据连接则负责传输文件的内容应信息,数据连接则负责传输文件的内容FTPFTP的工作原理的工作原理FTP模型示意图模型示意图 协议解析器:协议解析器:Protocol Interpreter,PI数据传输进程:数据传输进程:Data Transfer Process,DTP,负责建立并管理数据连接负责建立并管理数据连接 FTPFTP连接过程连接过程用户用户PIPI初始化控制连接,在开始阶段,用户初始化控制连接,在
5、开始阶段,用户PIPI将用户下达将用户下达的命令转化为标准的的命令转化为标准的FTPFTP命令,并通过控制连接发送至服务命令,并通过控制连接发送至服务器进程。器进程。服务器服务器PIPI收到收到FTPFTP命令后,通过控制连接把标准应答信息返命令后,通过控制连接把标准应答信息返回给用户回给用户PIPI。FTPFTP命令指定了数据连接的参数命令指定了数据连接的参数( (如端口、传输模式、数据如端口、传输模式、数据表示类型、文件结构等表示类型、文件结构等) ),以及对文件系统的操作,以及对文件系统的操作( (检索检索lsls、下载下载getget、上传、上传putput、删除、删除deletede
6、lete等等) )。用户用户DTPDTP在特定的端口侦听,服务器初始化数据连接并以指在特定的端口侦听,服务器初始化数据连接并以指定的参数开始数据传输。定的参数开始数据传输。数据传输是全双工连接,而且可以根据需要动态创建,当数据传输是全双工连接,而且可以根据需要动态创建,当要传输数据时才建一条数据连接,数据传输完毕则关闭数要传输数据时才建一条数据连接,数据传输完毕则关闭数据连接据连接控制连接一直存在,断开则意味着控制连接一直存在,断开则意味着FTPFTP会话结束会话结束FTPFTP的数据表示的数据表示数据表示包括数据类型和文件结构两个方面数据表示包括数据类型和文件结构两个方面数据类型数据类型AS
7、CIIASCII类型,默认的数据类型,用于传输文本文件类型,默认的数据类型,用于传输文本文件 EBCDICEBCDIC类型类型( (扩充的二进制编码的十进制交换码扩充的二进制编码的十进制交换码) ) ,类似,类似ASCIIASCII的规范,主要在的规范,主要在IBMIBM计算机上使用计算机上使用IMAGEIMAGE类型类型( (二进制文件类型二进制文件类型) )LOCALLOCAL类型类型( (指本地文件指本地文件) )数据结构数据结构文件结构,认为文件由连续的字节流组成,是默认选择结构文件结构,认为文件由连续的字节流组成,是默认选择结构记录结构,认为文件由一系列记录组成记录结构,认为文件由一
8、系列记录组成页结构,认为文件由一组独立的带编号的页组成页结构,认为文件由一组独立的带编号的页组成FTPFTP的传输模式的传输模式FTPFTP协议规范中规定了三种传输模式协议规范中规定了三种传输模式 STREAMSTREAM模式(流模式),默认模式,文件以字节流模式(流模式),默认模式,文件以字节流的形式传输的形式传输BLOCKBLOCK模式(块模式),文件以一系列数据块的方式模式(块模式),文件以一系列数据块的方式传输,每个块都带有一个或多个报头,报头包括传输,每个块都带有一个或多个报头,报头包括1 1字字节的描述符与节的描述符与2 2字节的计数字段字节的计数字段COMPRESSEDCOMPR
9、ESSED模式(压缩模式),采用一种简单的全模式(压缩模式),采用一种简单的全长编码压缩算法,压缩连续出现的字节,在文本文件长编码压缩算法,压缩连续出现的字节,在文本文件中常用来压缩空白串,在二进制文件中常用来压缩值中常用来压缩空白串,在二进制文件中常用来压缩值为为0 0的字节的字节常用常用FTPFTP模式模式类型:类型:ASCIIASCII或图像或图像结构:只允许文件结构结构:只允许文件结构传输方式:只允许流格式传输方式:只允许流格式FTPFTP命令命令FTPFTP协议规范中定义了许多协议规范中定义了许多FTPFTP命令,用于登录命令,用于登录FTPFTP服务器、设置传输参数、浏览服务上的文
10、件与目录服务器、设置传输参数、浏览服务上的文件与目录列表、获取服务器上的文件、存储文件到服务器上,列表、获取服务器上的文件、存储文件到服务器上,并管理服务器与客户端之间文件的传输过程。并管理服务器与客户端之间文件的传输过程。这里所说的这里所说的FTPFTP命令,指的是命令,指的是FTPFTP协议中定义的标准协议中定义的标准FTPFTP命令,要特别注意不能与命令,要特别注意不能与FTPFTP程序所提供给的用程序所提供给的用户使用的操作命令混为一谈。户使用的操作命令混为一谈。FTPFTP命令命令FTPFTP协议中将标准协议中将标准FTPFTP命令分为三类:命令分为三类:存取控制命令存取控制命令传输