1 / 42

第 9 章 文件传输和访问协议

第 9 章 文件传输和访问协议. 主讲人:刘正华. 了解 FTP 命令与应答的结构,熟悉常见的命令与应答. 3. 理解 FTP 协议的基本原理. 2. 了解常见的两种网络文件访问方式. 1. 4. 了解 TFTP 与 NFS 协议. 本章学习目标. 文件传输与存取协议. 目的在于通过网络存取、共享文件,包括的主要协议有: FTP (File Transfer Protocol ,文件传输协议 ) TFTP (Trivial File Transfer Protocol ,简单文件传输协议 )

jela
Télécharger la présentation

第 9 章 文件传输和访问协议

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第9章 文件传输和访问协议 主讲人:刘正华

  2. 了解FTP命令与应答的结构,熟悉常见的命令与应答了解FTP命令与应答的结构,熟悉常见的命令与应答 3 理解FTP协议的基本原理 2 了解常见的两种网络文件访问方式 1 4 了解TFTP与NFS协议 本章学习目标

  3. 文件传输与存取协议 • 目的在于通过网络存取、共享文件,包括的主要协议有: • FTP (File Transfer Protocol,文件传输协议) • TFTP (Trivial File Transfer Protocol,简单文件传输协议) • NFS (Network File System,网络文件系统)

  4. 文件传输与存取协议 • FTP是Internet传统的服务之一,其功能主要是在主机间高速、可靠地传输文件

  5. 9.1 文件传输与访问 • 通常可将网络文件访问方式分为两类: • 一类主要实现文件的传输功能,通常称为“文件传送” 。特点是传输与处理完全分开,可提高在本地进行信息处理的效率。实现协议如FTP

  6. 9.1 文件传输与访问 • 另一类则需要实现即时访问(读写)网络上文件的功能 ,而且能够处理并行访问的情况,通常称为“文件存取” 。 特点是文件做的修改能够立即生效,即访问远程文件就好像访问本地文件一样。常见的实现有两种:采用专门的数据库服务器或使用NFS。

  7. 9.2 FTP协议 • FTP是用于实现文件传输服务的最主要的规范,除了最主要的传输功能以外,FTP还提供了以下功能: • 交互方式:命令行方式或图形用户界面 • 数据表示:允许客户端程序指定传输数据的类型及格式 • 身份验证:用户访问FTP服务器需要提供经过授权的用户名与密码,以保证数据安全,特殊的匿名访问方式则取消了这种限制

  8. 9.2.1 FTP的工作原理 • FTP使用客户端–服务器模式,用户执行FTP程序,客户端程序先与远程服务器建立连接,用户登录到远程服务器后,向远程服务器发出传输命令,服务器在收到命令后就给予响应,并执行正确的命令 • FTP会建立两种类型的连接:控制连接与数据连接。控制连接传送客户端发出的命令和服务器返回的响应信息,数据连接则负责传输文件的内容

  9. FTP模型示意图 9.2.1 FTP的工作原理

  10. 9.2.2 FTP的数据表示与传输模式 • 数据表示包括数据类型和文件结构两个方面

  11. 9.2.2 FTP的数据表示与传输模式 • 数据类型 • ASCII类型 • EBCDIC类型 • IMAGE类型 • LOCAL类型

  12. 9.2.2 FTP的数据表示与传输模式 • 数据结构 • 文件结构 • 记录结构 • 页结构

  13. 9.2.2 FTP的数据表示与传输模式 • FTP协议规范中规定了三种传输模式 • STREAM模式(流模式) • BLOCK模式(块模式) • COMPRESSED模式(压缩模式)

  14. 9.2.3 FTP命令 • FTP协议规范中定义了许多FTP命令,用于登录FTP服务器、设置传输参数、浏览服务上的文件与目录列表、获取服务器上的文件、存储文件到服务器上,并管理服务器与客户端之间文件的传输过程。 • 这里所说的FTP命令,指的是FTP协议中定义的标准FTP命令,要特别注意不能与FTP程序所提供给的用户使用的操作命令混为一谈。

  15. UNIX下ftp工具提供给用户使用的命令(例子) 9.2.3 FTP命令

  16. 9.2.3 FTP命令 • FTP协议中将标准FTP命令分为三类: • 存取控制命令 • 传输参数命令 • FTP服务命令

  17. 9.2.3 FTP命令 • 存取控制命令 主要提供了用户身份验证功能和目录切换功能 常用FTP命令(1) 存取控制命令

  18. 9.2.3 FTP命令 • 传输参数命令 传输参数设置后一直有效,除非用新的命令改变传输参数,或者新建立了数据连接 常用FTP命令(2) 传输参数命令

  19. 9.2.3 FTP命令 • FTP服务命令 定义了一系列文件传输及文件系统操作相关的命令,这些命令的参数通常是pathname(路径名),路径名的书写必须符合服务器端的规范

  20. 常用FTP命令(3) FTP服务命令

  21. 9.2.4 FTP应答 • 服务器接收客户端命令并处理之后,会返回给客户端相应的命令响应信息,这种返回响应的方式称作FTP应答 • FTP应答保证了文件传输过程中请求与行为的同步,并使得用户进程总是能了解服务器的状态

  22. 9.2.4 FTP应答 • 每条FTP命令可以产生一条或多条响应,但多数情况下,每条命令只返回一条响应

  23. 9.2.4 FTP应答 • FTP响应与FTP命令一样,都是在客户端与服务器之间的控制连接上以NVT ASCII码形式传送,并在每行末尾以CR-LF标志行结束 • FTP响应由一个3位的数字代码(应答码),一个字符串形式的表示命令执行成功与否的文本,以及命令执行成功后的输出组成。

  24. 9.2.4 FTP应答 • FTP响应的格式:<3-digit code><SP><one line of text><CR-LF> • <3-digit code>为3位数字的应答码 • <SP>表示空格 • <one line of text>是一行提供给用户阅读的文本信息 • <CR-LF>是行结束符

  25. 9.2.4 FTP应答 FTP应答码中第1位和第2位的含义

  26. 9.2.5 FTP连接管理 • 进行通信时,FTP需要建立两个TCP连接 • 控制连接(端口号默认值为21):用于发送指指令给服务器及接收服务器响应 • 数据连接(端口号默认值为20,仅PORT模式):数据传输的通道 • FTP协议中规定了两种连接模式 • PORT(主动模式) • PASV(被动模式)

  27. PORT模式 • 数据连接由服务器初始化完成 • 客户端选择一个大于1024的端口连接服务器的21端口 • 需传输数据时,客户端会送出PORT命令告诉服务器连接到自己的某一端口来建立数据连接,同时侦听该端口 • 服务器收到PORT命令时,会使用20端口连接客户端在PORT命令中指定的端口号,然后传输数据

  28. 使用PORT模式的FTP连接示意图 PORT模式

  29. PASV模式 • 数据连接由客户端初始化 • 客户端选择一个大于1024的端口连接服务器的21端口 • 需传输数据时,客户端向服务器发送PASV命令,通知服务器自己希望连接到服务器的某一个端口 • 如果服务器上这个端口是空闲可用的,则服务器返回ACK作为确认信息,然后返回用户所需的信息;若端口已被占用,服务器会返回UNACK的信息,FTP客户端会再次发送PASV命令重复上述过程

  30. 使用PASV模式的FTP连接示意图 PASV模式

  31. 9.3 TFTP • TFTP是TCP/IP协议族中的一个用于在网络上的计算机之间进行文件传输的协议,提供功能单一、开销不大的文件传输服务。

  32. 9.3 TFTP • TFTP的主要特征如下: • 基于UDP协议(用户数据报协议),使用超时重传方式来保证数据的到达 • 只提供文件的上传与下载功能,不提供获取文件和目录列表的功能 • 不提供存取授权与用户认证机制 • 多用于局域网以及远程UNIX计算机中(FTP则多用于互联网中)

  33. 9.3.1 TFTP协议 ←TFTP报文的封装 5种TFTP报文的格式 →

  34. 9.3.1 TFTP协议 • 在TFTP中文件传输的过程如下:客户端向服务器的69端口发送一个读请求或者写请求分组,同时建立一个连接,客户端使用的端口是随机产生的。如果服务器同意请求,则连接成功,接着就是文件数据的传输过程。 • 除了最后一个TFTP数据分组,每个数据分组包含固定512字节长度的文件数据

  35. 9.3.1 TFTP协议 • 在发送下一个数据分组之前,必须得到确认响应,如果未收到确认,则必须一直等待(停止等待方式) • 如果分组在网络中丢失,接收端在计时器超时之后会重新发送分组 • 如果传输过程中出现错误,就通过差错报文分组来通告错误发生

  36. TFTP中的Sorcerer’s Apprentice Bug示意图 9.3.2 TFTP规范中的问题

  37. 9.4 NFS • NFS (网络文件系统)最初是由Sun Microsystems公司设计开发的,目前已经成为Internet网络上进行分布式访问的一种事实上的标准 • NFS主要具有以下特点: • 共享文件访问 • 信息访问的透明性 • 简化管理工作 • 良好的扩展性 • 可靠性 • 操作的简易性

  38. 9.4 NFS • RPC(Remote Procedure Call,远程过程调用)和XDR(External Data Representation,外部数据表示)为NFS提供所需的网络连接及解释基于这些连接发送的数据格式

  39. 9.4 NFS • RPC运行在OSI模型的会话层,它提供一组过程库,使远程计算机系统可像调用本地过程一样调用这些过程,无需了解于远程系统的底层细节,才使得NFS与平台无关。 • XDR运行在OSI模型的表示层,负责在不同的计算机系统间转换RPC数据,XDR设计了一种标准的数据表示,使得所有计算机均可理解

  40. 小结 • FTP是实现文件传输的最基本的应用层协议 • FTP使用户能在两个联网的计算机之间传输文件,是互联网上文件传输的主要方式 • FTP提供身份验证服务,用户需要提供有效的用户名与密码,匿名FTP取消了这种限制,允许所有用户访问

  41. 小结 • TFTP是一种很简单的文件传输协议,只提供文件的上传与下载功能,不提供获取文件和目录列表的功能,也不提供用户验证机制 • TFTP工作在UDP上,用超时重传方式来保证数据的到达 • 利用NFS可以建立一个分布式的文件系统,提供在多机环境中对网络的透明访问。用户可以像存取本地计算机上的文件一样,方便快捷地访问网络上其他计算机中的文件

  42. Thank You !

More Related