File Transfer and Access 协议

上传人:飞****9 文档编号:130125521 上传时间:2020-04-25 格式:PPT 页数:48 大小:1.50MB
返回 下载 相关 举报
File Transfer and Access 协议_第1页
第1页 / 共48页
File Transfer and Access 协议_第2页
第2页 / 共48页
File Transfer and Access 协议_第3页
第3页 / 共48页
File Transfer and Access 协议_第4页
第4页 / 共48页
File Transfer and Access 协议_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《File Transfer and Access 协议》由会员分享,可在线阅读,更多相关《File Transfer and Access 协议(48页珍藏版)》请在金锄头文库上搜索。

1、 了解常见的两种网络文件访问方式理解FTP协议的基本原理了解FTP命令与应答的结构 熟悉常见的命令与应答了解TFTP与NFS协议 目的在于通过网络存取 共享文件 包括的主要协议有 FTP FileTransferProtocol 文件传输协议 TFTP TrivialFileTransferProtocol 简单文件传输协议 NFS NetworkFileSystem 网络文件系统 FTP是Internet传统的服务之一 其功能主要是在主机间高速 可靠地传输文件 通常可将网络文件访问方式分为两类 一类主要实现文件的传输功能 通常称为 文件传送 特点是传输与处理完全分开 可提高在本地进行信息处理

2、的效率 实现协议如FTP另一类则需要实现即时访问 读写 网络上文件的功能 而且能够处理并行访问的情况 通常称为 文件存取 特点是文件做的修改能够立即生效 即访问远程文件就好像访问本地文件一样 常见的实现有两种 采用专门的数据库服务器或使用NFS FTP是在可靠的TCP连接基础上 来实现文件传输服务的最主要的规范 除了最主要的传输功能以外 FTP还提供了以下功能 交互方式 命令行方式或图形用户界面数据表示 允许客户端程序指定传输数据的类型及格式身份验证 用户访问FTP服务器需要提供经过授权的用户名与密码 以保证数据安全 特殊的匿名访问方式则取消了这种限制 FTP使用客户端 服务器模式用户执行FT

3、P程序 客户端程序先与远程服务器建立连接用户登录到远程服务器向远程服务器发出命令服务器在收到命令后就给予响应 并执行正确的命令一个FTP服务器进程可同时为多个客户进程提供服务 FTP的服务器进程由两大部分组成 一个主进程 负责接受新的请求 若干个从属进程 负责处理单个请求 FTP在工作过程中会建立两种类型的连接 控制连接 传送客户端发出的命令和服务器返回的响应信息 在与服务器建立连接时即创建 在整个会话期间一直续存 数据连接 传输文件 目录等内容 在需要传输数据时创建 数据传输完毕后释放 FTP模型示意图 数据类型ASCII类型 默认的数据类型 使用NVTASCII码形式来传输文本文件 EBC

4、DIC类型 扩充的二进制编码的十进制交换码 是一种类似于ASCII的规范 主要在IBM计算机上使用 用于传输文本文件 IMAGE类型 即二进制文件类型 数据打包成8位的传输字节 以连续比特流的方式发送文件 通常用于传输二进制文件 LOCAL类型 本地文件类型 用于不同字长主机间传输二进制文件 数据结构文件结构 文件由连续的字节流组成 不存在内部结构 记录结构 文件由记录构成 文本文件中的一行为一条记录 页结构 文件由一组独立的 带编号的页组成 FTP协议规范中规定了三种传输模式STREAM模式 流模式 文件传输的默认模式 文件以字节流方式传输 文件结构文件 发送方以EOF结束文件传输记录结构文

