第10.2讲-文件传输协议FTP要点课件.ppt

上传人:牧羊曲112 文档编号:3834407 上传时间:2023-03-24 格式:PPT 页数:42 大小:1.32MB
返回 下载 相关 举报
第10.2讲-文件传输协议FTP要点课件.ppt_第1页
第1页 / 共42页
第10.2讲-文件传输协议FTP要点课件.ppt_第2页
第2页 / 共42页
第10.2讲-文件传输协议FTP要点课件.ppt_第3页
第3页 / 共42页
第10.2讲-文件传输协议FTP要点课件.ppt_第4页
第4页 / 共42页
第10.2讲-文件传输协议FTP要点课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第10.2讲-文件传输协议FTP要点课件.ppt》由会员分享,可在线阅读,更多相关《第10.2讲-文件传输协议FTP要点课件.ppt(42页珍藏版)》请在三一办公上搜索。

1、1,10.2 文件传输协议FTP,要求1.掌握文件传输协议的基本原理和基本过程2.了解简单文件传输协议TFTP3.了解其它远程访问与文件共享协议,远程文件共享,动机文件共享,用户希望通过网络访问远程机器上的文件,文件共享方式,1、全文拷贝(whole-file copying):如:文件传输协议FTP方式 2、在线访问(on-line access):如:网络文件系统NFS方式,2,文件共享方式,1、全文拷贝 程序无论何时想访问一个文件,都必须获得一个本地文件副本。复制通常用于只读数据,但如果必须修改文件,程序对本地副本进行修改,并将修改后的文件传回到原网点。,3,文件共享方式,4,2、在线访

2、问 允许多个程序同时访问一个文件。对文件的改动将迅速生效,并在所有访问文件的程序中都可获得改动信息。对远程共享文件的访问,就如同对本地文件的访问一样。远程文件和本地文件已经一体化(Integrated)了,并且整个文件系统提供对共享文件的透明访问。,5,一、FTP:文件传输协议,1、FTP概述 FTP实现了整文件复制方式的文件共享机制,使用非常广泛。FTP协议有以下目标:1)文件共享;2)对用户透明的文件存储技术;3)可靠、高效的数据传输。下载文件的过程很简单:把文件切成小块,通过TCP传输,之后再组装。,6,一、FTP:文件传输协议,文件传输的难度:(1)数据类型不同系统表示数据的方式不同

3、不同机器的数据表示是不一样的。如,两行文本之间的间隔,有的用“rn”表示,有的用“r”表示。(2)文件结构文件结构取决于存储该文件的主机 某些文件可能是按顺序、以字节方式存储的,也有一些是面向行(记录)存储的,还有一些为了进行随机访问而可以按页检索。(3)传输方式数据可以按压缩的字节流传输,也可以包括一些标识的格式,在传输出现错误需要重传时使用这些标识,7,2、FTP的特点 交互访问。除了文件传输外,FTP还提供了一套交互命令,比如列出远程机器上所有目录及某目录下的文件等。访问控制:利用用户名和口令实施访问控制,通过服务器验证后才能访问该文件。(说明:FTP也允许匿名访问)格式规范:FTP定义

4、了文件传输与共享的多种格式,允许用户指定存储数据的类型和格式。,8,3、FTP模型:客户端/服务器模型 FTP基于TCP,采用客户端/服务端(C/S)模型。其特殊之处在于服务器为用户所创建的从进程并不负责所有通信事宜,它仅负责接收和处理来自客户的控制连接。对于数据传输而言,服务器会创建新进程进行处理,并建立数据连接。,9,3、FTP模型:客户端/服务器模型 进程模型 服务器进程 a.主服务器进程:等待客户端连接,并为每个连接请求建立控制从进程 b.控制连接从进程:接收和处理来自客户的控制连接 c.数据传输从进程:一个或多个,处理数据传输 客户端进程 a.控制连接进程 b.数据传输进程,10,两

5、类连接 a.控制连接:使用TCP,传输控制命令,在整个会话期间保持不变,服务器端口21 b.数据连接:使用TCP,传输数据,临时动态创建,每个文件一个连接,服务器缺省端口20(常换),FTP 使用的两个 TCP 连接,控制进程,FTP 客户端,FTP 服务器端,因特网,TCP 控制连接,TCP 数据连接,用户界面,控制进程,数据传送进程,数据传送进程,思考讨论:谁发起数据连接?,11,12,谁发起数据连接?主动模式:收到数据传送请求后(下载或上传),服务器主动与客户端建立连接 问题:客户端口号?解决:客户端利用控制连接,将端口号通告给服务器 命令:PORT n1,n2,n3,n4,n5,n6

