TCPIP原理与应用 第12章 文件传输协议课件.ppt

上传人:小飞机 文档编号:1566277 上传时间:2022-12-06 格式:PPT 页数:51 大小:1.60MB
返回 下载 相关 举报
TCPIP原理与应用 第12章 文件传输协议课件.ppt_第1页
第1页 / 共51页
TCPIP原理与应用 第12章 文件传输协议课件.ppt_第2页
第2页 / 共51页
TCPIP原理与应用 第12章 文件传输协议课件.ppt_第3页
第3页 / 共51页
TCPIP原理与应用 第12章 文件传输协议课件.ppt_第4页
第4页 / 共51页
TCPIP原理与应用 第12章 文件传输协议课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《TCPIP原理与应用 第12章 文件传输协议课件.ppt》由会员分享,可在线阅读,更多相关《TCPIP原理与应用 第12章 文件传输协议课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、第12章 文件传输协议,文件是计算机系统中信息存储、处理和传输的主要形式,大多数计算机系统都支持网络文件访问功能。对网络文件访问的需求来自四个方面:不同应用程序之间的数据共享;利用远程存储介质存储后备文件;无盘站点通过网络访问服务器上的文件信息;以文件形式进行的数据交换。,网络文件访问包括两种独立的形式:,文件传输:本地文件 远程文件文件访问允许多个(远地)程序同时访问单个文件,任何一个程序都不需要被访问文件的拷贝,直接在原文件上进行操作,某程序对原文件的修改立即在原文件上表现出来,并为访问它的其他程序所感知。,第12章 文件传输协议,12.1 TCP/IP文件传输协议(FTP) 12.2 F

2、TP 进程模型 12.3 FTP命令与响应12.4 匿名FTP 12.5 简单文件传送协议(TFTP) 12.6 TFTP报文,12.1 TCP/IP文件传输协议(FTP),1. FTP的特点:FTP工作在应用层基于的传输协议是TCP客户和服务器模式面向连接,可靠。2FTP的目标:主机之间可靠和高效地传输程序或数据;向用户屏蔽不同主机中各种文件存储系统的细节。,1)控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。,命令/应答,数据,2)数据连接是传输数据的全双工连接。传输数据可以发生在服务器数据传输进程DTP和用户DTP之间也可以发生在两个服务器DTP之间。,

3、3FTP的几个概念,3)文件类型(1) ASCII码文件类型(默认选择),以NVT ASCII码形式通过数据连接传输。(2) EBCDIC文件类型。该文本文件传输方式要求两端都是EBCDIC系统。(3) 图像文件类型(也称为二进制文件类型)。数据发送形式呈现为一个连续的比特流。ASCII码文件类型和EBCDIC文件类型还要加上文件是否可打印的属性(Noprint/TELNET),4)数据结构文件结构(File structure)字节流,无结构。记录结构(Record structure )文件被划分为记录,用于文本文件。页结构(Page structure )文件被划分为页,每页有页号和页头

4、。可以进行随机存取或顺序存取。,5) 传输方式 FTP的传输模式有流模式、块模式和压缩模式:(1) 流模式 数据以字节流的形式传送记录结构(EOR,EOF)文件结构,接收到的所有数据就是文件内容。(EOF)(2) 块模式 文件以块形式传送,块带有自己的头部分。头字节包括16位计数域和8位描述子代码。(3) 压缩模式 压缩模式中,因为数据是压缩过的,对于增加带宽有很多好处。,块模式头字节的结构描述子代码由在描述子字节中的位标记说明,4FTP的客户服务器模型 下图表示 FTP客户服务器模型,客户和服务器之间利用TCP建立连接。FTP客户与服务器之间要建立双重连接,一个是控制连接,一个是数据连接。控

