第5章FTP协议_第1页
第5章FTP协议_第2页
第5章FTP协议_第3页
第5章FTP协议_第4页
第5章FTP协议_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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命令分为三类:命令分为三类:存取控制命令存取控制命令传输

11、参数命令传输参数命令FTPFTP服务命令服务命令 FTPFTP命令命令存取控制命令存取控制命令主要提供了用户身份验证功能和目录切换功能主要提供了用户身份验证功能和目录切换功能命令与格式描述USER username向服务器提供用户名以实现用户验证PASS password紧随USER命令,向服务器提供用户名相对应的密码CWD pathname改变当前工作目录CDUP返回到上一级目录QUIT从FTP服务器上退出登录,关闭控制连接(若文件传输未结束,则等待传输完成再响应本命令)常用常用FTP命令(命令(1) 存取控制命令存取控制命令 FTPFTP命令命令传输参数命令传输参数命令传输参数设置后一直有

12、效,除非用新的命令改变传输参传输参数设置后一直有效,除非用新的命令改变传输参数,或者新建立了数据连接数,或者新建立了数据连接 命令与格式描述PORT host-port使用主动(Active)模式传输数据PASV使用被动(Passive)模式传输数据TYPE type-code设置文件的数据类型STRU structure-code设置文件的数据结构MODE mode-code设置传输模式常用常用FTP命令(命令(2) 传输参数命令传输参数命令 FTPFTP命令命令FTPFTP服务命令服务命令定义了一系列文件传输及文件系统操作相关的定义了一系列文件传输及文件系统操作相关的命令,这些命令的参数通

13、常是命令,这些命令的参数通常是pathnamepathname(路径(路径名),路径名的书写必须符合服务器端的规范名),路径名的书写必须符合服务器端的规范常用常用FTP命令(命令(3) FTP服务命令服务命令命令与格式描述LIST pathname显示服务器上指定路径下的文件与目录列表RETR pathname从服务器上检索(下载)一个文件STOR pathname往服务器上存储(上传)一个文件APPE pathname添加数据到服务器上的指定文件(若文件不存在则自动创建)DELE pathname删除服务器上的指定文件RNFR pathnameRNTO pathname文件重命名,这两条命令

14、需要同时使用:RNFR命令指定旧的文件名,RNTO命令指定新的文件名MKD pathname在服务器上建立指定目录RMD pathname从服务器上删除指定目录PWD显示当前工作目录HELP string返回指定命令信息(若不指定命令名,则返回可用命令列表)STAT返回状态信息(如上传、下载的字节数等)SYST返回服务器上使用操作系统的类型ABOR中止前一命令,并中断数据传输NOOP无动作(但服务器会回送OK作为响应)FTPFTP应答应答服务器接收客户端命令并处理之后,会返回给客户服务器接收客户端命令并处理之后,会返回给客户端相应的命令响应信息,这种返回响应的方式称作端相应的命令响应信息,这种

15、返回响应的方式称作FTPFTP应答应答FTPFTP应答保证了文件传输过程中请求与行为的同步,应答保证了文件传输过程中请求与行为的同步,并使得用户进程总是能了解服务器的状态并使得用户进程总是能了解服务器的状态每条每条FTPFTP命令可以产生一条或多条响应,但多数情况命令可以产生一条或多条响应,但多数情况下,每条命令只返回一条响应下,每条命令只返回一条响应FTPFTP应答应答FTPFTP响应与响应与FTPFTP命令一样,都是在客户端与服务器命令一样,都是在客户端与服务器之间的控制连接上以之间的控制连接上以NVT ASCIINVT ASCII码形式传送,并码形式传送,并在每行末尾以在每行末尾以CR-

16、LFCR-LF标志行结束标志行结束FTPFTP响应由一个响应由一个3 3位的数字代码(应答码),一个位的数字代码(应答码),一个字符串形式的表示命令执行成功与否的文本,以字符串形式的表示命令执行成功与否的文本,以及命令执行成功后的输出组成。及命令执行成功后的输出组成。FTPFTP响应的格式:响应的格式:CR-LF为为3 3位数字的应答码位数字的应答码表示空格表示空格是一行提供给用户阅读的文本信是一行提供给用户阅读的文本信息息是行结束符是行结束符FTPFTP应答应答应答码描述1yz肯定预备应答。它仅仅是在发送另一个命令前期在另一个应答时启动2yz表示命令已执行成功,可以接受新命令(该命令同时返回

17、命令的执行结果)3yz表示该命令已被接受,但还需要发送另一个命令来成功完成客户端的请求4yz表示命令执行时出错,但错误状态是暂时的,命令可以稍后再发送5yz表示命令无法被接受(不能通过重新发送命令来解决)x0z表示命令中有语法错误x1z表示返回请求的信息(如HELP命令)x2z表示响应与控制连接或数据连接有关x3z表示响应中包含了用户账户信息x4z暂时未指定含义x5z表示服务器上响应客户端命令的文件系统状态FTP应答码中第应答码中第1位和第位和第2位的含义位的含义 FTPFTP连接管理连接管理进行通信时,进行通信时,FTPFTP需要建立两个需要建立两个TCPTCP连接连接控制连接(端口号默认值

18、为控制连接(端口号默认值为2121):用于发送指指令给服):用于发送指指令给服务器及接收服务器响应务器及接收服务器响应数据连接(端口号默认值为数据连接(端口号默认值为2020,仅,仅PORTPORT模式):数据传模式):数据传输的通道输的通道FTPFTP协议中规定了两种连接模式协议中规定了两种连接模式PORTPORT(主动模式)(主动模式)PASVPASV(被动模式)(被动模式)PORTPORT模式模式 数据连接由服务器初始化完成数据连接由服务器初始化完成客户端选择一个大于客户端选择一个大于10241024的端口连接服务器的的端口连接服务器的2121端口端口需传输数据时,客户端会送出需传输数据时,客户端会送出PORTPORT命令告诉服务器连接到自己命令告诉服务器连接到自己的某一端口来建立数据连接,同时侦听该端口的某一端口来建立数据连接,同时侦听该端口服务器收到服务器收到PORTPORT命令时,会使用命令时,会使用2020端口连接客户端在端口连接客户端在PORTPORT命令命令中指定的端口号,然后传输数据中指定的端口号,然后传输数据使用使用PORT模式的模式的FT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论