6、表示 客户端IP地址为 n1.n2.n3.n4 客户端端口号为 n5*256+n6问题:如何穿越网络地址转换(NAT)?,13,谁发起数据连接?被动模式(现多采用):服务器发送可以被动连接的命令,并告诉自己的IP和端口号(通常不选20号端口了),等待客户连接,14,3、FTP数据格式 FTP提供了多种数据存储和传送的格式,客户端可以从中选择(1)文件格式 1)ASCII码文件类型(默认选择)文件中存储的是字符,行间隔用“回车+换行”来表示,即“rn”2)扩展的二-十进制交换码EBCDIC文件类型 文件中存储的是字符,要求通信两端都是EBCDIC系统 3)二进制文件类型 存储二进制数据 4)本地

7、文件类型 在具有不同字节大小的主机间传送二进制文件时使用该类型。每个字节的比特数由发送方规定。如果系统使用8bit字节,则等同于二进制文件类型,15,(2)格式控制 该功能仅对ASCII和EBCDIC文件类型有效 1)非打印(默认选择)文件中不包含垂直格式信息 2)远程登录格式控制 文件中含有向打印机解释的远程登录垂直格式控制,如回车、换行、新建行、换表和行结束等 3)Fortran回车控制 每行首字符是Fortran格式控制符,16,(3)结构 规定了文件内部结构,包括以下三种:1)文件结构(默认选择)文件被认为是一个连续的字节流,不存在内部的文件结构 2)记录结构 仅用于ASCII和EBC

8、DIC,文件内部包含的是记录 3)页结构 每页都有页号,以便接收方能随机地存储各页,17,(4)传输方式 规定了文件传输的方式,目前有以下三种:1)流方式(默认选择)文件以字节流形式传输。对于文件结构,发送方在文件尾提示关闭数据连接;对于记录结构,有专用的两字节序列码标志记录结束和文件结束。2)块方式 文件以一系列块来传输,每块前面都带有一个或者多个首部字节。3)压缩方式 压缩连续出现的相同字节。在ASCII和EBCDIC文件中,主要用来压缩空白串,在二进制文件中用来压缩全0字节。,18,4、FTP的使用 两种方式:用户名、口令登录(授权)匿名(公开)FTP控制报文和差错报文 格式:3个数字开

9、始,后跟文本,说明控制和差错状态(FTP对三个数字的取值和含义进行了规定,但是对随后的说明信息没有规定。不同服务器对同一状态码的描述可以不同)例:150、220、226、331、530530:Not Logged in,,FTP状态码 150 文件状态正常,开启数据连接端口 200 命令执行成功 202 命令执行失败 226 关闭数据连接端口,请求的文件操作成功 227 进入passive mode 230 使用者登入 250 请求的文件操作完成 331 用户名称正确,需要密码 332 登入时需要账号信息,20,进入FTP后有很多命令可用 FTP命令包括3个方面:(1)访问控制命令 访问控制定

10、义了用户在系统中对系统和文件的访问权限 用户名USER识别用户 口令PASS识别用户口令 退出QUIT终止用户的使用,关闭全部控制连接,21,进入FTP后有很多命令可用(2)传输参数命令 包含数据传输参数的命令可以按任何顺序使用,只是在这些命令之前必须调用FTP的服务请求 数据端口PORT定义数据连接要使用的数据端口 被动监听PASV请求服务器的数据传输进程监听一个非默认的端口,等待连接请求 表示类型TYPE定义数据的表示类型 文件结构ETRU定义文件的结构类型 传输方式MODE定义数据的传输方式,22,进入FTP后有很多命令可用(3)服务命令 服务命令用于定义请求的文件或文件系统功能。其参数

11、一般是路径名。删除DELE在服务器端删除路径中指定的文件 删除目录RMD删除一个指定的目录 建立目录MKD建立一个指定的目录 帮助HELP,23,FTP操作命令,24,FTP操作示例,25,FTP操作示例:C:Documents and Settingskoukouftp Connected to.220-ftp.zzu服务器已准备就绪220-这里是ZZJ工作室的ftp站点.220-现在是 Tuesday 13 April,2004 10:57:55.220-欢迎来自 202.196.54.228 的网友.220-本服务器已连续运行了 16 天 1 时 36 分.220-当前在线 343 人.