5、制连接:NVT ASCII数据连接:文件类型、数据结构、传输方式,建立双重连接的原因:FTP是一个交互式会话系统,某客户每次调用FTP,便与服务器建立一个会话,会话以控制连接来维持。客户每提出一个数据传输请求,服务器与客户建立一个数据连接,进行实际的数据(比如文件)传输。一旦数据传输结束,数据连接相继撤消,但控制连接依然存在,客户可以继续发出命令。客户可以撤消控制连接Close 命令Quit 命令,返回,12.2 FTP 进程模型,FTP服务的实现是由一组FTP进程完成的。服务器FTP进程:由协议解释器PI(控制进程)和数据传输进程DTP组成。用户FTP进程:由PI、DTP和用户接口组成。,1

6、2.2.1 FTP控制连接控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。FTP仅仅在发送命令并接收应答时使用控制连接。用户在两台主机间建立控制连接,然后进行数据连接,客户与服务器为每个文件传输建立一个单独的数据连接。如果用户请求另一个传输,那么客户与服务器将建立一个新的数据连接。为了避免在控制与数据连接之间发生冲突,FTP对于两者使用不同的协议端口号。,FTP协议要求数据传输在处理时打开控制连接。尽管数据连接频繁地出现并消失,但是控制连接却在整个会话中一直保持着。在完成FTP服务后由用户发出中止控制连接命令。控制连接用NVT ASCII传命令和响应。客户向服

7、务器发出请求命令,形成控制连接。,12.2.2 FTP数据连接数据连接是传输数据的全双工连接。1数据连接机制FTP支持两种传输模式:主动传输模式 (也就是 Active, Standard模式)被动传输模式 (也就是Passive模式)。 FTP主动传输模式:客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令。在建立数据连接时,客户数据传输进程成为连接的接收者,而服务器数据传输进程成了连接的请求者。,过程:客户在需要进行数据传输时,其数据传输进程在一个自由端口上发出被动打开,然后客户在控制连接上通过PORT命令将该自由端口告诉服务器控制进程,服务器数据传输进程在端

8、口20上主动打开并与客户数据传输进程的自由端口建立连接。数据连接机制还包括建立连接选择数据参数。,FTP主动模式工作过程,FTP被动传输模式:当FTP的控制连接建立,客户提出目录列表、传输文件等请求时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系。FTP服务器打开一个临时端口等待客户端对其进行连接。客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是发起该数据连接请求时使用的端口。在被动传输模式下,FTP的数据连接和控制连接方向一致。,打开高端地址,FTP被动模式工作过程,很多防火墙在设置的时候都不允许接受外部发起的连接(出于安全考虑),当FTP客户在防

9、火墙内访问防火墙之外的FTP服务器时,需要使用被动传输模式。(为什么?)当位于防火墙内的FTP客户与在防火墙外的FTP服务器以主动传输模式工作时候,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。,无法建立数据连接,防火墙,几乎所有的ftp客户端软件都支持主动传输模式和被动传输模式。特殊的典型例子是IE,IE默认是用PORT方式的。如果要在IE里启用PASV方式,请打开IE,在菜单里选择:工具 Internet选项 高级,在“使用被动ftp ”前面打上钩(需要IE6.0以上才支持)。,2数据连接管理默认数据连接端口:FTP服务器在主动模式下必须使用默认数据连接端

10、口(20)。非默认数据端口:在主动模式下,用户PI可以使用PORT命令指定客户的非默认端口。 在被动模式下,服务器用227应答通告服务器的非默认端口。3数据连接的关闭关闭连接的条件:用户端发送ABORT命令服务器通过EOF终止要求,表示结束发送数据控制连接关闭发生不可恢复错误,12.2.3 端口号计算在主动模式下,客户用PORT命令通告客户的数据端口号:PORT(X.X.X.X,m,n)是在被动模式下,服务器用227应答PASV命令,通告服务器的数据端口号: (X.X.X.X,m,n)端口号由两个字节m和n来表示实际端口号= m256+n,在IIS4和IIS5里面端口的范围是10245000,