5、件 使用专门的控制代码来表示文件的结束BLOCK模式 块模式 文件以数据块方式进行传输 每个块带有一个或多个报头COMPRESSED模式 压缩模式 采用全长编码压缩算法 压缩连续出现的字节 FTP协议规范中定义了许多FTP命令 用于登录FTP服务器 设置传输参数 浏览服务上的文件与目录列表 获取服务器上的文件 存储文件到服务器上 并管理服务器与客户端之间文件的传输过程 注意 这里所说的FTP命令 指的是FTP协议中定义的标准FTP命令 要特别注意不能与FTP程序所提供给的用户使用的操作命令混为一谈 FTP客户端程序 用户 用户操作命令 FTP命令 TCP IP网络 UNIX下ftp工具提供给用

6、户使用的命令 FTP协议中将标准FTP命令分为三类 存取控制命令传输参数命令FTP服务命令 存取控制命令主要提供了用户身份验证功能和目录切换功能 传输参数命令传输参数设置后一直有效 除非用新的命令改变传输参数 或者新建立了数据连接 FTP服务命令定义了一系列文件传输及文件系统操作相关的命令 这些命令的参数通常是pathname 路径名 路径名的书写必须符合服务器端的规范 FTP服务命令 服务器接收客户端命令并处理之后 会返回给客户端相应的命令响应信息 这种返回响应的方式称作FTP应答FTP应答保证了文件传输过程中请求与行为的同步 并使得用户进程总是能了解服务器的状态每条FTP命令可以产生一条或

7、多条响应 但多数情况下 每条命令只返回一条响应 FTP响应与FTP命令一样 都是在客户端与服务器之间的控制连接上以NVTASCII码形式传送 并在每行末尾以CR LF标志行结束FTP响应由一个3位的数字代码 应答码 一个字符串形式的表示命令执行成功与否的文本 以及命令执行成功后的输出组成 FTP响应的格式 为3位数字的应答码表示空格是一行提供给用户阅读的文本信息是行结束符 FTP应答码中第1位和第2位的含义 进行通信时 FTP需要建立两个TCP连接控制连接 端口号默认值为21 用于发送指指令给服务器及接收服务器响应数据连接 端口号默认值为20 仅PORT模式 数据传输的通道FTP协议中规定了两

8、种连接模式PORT 主动模式 PASV 被动模式 PORT 主动 模式数据连接由服务器初始化完成客户端选择一个大于1024的端口连接服务器的21端口需传输数据时 客户端会送出PORT命令告诉服务器连接到自己的某一端口来建立数据连接 同时侦听该端口 比如 PORT61 144 1 2 4 104即 IP 61 144 1 2端口 4 256 104 1128服务器收到PORT命令时 会使用20端口连接客户端在PORT命令中指定的IP地址和端口号 然后传输数据 使用PORT模式的FTP连接示意图 PSHACK6 13 8 ack40TYPEI r n Client Server PSHACK40

9、59 20 ack14200TypesettoI r n PSHACK14 38 25 ack60PORT140 252 13 66 4 99 r n PSHACK39 50 12 ack90RETRa out r n PSHACK60 89 30 ack39200PORTcommandsuccessful r n SYN2772971521 2772971521 0 SYNACK1110564865 110564865 0 ack2772971522 ACK2772971522 2772971522 0 ack110564866 PSHACK90 155 66 ack51150Opening

10、BINARYmode r n ACK51 51 0 ack156 FTP工作过程 实线 控制连接 虚线 数据连接 ACK2772971522 2772971777 256 ack110564866 Client Server ACK110564866 110564866 0 ack2772971778 PSHACK156 179 24 ack51226Transfercomplete r n ACK51 51 0 ack180 ACK2772971778 2772972033 256 ack110564866 ACK110564866 110564866 0 ack2772972034 FIN

11、ACK2772987654 2772987654 0 ack110564866 ACK110564866 110564866 0 ack2772987655 FINACK110564866 110564866 0 ack2772987655 ACK2772987655 2772987655 0 ack110564867 PSHACK51 56 6 ack180QUIT r n PSHACK180 193 14 ack57221Goodbye r n PASV 被动 模式数据连接由客户端初始化客户端选择一个大于1024的端口连接服务器的21端口需传输数据时 客户端向服务器发送PASV命令 通知服

