收藏 分销(赏)

文件传输协议.ppt

上传人:精**** 文档编号:9676949 上传时间:2025-04-02 格式:PPT 页数:41 大小:846KB 下载积分:12 金币
下载 相关 举报
文件传输协议.ppt_第1页
第1页 / 共41页
文件传输协议.ppt_第2页
第2页 / 共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,客户在和服务器之间的,连接,是,可靠,的,面向连接为数据的传输提供了可靠的保证。,1,FTP,的,目标,:,1,)主机之间共享计算机程序或数据;,2,)本地主机间接地使用远程计算机;,3,)向用户屏蔽不同主机中各种文件存储系统的细节;,4,)可靠和高效的传输数据。,4,2,FTP,主要特征:,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,3,FTP,的客户,服务器模型,下图表示,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,命令与响应,1,FTP,命令,FTP,命令主要用于控制连接,可以直接采用,Telnet,协议实现,所以,FTP,命令同,Telnet,命令包括中断进程、,Telnet,的同步信号、查询服务器、带选项的,Telnet,命令等。,命令以,NVT ASCII,码,形式传送,要求在每行结尾都要有,CR,、,LF,对。,22,23,24,2,FTP,响应,响应都是,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,2,TFTP,的用途,简单文件传送协议的应用包括:,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,的比较,1,TFTP,协议的优势,尽管,TFTP,比,FTP,的功能要弱得多,但是,TFTP,具有两个,优点,:,TFTP,能够用于那些有,UDP,而无,TCP,的环境。,TFTP,代码所占的内存要比,FTP,小。,2,TFTP,协议与,FTP,协议的,共同点,两个协议的作用大致相同,,都是用于文件的传输,,可以实现网络中两台计算机之间的文件上传与下载。可以将,TFTP,协议看做是,FTP,协议的简化版本。,39,3,TFTP,协议与,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),。,返回,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服