TCPIP原理与应用_第12章_文件传输协议课件.ppt
《TCPIP原理与应用_第12章_文件传输协议课件.ppt》由会员分享,可在线阅读,更多相关《TCPIP原理与应用_第12章_文件传输协议课件.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第12章 文件传输协议文件是计算机系统中信息存储、处理和传输的主要形文件是计算机系统中信息存储、处理和传输的主要形式,大多数计算机系统都支持网络文件访问功能。式,大多数计算机系统都支持网络文件访问功能。对网络文件访问的需求来自四个方面:对网络文件访问的需求来自四个方面:不同应用程序之间的不同应用程序之间的数据共享数据共享;利用利用远程存储远程存储介质存储后备文件;介质存储后备文件;无盘站点无盘站点通过网络访问服务器上的文件信息;通过网络访问服务器上的文件信息;以文件形式进行的以文件形式进行的数据交换数据交换。网络文件访问包括网络文件访问包括两种独立的形式两种独立的形式:文件传输:文件传输:本地
2、文件本地文件远程文件远程文件文件访问文件访问允许多个允许多个(远地远地)程序同时访问单个文件,任何一个程序同时访问单个文件,任何一个程序都不需要被访问文件的拷贝,直接在原文件上进行操作,程序都不需要被访问文件的拷贝,直接在原文件上进行操作,某程序对原文件的修改立即在原文件上表现出来,并为访问某程序对原文件的修改立即在原文件上表现出来,并为访问它的其他程序所感知。它的其他程序所感知。第12章 文件传输协议 12.1TCP/IP文件传输协议文件传输协议(FTP)12.2FTP进程模型进程模型12.3FTP命令与响应命令与响应12.4匿名匿名FTP12.5简单文件传送协议简单文件传送协议(TFTP)
3、12.6TFTP报文报文12.1TCP/IP文件传输协议(文件传输协议(FTP)1.FTP的的特点特点:FTP工作在工作在应用层应用层基于的传输协议是基于的传输协议是TCP客户和服务器客户和服务器模式模式面向面向连接连接,可靠可靠。2FTP的的目标目标:主机之间主机之间可靠和高效可靠和高效地地传输程序或数据传输程序或数据;向用户屏蔽不同主机中各种文件存储系统的向用户屏蔽不同主机中各种文件存储系统的细节细节。1)控制连接控制连接是建立在用户是建立在用户协议解释器协议解释器和服务器协议和服务器协议解释器之间用于解释器之间用于交换命令与应答交换命令与应答的通信链路。的通信链路。协议解释器PI(控制进
4、程)客户端控制连接服务器协议解释器PI(控制进程)命令/应答数据传输进程DTP客户端数据连接服务器数据传输进程DTP数据2)数据连接数据连接是传输数据的全双工连接。传输数据可是传输数据的全双工连接。传输数据可以发生在服务器以发生在服务器数据传输进程数据传输进程DTP和用户和用户DTP之间之间也可以发生在两个服务器也可以发生在两个服务器DTP之间。之间。3FTP的几个概念的几个概念3)文件类型)文件类型(1)ASCII码文件类型(默认选择),以码文件类型(默认选择),以NVTASCII码形式通过数据连接传输。码形式通过数据连接传输。(2)EBCDIC文件类型。该文本文件传输方式文件类型。该文本文
5、件传输方式要求两端都是要求两端都是EBCDIC系统。系统。(3)图像文件图像文件类型(也称为类型(也称为二进制文件二进制文件类型)。类型)。数据发送形式呈现为一个连续的比特流。数据发送形式呈现为一个连续的比特流。ASCII码文件类型和码文件类型和EBCDIC文件类型还要加文件类型还要加上文件是否上文件是否可打印可打印的的属性属性(Noprint/TELNET)4)数据结构)数据结构文件结构文件结构(Filestructure)字节流,无结字节流,无结构。构。记录结构记录结构(Recordstructure)文件被划文件被划分为记录,用于文本文件。分为记录,用于文本文件。页结构页结构(Pages
6、tructure)文件被划分为文件被划分为页,每页有页号和页头。可以进行随机页,每页有页号和页头。可以进行随机存取或顺序存取。存取或顺序存取。5)传输方式传输方式FTP的传输模式有流模式、块模式和压缩模式:的传输模式有流模式、块模式和压缩模式:(1)流模式流模式数据以字节流的形式传送数据以字节流的形式传送记录结构(记录结构(EOR,EOF)文件结构,接收到的所有数据就是文件内容。(文件结构,接收到的所有数据就是文件内容。(EOF)(2)块模式块模式文件以块形式传送,块带有自己的头部分。头字节文件以块形式传送,块带有自己的头部分。头字节包括包括16位计数域和位计数域和8位描述子代码。位描述子代码
7、。(3)压缩模式压缩模式压缩模式中,因为数据是压缩过的,对于增加带宽压缩模式中,因为数据是压缩过的,对于增加带宽有很多好处。有很多好处。块模式头块模式头字节的结构字节的结构描述子代码描述子代码由在描述子字节中的位标记说明由在描述子字节中的位标记说明4FTP的客户的客户服务器模型服务器模型 下图表示下图表示FTP客户客户服务器模型,客户和服务服务器模型,客户和服务器之间利用器之间利用TCP建立连接。建立连接。FTP客户与服务器之间要建立客户与服务器之间要建立双重连接双重连接,一个是,一个是控制连接控制连接,一个是,一个是数据连接数据连接。控制连接:控制连接:NVTASCII数据连接:文件类型、数
8、据结构数据连接:文件类型、数据结构、传输方式传输方式建立双重连接的建立双重连接的原因原因:FTP是一个是一个交互式会话交互式会话系统系统,某客户每次调用,某客户每次调用FTP,便与服务器建立便与服务器建立一个会话,一个会话,会话以控制连接来维持会话以控制连接来维持。客户每提出一个客户每提出一个数据传输数据传输请求,服务器与客请求,服务器与客户建立一个数据连接,进行实际的数据户建立一个数据连接,进行实际的数据(比如比如文件文件)传输。传输。一旦数据传输结束,数据连接相一旦数据传输结束,数据连接相继撤消,但控制连接依然存在继撤消,但控制连接依然存在,客户可以继,客户可以继续发出命令。续发出命令。客
9、户可以撤消控制连接客户可以撤消控制连接Close命令命令Quit命令命令返回返回12.2FTP进程模型进程模型 FTP服务的实现是由一组服务的实现是由一组FTP进程完成的。进程完成的。服务器服务器FTP进程:由进程:由协议解释器协议解释器PI(控制进程)控制进程)和和数据传输进程数据传输进程DTP组成。组成。用户用户FTP进程:由进程:由PI、DTP和和用户接口用户接口组成。组成。12.2.1FTP控制连接控制连接控制连接控制连接是建立在用户协议解释器和服务器协是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。议解释器之间用于交换命令与应答的通信链路。FTP仅仅在仅仅在
10、发送命令并接收应答发送命令并接收应答时使用控制连时使用控制连接。接。用户在两台主机间建立控制连接,然后进行数用户在两台主机间建立控制连接,然后进行数据连接,客户与服务器据连接,客户与服务器为每个文件传输建立一为每个文件传输建立一个单独的数据连接个单独的数据连接。如果用户请求另一个传输,那么客户与服务器如果用户请求另一个传输,那么客户与服务器将建立一个新的数据连接。为了避免在控制与将建立一个新的数据连接。为了避免在控制与数据连接之间发生冲突,数据连接之间发生冲突,FTP对于两者对于两者使用不使用不同的协议端口号同的协议端口号。FTP协议要求数据传输在处理时打开控制连接。协议要求数据传输在处理时打
11、开控制连接。尽管尽管数据连接频繁地出现并消失数据连接频繁地出现并消失,但是控制,但是控制连接却在连接却在整个会话中一直保持整个会话中一直保持着。在完成着。在完成FTP服务后由用户发出中止控制连接命令。服务后由用户发出中止控制连接命令。控制连接用控制连接用NVTASCII传命令和响应。传命令和响应。客户向服务器发出请求命令,形成控制连接客户向服务器发出请求命令,形成控制连接。12.2.2FTP数据连接数据连接数据连接是传输数据的数据连接是传输数据的全双工全双工连接。连接。1数据连接机制数据连接机制FTP支持支持两种传输模式两种传输模式:主动传输模式主动传输模式(也就是也就是 Active,Sta
12、ndard模式模式)被动传输模式被动传输模式(也就是也就是Passive模式模式)。FTP主动传输模式:主动传输模式:客户端首先和客户端首先和FTP Server的的TCP 21端口建立连接,通过这个通道发送命令。端口建立连接,通过这个通道发送命令。在建立在建立数据连接时,客户数据传输进程成为连接的接收者,数据连接时,客户数据传输进程成为连接的接收者,而服务器数据传输进程成了连接的请求者。而服务器数据传输进程成了连接的请求者。客户端客户端服务器服务器控制连接控制连接数据连接数据连接过程:客户在需要进行数据传输时,其数据传过程:客户在需要进行数据传输时,其数据传输进程在一个自由端口上发出输进程在
13、一个自由端口上发出被动打开被动打开,然后,然后客户在控制连接上通过客户在控制连接上通过PORT命令命令将该自由端将该自由端口告诉服务器控制进程,服务器数据传输进程口告诉服务器控制进程,服务器数据传输进程在端口在端口20上主动打开并与客户数据传输进程上主动打开并与客户数据传输进程的自由端口建立连接。的自由端口建立连接。数据连接机制还包括建立连接选择数据参数。数据连接机制还包括建立连接选择数据参数。客户端客户端服务器服务器数据连接数据连接控制连接控制连接20控制连接控制进程数据传输进程客户控制进程数据传输进程服务器1442发起FTP会话打开高端端口21打开熟知端口1443打开高端地址打开高端端口P
14、ORT 1443将端口告诉服务器数据连接FTP主动模式工作过程主动模式工作过程FTP被动传输模式:被动传输模式:当当FTP的控制连接建立,的控制连接建立,客户提出目录列表、传输文件等请求时,客户提出目录列表、传输文件等请求时,客户端发送客户端发送PASV命令使服务器处于被动传命令使服务器处于被动传输模式,输模式,FTP服务器等待客户与其联系。服务器等待客户与其联系。FTP服务器打开一个临时端口等待客户端对服务器打开一个临时端口等待客户端对其进行连接。其进行连接。客户端向服务器发起一个用客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是于数据传输的连接。客户端的连接端口是发起该数据连接
15、请求时使用的端口。发起该数据连接请求时使用的端口。在被动传输模式下,在被动传输模式下,FTP的数据连接和控制的数据连接和控制连接方向一致。连接方向一致。客户端客户端服务器服务器控制连接控制连接数据连接数据连接控制连接控制进程客户控制进程服务器1442发起FTP会话打开高端端口21打开熟知端口打开高端地址1443打开高端端口PASV要求以被动模式工作数据连接FTP被动模式工作过程被动模式工作过程2394数据传输进程数据传输进程227(地址,端口)响应中带地址和端口很多防火墙在设置的时候都不允许接受外很多防火墙在设置的时候都不允许接受外部发起的连接(出于安全考虑)部发起的连接(出于安全考虑),当当
16、FTP客客户在防火墙内访问防火墙之外的户在防火墙内访问防火墙之外的FTP服务器服务器时,需要使用时,需要使用被动传输模式被动传输模式。(。(为什么?为什么?)当位于当位于防火墙内的防火墙内的FTP客户与在防火墙外的客户与在防火墙外的FTP服务器以主动传输模式工作时候,因为服务器以主动传输模式工作时候,因为从服务器的从服务器的TCP 20无法和内部网络的客户无法和内部网络的客户端建立一个新的连接,造成无法工作。端建立一个新的连接,造成无法工作。客户端客户端服务器服务器无法建立数据连接无法建立数据连接控制连接控制连接防防火火墙墙几乎所有的几乎所有的ftp客户端软件都支持主动客户端软件都支持主动传输
17、传输模式和被动传输模式模式和被动传输模式。特殊的典型例子是。特殊的典型例子是IE,IE默认是用默认是用PORT方式的。如果要在方式的。如果要在IE里启用里启用PASV方式,请打开方式,请打开IE,在菜单里选在菜单里选择:工具择:工具 Internet选项选项 高级,高级,在在“使用使用被动被动ftp”前面打上钩前面打上钩(需要(需要IE6.0以上才支以上才支持)。持)。2数据连接管理数据连接管理默认数据连接端口:默认数据连接端口:FTP服务器在主动模式下必服务器在主动模式下必须使用须使用默认数据连接端口(默认数据连接端口(20)。非默认数据端口:在主动模式下,用户非默认数据端口:在主动模式下,
18、用户PI可以可以使使用用PORT命令指定客户的非默认端口。命令指定客户的非默认端口。在被动模式下,在被动模式下,服务器用服务器用227应应答通告服务器的非默认端口答通告服务器的非默认端口。3数据连接的关闭数据连接的关闭关闭连接的条件关闭连接的条件:用户端发送用户端发送ABORT命令命令服务器通过服务器通过EOF终止要求,表示结束发送数据终止要求,表示结束发送数据控制连接关闭控制连接关闭发生不可恢复错误发生不可恢复错误12.2.3端口号计算端口号计算在主动模式下,客户用在主动模式下,客户用PORT命令通告客户命令通告客户的数据端口号:的数据端口号:PORT(X.X.X.X,m,n)是在被动模式下
19、,是在被动模式下,服务器用服务器用227应答应答PASV命令,通告服务器的数据端口命令,通告服务器的数据端口号号:(X.X.X.X,m,n)端口号由两个字节端口号由两个字节m和和n来表示来表示实际端口号实际端口号=m256+n在在IIS4和和IIS5里面端口的范围是里面端口的范围是10245000,但是许,但是许多多FTP Server的端口范围达到了的端口范围达到了102465535,如果,如果IIS也要设置成开放的端口为也要设置成开放的端口为102465535,具体方法,具体方法如下:如下:1.regedt32 2.找到找到HKEY_LOCAL_MACHINESYSTEMCurrentCo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP 原理 应用 12 文件传输 协议 课件
限制150内