12、务器自己希望连接到服务器的某一个端口 服务器通过应答码为227的响应返回一个IP地址和端口号 通知客户端可以连接到指定的地址 以进行数据传输 使用PASV模式的FTP连接示意图 在命令行窗口中输入命令 telnetftp cs cuhk edu hk21然后以匿名方式登录到该服务器 220ftp cse cuhk edu hkFTPserver Versionmake 1 WedMay2519 18 53HKT2005 ready USERanonymous331Guestloginok sendyourcompletee mailaddressaspassword PASSzlh 在服务器显

13、示欢迎信息后 输入命令 PASV以进入被动模式 服务器的响应如下 227EnteringPassiveMode 137 189 91 191 123 173 即 服务器在137 189 91 191 31661等待客户端数据连接请求的到达 31661 123 256 173输入以下命令 要求从数据连接上发送服务器当前目录信息 LIST从控制连接上收到信息 150OpeningASCIImodedataconnectionfor bin ls 此时服务器进入到等待客户建立数据连接的状态 在另一个命令行窗口中输入以下命令 与服务器建立数据连接 telnet137 189 91 19131661这时

14、 在窗口中会看到服务器当前目录信息 total36drwxr xr x14rootdaemon512Jul282011 drwxr xr x14rootdaemon512Jul282011 rw r r 1rootdaemon0Oct162002 notar 以下省略 目录信息传输完毕后 在控制连接上收到信息 226Transfercomplete PORT和PASV的注意事项 所有FTP服务器软件都支持PORT方式 至于PASV方式 大部分FTP服务器软件都支持 支持PASV方式的FTP服务器软件 也可以设置为只工作在PORT方式上 为了PASV方式能正常工作 需要在FTP服务器软件上为PA

15、SV方式指定可用的端口范围 此外 还要在服务器的防火墙上打开这些端口 选择用PASV方式还是PORT方式登录FTP服务器 选择权在FTP客户端 而不是在FTP服务器 PORT和PASV的注意事项 若客户端只有内网IP 没有公网IP 那么 客户端只能使用PASV方式与FTP服务器建立数据连接 极少数的NAT网关也支持内网中的FTP客户端以PORT方式访问服务器 这些NAT网关能够对TCP报文段中封装的应用层数据进行扫描 扫描到PORT指令后会用自己的IP地址和端口号替换PORT方式的IP地址和端口号 这些网关只扫描目的端口号为21的数据包 如果FTP服务器不是使用默认的21号端口 内网中的客户端

16、也无法使用PORT方式与服务器建立数据连接 TFTP是TCP IP协议族中的一个用于在网络上的计算机之间进行文件传输的协议 提供功能单一 开销不大的文件传输服务 TFTP的主要特征如下 基于UDP协议 用户数据报协议 使用超时重传方式来保证数据的到达只提供文件的上传与下载功能 不提供获取文件和目录列表的功能不提供存取授权与用户认证机制多用于局域网以及远程UNIX计算机中 FTP则多用于互联网中 TFTP报文的封装 5种TFTP报文的格式 TFTP报文的封装 5种TFTP报文的格式 TFTP报文的封装 5种TFTP报文的格式 块号从1开始编码每发送1个数据块 块号增加1 TFTP报文的封装 5种TFTP报文的格式 块号字段用于确认接收到的报文该字段的取值与被确认报文的块号相同 对写请求的确认块为0 TFTP报文的封装 5种TFTP报文的格式 在TFTP中文件传输的过程如下 客户端向服务器的69端口发送一个读请求或者写请求分组 同时建立一个连接 客户端使用的端口是随机产生的 如果服务器同意请求 则连接成功 接着就是文件数据的传输过程 除了最后一个TFTP数据分组 每个数据分组包含固定512

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号