11、但是许多FTP Server的端口范围达到了102465535,如果IIS也要设置成开放的端口为102465535,具体方法如下: 1. regedt32 2. 找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 3. 编辑添加数值 Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534,返回,12.3 FTP命令与响应,1FTP命令FTP命令主要用于控制连接。命令以NVT ASCII码形式传送,要求在每行结尾都要有CR、LF对。这里的命令是两端控制进程

12、之间的部分命令,由客户发往服务器。,2FTP响应响应都是ASCII码形式的3位数字,响应也是以NVT ASCII码形式传送,要求在每行结尾都要返回CR、LF对。响应由服务器发往客户端。第一位=1:服务器动作已开始,在接受新命令前,还会有响应;第一位=2:服务器动作已完成,将接受新命令;第一位=3:命令已接受,需要客户端提供进一步的信息;第一位=4:服务器动作未完成,暂时错,发送还可以重发命令;第一位=5:服务器未接受命令, 命令不可重发。,返回,12.4 匿名FTP,1.匿名FTP用途从前面的讲解可知,使用FTP时必须首先利用Telnet协议登录,获得远程主机相应的权限,才能上传或下载文件。本

13、地主机必需具有用户ID和口令,获得远地计算机的适当授权,否则便无法传送文件。Internet上的FTP主机很多,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP无需本地主机成为远地计算机的注册用户,从而解决了这个问题。,2. 匿名FTP机制远程主机建立了名为anonymous的用户特殊ID,这样Internet上的任何人在任何地方都可使用该用户ID,下载文件,而无需成为其注册用户。匿名FTP主机的连接使用方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,其口令可以是客户自己喜欢的任意字符串。3. 匿名FTP的使用匿名FTP是Internet网上

14、发布软件和其它信息内容的常用方法。,4. 匿名FTP的安全当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。系统管理员会去检查这些上传文件,会将这些文件移至另一个公共下载目录中,供其他用户下载,同时也保护自己免受病毒破坏。,返回,12.5 简单文件传送协议(TFTP),1简单文件传送协议TFTP简介简单文件传送协议TFTP(Trivial File Transfer P

15、rotocol)是网络应用程序,它比FTP简单也比FTP功能少。TFTP客户与服务器之间的传输层通信使用的是UDP。(服务器69号端口)TFTP服务器必须提供一定形式的并发。TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发。TFTP协议没有提供安全特性,很多安全特性都必需由TFTP服务器系统管理员来限制客户访问所指定的文件。,2TFTP的用途简单文件传送协议的应用包括: 1)为无盘工作站下载引导文件,下载初始化代码到打印机、集线器和路由器。例如存在这样的设备,它拥有一个网络连接和小容量的固化了TFTP、UDP和IP的只读存储器(Read-Only Memory,ROM)。加电后,设

16、备执行ROM中的代码,在网络上广播一个TFTP请求。网络上的TFTP服务器响应请求包含可执行二进制程序的文件,设备收到文件后,将它载入内存,然后开始运行程序。,2)路由器的信息设置路由器可以在指定的TFTP服务器上存储设置参数,如果这个路由器瘫痪了,正确的设置信息可以从TFTP服务器上下载到一个修复的路由器或者一个替代的路由器,这便为路由器提供了种容错能力。(备份),返回,12.6 TFTP报文,TFTP传输的数据使用固定长度( 512个字节)的分组报文。如果一个分组报文少于512字节,表明这是数据传输的最后一个分组报文。当一个数据的分组报文被发送到目标主机之后,数据将在一个缓冲区域内保存直到

17、接收到一个确认信号,它表明数据已经被成功地接收了。如果超时,发送主机没有接收到确认信号,则数据分组报文将被重新发送。,TFTP 协议的封装形式和五种消息格式:,TFTP报文的头两个字节表示操作码。文件名指明从TFTP服务器上上传或下载的文件的名字,它使用一个可变长的段,0指明文件名结束。模式字段是一个ASCII码串netascii或octet,同样以0字节结束。netascii表示数据是以成行的ASCII码字符组成,以两个字节回车字符后跟换行字符(称为CR/LF)作为行结束符。octet则将数据看作8bit一组的字节流而不作任何解释。 TFTP协议的五种消息格式分别是:读请求(RRQ)、写请求

