《文件传输协议》PPT课件.ppt

上传人:xian****812 文档编号:16085603 上传时间:2020-09-18 格式:PPT 页数:41 大小:242.50KB
返回 下载 相关 举报
《文件传输协议》PPT课件.ppt_第1页
第1页 / 共41页
《文件传输协议》PPT课件.ppt_第2页
第2页 / 共41页
《文件传输协议》PPT课件.ppt_第3页
第3页 / 共41页
点击查看更多>>
资源描述
1,第12章 文件传输协议,文件是计算机系统中信息存储、处理和传输的主要形式,大多数计算机系统都支持网络文件访问功能。 对网络文件访问的需求来自四个方面: 不同应用程序之间的数据共享; 利用远程存储介质存储后备文件; 无盘站点通过网络访问服务器上的文件信息; 以文件形式进行的数据交换。,2,第12章 文件传输协议,12.1 TCP/IP文件传输协议(FTP) 12.2 FTP 进程模型 12.3 FTP命令与响应 12.4 匿名FTP 12.5 简单文件传送协议(TFTP) 12.6 TFTP报文,3,12.1 TCP/IP文件传输协议(FTP),FTP工作在TCP/IP模型的应用层,基于的传输协议是TCP, FTP客户在和服务器之间的连接是可靠的,面向连接为数据的传输提供了可靠的保证。 1FTP的目标: 1)主机之间共享计算机程序或数据; 2)本地主机间接地使用远程计算机 ; 3)向用户屏蔽不同主机中各种文件存储系统的细节; 4)可靠和高效的传输数据。,4,2FTP主要特征: 1)控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。 2)数据连接是传输数据的全双工连接。传输数据可以发生在服务器数据传输过程DTP和用户DTP之间也可以发生在两个服务器DTP之间。,5,3)文件类型 (1) ASCII码文件类型(默认选择),以NVT ASCII码形式通过数据连接传输。 (2) EBCDIC文件类型。该文本文件传输方式要求两端都是EBCDIC系统。 (3) 图像文件类型(也称为二进制文件类型)。数据发送形式呈现为一个连续的比特流。 ASCII码文件类型和EBCDIC文件类型还要加上文件是否可打印的属性(Noprint/TELNET),6,4)数据结构 文件结构(File structure)字节流,无结构。 记录结构(Record structure )文件被划分为记录,用于文本文件。 页结构(Page structure )文件被划分为页,每页有页号和页头。可以进行随机存取或顺序存取。,7,5) 传输方式 FTP的传输模式有流模式、块模式和压缩模式: (1) 流模式 数据以字节流的形式传送 记录结构(EOR,EOF) 文件结构,接收到的所有数据就是文件内容。(EOF) (2) 块模式 文件以块形式传送,块带有自己的头部分。头字节包括16位计数域和8位描述子代码。 (3) 压缩模式 压缩模式中,因为数据是压缩过的,对于增加带宽有很多好处。,8,块模式头字节的结构 描述子代码由在描述子字节中的位标记说明,9,3FTP的客户服务器模型 下图表示 FTP客户服务器模型,客户和服务器之间利用TCP建立连接。 FTP客户与服务器之间要建立双重连接,一个是控制连接,一个是数据连接。 控制连接:NVT ASCII 数据连接:文件类型、数据结构、传输方式,10,建立双重连接的原因:FTP是一个交互式会话系统,某客户每次调用FTP,便与服务器建立一个会话,会话以控制连接来维持。 客户每提出一个请求,服务器与客户建立一个数据连接,进行实际的数据(比如文件)传输。一旦数据传输结束,数据连接相继撤消,但控制连接依然存在,客户可以继续发出命令。 客户可以撤消控制连接(close命令),也可以退出FTP会话(quit命令)。,返回,11,12.2 FTP 进程模型,FTP服务的实现是由一组FTP进程完成的。 服务器FTP进程:由协议解释器PI和数据传输过程DTP组成。 用户FTP进程:由PI、DTP和用户接口组成。 传输与控制采用独立的连接方式具有以下三方面的优点: 使FTP协议更加简单并且更容易实现,例如控制连接可以直接采用Telnet协议实现,FTP数据连接不会与FTP命令混淆起来。 在数据连接结束后,控制连接仍然保留着,它能够在新的传输连接时被使用。 发送方与接收方在所有的数据都到达时可以在数据连接上用文件结束来通知另一方,从而达到命令传输的功能。,12,12.2.1 FTP控制连接 控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。FTP仅仅在发送命令并接收应答时使用控制连接。 用户在两台主机间建立控制连接,然后进行数据连接,客户与服务器为每个文件传输建立一个单独的数据连接。 如果用户请求另一个传输,那么客户与服务器将建立一个新的数据连接。为了避免在控制与数据连接之间发生冲突,FTP对于两者使用不同的协议端口号。,13,FTP协议要求数据传输在处理时打开控制连接。尽管数据连接频繁地出现并消失,但是控制连接却在整个会话中一直保持着。在完成FTP服务后由用户发出中止控制连接命令。 控制连接用NVT ASCII传命令和响应。,14,图中,箭头方向表示连接是由哪一方发起的。 客户向服务器发出请求命令,形成控制连接。 数据连接按相反的方向形成。客户与服务器的角色反转了。 注意FTP和Telnet的关系,FTP使用Telnet协议进行控制连接。,15,12.2.2 FTP数据连接 数据连接是传输数据的全双工连接。 1数据连接机制 数据连接可以用文件结束来终止传输过程。这样做的好处可以改变所传输文件的大小。例如,当服务器中应用程序正在写入文件时,如果FTP也同时在将这个文件的副本传输至客户。由于文件传输的连接是单独的,服务器不必利用控制连接告诉客户方所传输文件的大小,只需要用数据连接的文件结束来终止传输。,16,在建立数据连接时,客户数据传输进程成为连接的接收者,而服务器数据传输进程成了连接的请求者。 客户在需要进行数据传输时,其数据传输进程在一个自由端口上发出被动打开,然后客户在控制连接上通过PORT命令将该自由端口告诉服务器控制进程,服务器数据传输进程在端口20上主动打开并与客户数据传输进程的自由端口建立连接。 数据连接机制还包括建立连接选择数据参数。,17,2数据连接管理 默认数据连接端口:所有FTP服务器必须使用默认数据连接端口(20)。 确定非默认数据端口:用户PI可以使用PORT命令指定客户的非默认端口。 3数据连接的关闭 关闭连接的条件: 用户端发送ABORT命令 服务器通过EOF终止要求,表示结束发送数据 控制连接关闭 发生不可恢复错误,18,被动打开,控制进程,60201,控制进程,21,数据传输进程,60261,被动打开,控制进程,60201,控制进程,21,数据传输进程,数据传输进程,60261,PORT 60261,控制进程,60201,控制进程,21,数据传输进程,数据传输进程,60261,20,客户,服务器,控制连接,数据连接,20,19,12.2.3 通信 FTP使用客户/服务器模式。涉及到五个进程和两个相关。 服务器首先运行一个本地FTP主服务进程,当客户端用户输入open和ftp命令后,客户指定一个远程计算机时,建立一个客户控制进程,本地应用成为一个FTP客户,建立了自己的半相关。,20,然后,客户用TCP建立与指定计算机上的FTP服务器之间的控制连接。 服务器接收到客户连接请求后,派生一个服务器控制进程,该进程与客户控制进程建立起控制连接,即相关,双方进入会话状态。 客户要进行数据传输时,派生一个客户数据传输进程,并在一个非默认端口上被动打开,通过控制连接,客户用PORT将端口号发给服务器控制进程。 服务器控制进程接收到后,派生一个服务器数据传输进程,该进程建立一个自己的半相关(20),并向客户数据进程发出连接请求,与客户数据传输进程建立相关,双方建立数据传输。 数据传输结束后,关闭数据连接,双方数据传输进程结束,但控制进程仍然存在,然后可以再重新发起新的数据传输服务。,返回,21,12.3 FTP命令与响应,1FTP命令 FTP命令主要用于控制连接,可以直接采用Telnet协议实现,所以FTP命令同Telnet命令包括中断进程、Telnet的同步信号、查询服务器、带选项的Telnet命令等。 命令以NVT ASCII码形式传送,要求在每行结尾都要有CR、LF对。,22,23,24,2FTP响应 响应都是ASCII码形式的3位数字,响应也是以NVT ASCII码形式传送,要求在每行结尾都要返回CR、LF对。,25,返回,26,12.4 匿名FTP,1.匿名FTP用途 从前面的讲解可知,使用FTP时必须首先利用Telnet协议登录,获得远程主机相应的权限,才能上传或下载文件。 本地主机必需具有用户ID和口令,获得远地计算机的适当授权,否则便无法传送文件。Internet上的FTP主机很多,不可能要求每个用户在每一台主机上都拥有帐号。 匿名FTP无需本地主机成为远地计算机的注册用户,从而解决了这个问题。,27,2. 匿名FTP机制 远程主机建立了名为anonymous的用户特殊ID,这样Internet上的任何人在任何地方都可使用该用户ID,下载文件,而无需成为其注册用户。 匿名FTP主机的连接使用方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,其口令可以是客户自己喜欢的任意字符串。 3. 匿名FTP的使用 匿名FTP是Internet网上发布软件和其它信息内容的常用方法。,28,4. 匿名FTP的安全 当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。 作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件。 即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。 系统管理员会去检查这些上传文件,会将这些文件移至另一个公共下载目录中,供其他用户下载,同时也保护自己免受病毒破坏。,返回,29,12.5 简单文件传送协议(TFTP),1简单文件传送协议TFTP简介 简单文件传送协议TFTP(Trivial File Transfer Protocol)是网络应用程序,它比FTP简单也比FTP功能少。TFTP客户与服务器之间的传输层通信使用的是UDP。 TFTP服务器必须提供一定形式的并发。TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发。 TFTP协议没有提供安全特性,很多安全特性都必需由TFTP服务器系统管理员来限制客户访问所指定的文件。,30,2TFTP的用途 简单文件传送协议的应用包括: 1)为无盘工作站下载引导文件,下载初始化代码到打印机、集线器和路由器。 例如存在这样的设备,它拥有一个网络连接和小容量的固化了TFTP、UDP和IP的只读存储器(Read-Only Memory,ROM)。 加电后,设备执行ROM中的代码,在网络上广播一个TFTP请求。网络上的TFTP服务器响应请求包含可执行二进制程序的文件,设备收到文件后,将它载入内存,然后开始运行程序。,31,2)路由器的信息设置 路由器可以在指定的TFTP服务器上存储设置参数,如果这个路由器瘫痪了,正确的设置信息可以从TFTP服务器上下载到一个修复的路由器或者一个替代的路由器,这便为路由器提供了种容错能力。(备份),返回,32,12.6 TFTP报文,TFTP传输的数据使用固定长度( 512个字节)的分组报文。如果一个分组报文少于512字节,表明这是数据传输的最后一个分组报文。 当一个数据的分组报文被发送到目标主机之后,数据将在一个缓冲区域内保存直到接收到一个确认信号,它表明数据已经被成功地接收了。 如果在再发送时间失效之前,发送主机没有接收到确认信号,则数据分组报文将被重新发送。,33,TFTP 协议的封装形式和五种消息格式:,34,TFTP报文的头两个字节表示操作码。 文件名指明从TFTP服务器上正在上传或下载的文件的名字,它使用一个可变长的段,0指明文件名结束。 模式字段是一个ASCII码串netascii或octet,同样以0字节结束。 netascii表示数据是以成行的ASCII码字符组成,以两个字节回车字符后跟换行字符(称为CR/LF)作为行结束符。 octet则将数据看作8bit一组的字节流而不作任何解释。 TFTP协议的五种消息格式分别是:读请求(RRQ)、写请求(WRQ)、数据(DATA)、确认(ACK)、出错(ERR)。,35,1)读请求(RRQ)和写请求(WRQ) 读请求(RRQ)和写请求(WRQ)都使用相同的格式。操作码:1为读请求;2为写请求。 2)数据(DATA) TFTP传输实际数据时,使用DATA消息格式。操作码被设置成3,表明数据在以TFTP消息传输。 初始块号被设置成1,为初始的DATA分组报文。每一个附加的分组报文将增加1,直到整个文件传输结束。 数据段可有512字节长。如果数据段少于512字节(0-511),则表明来自文件的最后一个数据块。如果正好是512字节长,则说明要完成文件的传输必须传送额外的0长度数据块。,36,3)确认(ACK) ACK确认(ACK)分组报文的操作码值为4。块号段包含正在被确认的DATA分组报文的块号。 如果此确认信号是回答一个写请求的,则这个块号将被设置成0,从而表明数据的传输可以开始。 4)出错(ERR) 出错(ERR)操作码设置为5。出错代码给出出错类型值。出错消息以NETASCII格式储存,并且加上一个文本描述从而帮助调试TFTP的出错消息。出错消息段是可变长的,所以出错消息总是以一个“0”来作为结尾标志。,37,出错代码描述:,38,TFTP与文件传输协议FTP的比较 1TFTP协议的优势 尽管TFTP比FTP的功能要弱得多,但是TFTP具有两个优点: TFTP能够用于那些有UDP而无TCP的环境。 TFTP代码所占的内存要比FTP小。 2TFTP协议与FTP协议的共同点 两个协议的作用大致相同,都是用于文件的传输,可以实现网络中两台计算机之间的文件上传与下载。可以将TFTP协议看做是FTP协议的简化版本。,39,3TFTP协议与FTP协议的不同点 1)TFTP协议不需要认证客户端的权限,FTP需要进行客户端认证; 2)TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中。 3)TFTP客户与服务器之间的通信使用的是UDP而非TCP。 4)TFTP只支持文件传输。也就是说,TFTP不支持交互,而且没有一个庞大的命令集。最为重要的是,TFTP不允许用户列出目录内容或者与服务器协商来决定那些可得到的文件名。,40,本章要点,FTP客户和服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。 FTP客户与服务器之间要建立双重连接,一个是控制连接,一个是数据连接。 用户在两台主机间建立控制连接,然后进行数据连接,但是FTP并不通过控制连接来传送数据,客户与服务器为每个文件传输建立一个单独的数据连接。 FTP服务的实现由一组FTP进程完成。服务器FTP进程是和用户FTP进程一起工作的,它由协议解释器PI和数据传输过程DTP组成。用户FTP进程则是由PI、DTP和用户接口组成的。,41,FTP命令和响应主要用于控制连接,可以直接采用Telnet协议实现。 远程主机建立了名为anonymous的用户特殊ID,而无需成为其注册用户。 简单文件传送协议TFTP是网络应用程序,它比FTP简单也比FTP功能少。 TFTP协议的五种消息分别是:读请求(RRQ)、写请求(WRQ)、数据(DATA)、确认(ACK)、出错(ERR)。,返回,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!