12、220-自启动后共接待 446305 人次访问.220-上传数据 895 K.220 下载数据 10659528434 K.,26,User(:(none):anonymous331 User name okay,please send complete E-mail address as password.Password:230-这里是ZZJ工作室的ftp站点.230-现在是 Tuesday 13 April,2004 10:58:21.230-欢迎来自 202.196.54.228 的网友.230-本服务器已连续运行了 16 天 1 时 36 分.230-当前在线 347 人.230-自

13、启动后共接待 446315 人次访问.230-上传数据 895 K.230-下载数据 10659810534 K.230 User logged in,proceed.,27,ftp dir200 PORT Command successful.150 Opening ASCII mode data connection for/bin/ls.drw-rw-rw-1 user group 0 Feb 23 15:12.drw-rw-rw-1 user group 0 Feb 23 15:12.drw-rw-rw-1 user group 0 Mar 5 16:38 电子书籍drw-rw-rw-

14、1 user group 0 Mar 5 16:54 软件大全drw-rw-rw-1 user group 0 Mar 28 09:42上载区(暂停上载)-rw-rw-rw-1 user group 251 Apr 26 2002声明.txtdrw-rw-rw-1 user group 0 Mar 17 09:40 音频资料226 Transfer complete.ftp:454 bytes received in 0.00Seconds 454000.00Kbytes/sec.,ftp quit221 再见朋友,您本次连线时间 1 分钟,共上传了 0K 的数据,下载了 0K 的数据.欢迎您

15、再来.,28,连接建立和身份验证,29,数据传输过程分析(被动模式),30,二、其他文件传输协议,1、FTP的简化:TFTP Trivial File Transfer Protocol 只有文件传送功能,比FTP小得多 基于UDP,采用超时与重传,停等机制 规则:第一个分组建立客户与服务器的交互,指明文件名、读还是写 文件按固定512字节分块,依次发送,发后等确认,简单文件传输协议 TFTP,TFTP 是一个很小且易于实现的文件传输协议。TFTP 使用 C/S 方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。TFTP 只支持文件传输而不支持交互。TFTP 没有一个庞大的

16、命令集,没有列目录的功能,也不能对用户进行身份鉴别。,31,TFTP 的主要特点,(1)每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。(2)数据 PDU 也称为文件块(block),每个块按序编号,从 1 开始。(3)支持 ASCII 码或二进制传送。(4)可对文件进行读或写。(5)使用很简单的首部。,32,TFTP 的工作很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发完数据后在规定时间内收不到确认就要重发数据 PDU。发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU。这样就可保证文件的传送

17、不致因某一个数据报的丢失而告失败。,33,TFTP 的工作很像停止等待协议,在一开始工作时,TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其知名端口号码为 69。TFTP 服务器进程要选择一个新的端口和 TFTP 客户进程进行通信。若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU。若文件长度不是 512 字节的整数倍,则最后传送数据 PDU 的数据字段一定不满512字节,这正好可作为文件结束的标志。,34,35,2、安全文件传输协议 SSL-FTP(Secure Sockets Layer F

18、TP):用SSL为FTP加密 sftp(Secure File Transfer Program):基于SSH(Secure Shell),为取代FTP而开发 scp(Secure Copy):基于SSH,可取代FTP,从UNIX的远程复制程序rcp衍生而来,可用在命令行或脚本中,36,3、网络文件系统NFSNetwork File System:提供透明的、一体化的共享式文件存取。安装远程文件系统后,与操作本地文件一样。基于RPC和XDR实现 RPC(Remote Procedure Call)作为通信机制 XDR(eXternal Data Representation)通过定义一种与机器

19、无关的表示为程序员提供了一种在异构机器之间传递数据的方式,37,远程过程调用RPC 通常的网络应用程序都是客户端发送报文给服务器,之后由服务器作出应答 而RPC提供了另外一种方式,即由客户端远程调用服务器提供的函数 事实上,客户端直接调用服务器的函数只是一种表面现象,后台则实现了以下步骤:RPC客户端程序调用远程过程时,仅是调用了本机上的一个由RPC包生成的函数,该函数成为stub。stub将过程参数封装为一个网络报文,之后发送给服务器。服务器上也有一个stub负责接收这个报文,它从报文中提取参数,然后调用服务器过程。过程返回值被递交给服务器stub,它再将这个返回值封装为一个网络报文,之后将

20、其返回给客户端stub。客户端从接收到的报文中提取返回值,返回给客户端程序。,38,远程过程调用RPC的优点 由于不涉及网络编程,因此简化了程序设计 如果编写基于UDP的应用,RPC可以解决可靠性问题,从而进一步简化了应用的负担 RPC提供了数据转换功能,适应了机器的异构性,39,通用的外部数据表示XDR RPC能够适应机器异构性,XDR为此提供了支持,它定义了很多数据类型以及每个数据类型在一个RPC报文中传输的具体形式 发送者必须采用XDR格式构造RPC报文,接收者则要将XDR格式的报文转换为本机的表示形式,网络文件系统 NFS,P226,解决异构性,40,41,文件传输协议小结,文件共享 文件传输协议FTP:口令或匿名登录 控制连接 数据连接 TFTP SSL-FTP、sftp、scp NFS:RPC(通信机制),XDR(解决异构性),42,练习:P252 1,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号