18、(WRQ)、数据(DATA)、确认(ACK)、出错(ERR)。,1)读请求(RRQ)和写请求(WRQ)读请求(RRQ)和写请求(WRQ)都使用相同的格式。操作码:1为读请求;2为写请求。2)数据(DATA) TFTP传输实际数据时,使用DATA消息格式。操作码被设置成3,表明数据在以TFTP消息传输。初始块号被设置成1,为初始的DATA分组报文。每一个附加的分组报文将增加1,直到整个文件传输结束。数据段可有512字节长。如果数据段少于512字节(0-511),则表明来自文件的最后一个数据块。如果正好是512字节长,则说明要完成文件的传输必须传送额外的0长度数据块。,3)确认(ACK)ACK确认

19、(ACK)分组报文的操作码值为4。块号段包含正在被确认的DATA分组报文的块号。如果此确认信号是回答一个写请求的,则这个块号将被设置成0,从而表明数据的传输可以开始。4)出错(ERR)出错(ERR)操作码设置为5。出错代码给出出错类型值。出错消息以NETASCII格式储存,以一个文本描述帮助调试TFTP的差错。出错消息段是可变长的,所以出错消息总是以一个“0”来作为结尾标志。,出错代码描述:,TFTP与文件传输协议FTP的比较1TFTP协议的优势尽管TFTP比FTP的功能要弱得多,但是TFTP具有两个优点:TFTP能够用于那些有UDP而无TCP的环境。TFTP代码所占的内存要比FTP小。2TF

20、TP协议与FTP协议的共同点两个协议的作用大致相同,都是用于文件的传输,可以实现网络中两台计算机之间的文件上传与下载。可以将TFTP协议看做是FTP协议的简化版本。,3TFTP协议与FTP协议的不同点1)TFTP协议不需要认证客户端的权限,FTP需要进行客户端认证; 2)TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中。 3)TFTP客户与服务器之间的通信使用的是UDP而非TCP。 4)TFTP只支持文件传输。也就是说,TFTP不支持交互,而且没有一个庞大的命令集。最为重要的是,TFTP不允许用户列出目录内容或者与服务器协商来决定那些可得到的文件名。,1

21、2.7 构建FTP服务器,搭建FTP服务器的软件有多种,其中较常用的是IIS中的FTP功能与Serv-U FTP Server。IIS中的FTP功能属于非专业的FTP软件,但由于它与Windows集成,所以熟悉的人比较多。Serv-U 是一个可以运行于Windows95/98/2000/ME 和 Windows NT4.0下的FTP服务器程序。用户以各种FTP客户端软件(如CuteFTP、WS_FTP等)上传或下载所需要的文件。,主动模式-1,主动模式-2,被动模式-1,被动模式-2,本章要点,FTP客户和服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。FTP客户与服务

22、器之间要建立双重连接,一个是控制连接,一个是数据连接。FTP客户与服务器之间建立数据连接的模式有两种:主动模式和被动模式。 FTP服务的实现由一组FTP进程完成。服务器FTP进程是和用户FTP进程一起工作的,它由协议解释器PI和数据传输过程DTP组成。用户FTP进程则是由PI、DTP和用户接口组成的。,FTP命令和响应主要用于控制连接。远程主机建立了名为anonymous的用户特殊ID,而无需成为其注册用户。简单文件传送协议TFTP是网络应用程序,它比FTP简单也比FTP功能少。TFTP协议的五种消息分别是:读请求(RRQ)、写请求(WRQ)、数据(DATA)、确认(ACK)、出错(ERR)。,返回,习题:12-1 阐述简单文件传送协议TFTP和文件传送协议FTP的不同点。12-2 指出文件传送协议FTP的文件类型。12-3 描述FTP进程模型的五个进程和两个相关。12-4 指出TFTP协议的五种消息。12-5 FTP要实现的目标是什么?12-6 FTP中传输与控制为什么采用独立的连接?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号