《ftp协议》由会员分享,可在线阅读,更多相关《ftp协议(19页珍藏版)》请在金锄头文库上搜索。
1、文件传输协议,ISSUE 1.0,引入,如何在互联网中的主机和服务器之间传输文件呢? 文件传输协议能够提供在远端主机和本地服务器之间传输文件的服务 FTP 和TFTP 是最常用的文件传输协议,掌握FTP协议基础知识 熟悉FTP协议文件传输模式 熟悉FTP数据传输方式 掌握TFTP协议基础知识 掌握FTP与TFTP相关配置方法,课程目标,FTP协议简介,FTP协议是互联网上广泛使用的文件传输协议 客户端/服务器模式,基于TCP FTP采用双TCP连接方式 控制连接使用TCP端口号21 数据连接使用TCP端口号20 FTP有两种文件传输模式 FTP采用两种数据传输方式 主动方式 被动方式,FTP双
2、TCP连接方式,控制连接 用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息。控制连接在整个FTP会话期间一直保持打开 数据连接 用于传输数据,包括数据上传、下载、文件列表发送等。数据传输结束后数据连接将终止,FTP控制 连接进程,21,FTP客户端,FTP服务器,FTP数据 连接进程,FTP控制 连接进程,FTP数据 连接进程,20,FTP文件传输模式,ASCII模式是默认的文件传输模式,主要特点是: 本地文件转换成标准的ASCII码再传输 适用于传输文本文件 二进制流模式也称为图像文件传输模式,主要特点是: 文件按照比特流的方式进行传输 适用于传送程序文件,FTP主动数据
3、传输方式,主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是: FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号 当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输 在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式,主动方式建立连接过程,FTP客户端,控制连接,FTP服务器,控制连接,1,1174,21,TCP三次握手建立控制通道的TCP连接,FTP客户端,控制连接,FTP服务器,控制连接,2,1174,21,客户端用PORT命令通告用于数据传输的临时 端口号(13*
4、256+238=3566),PORT (192,168,0,1,13,238),交互过程,FTP客户端,数据连接,FTP服务器,数据连接,3,3566,20,TCP三次握手建立数据通道的TCP连接,FTP客户端,数据连接,FTP服务器,数据连接,4,3566,20,双方进行数据传输。传输完毕后发送数据的一方主动关闭数据连接,数据传输,关闭数据连接,FTP被动数据传输方式,被动方式也称为PASV方式,被动方式的主要特点是: FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端 当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完
5、成数据传输 在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式,被动方式建立连接过程,FTP客户端,控制连接,FTP服务器,控制连接,1,1174,21,TCP三次握手建立控制通道的TCP连接,FTP客户端,控制连接,FTP服务器,控制连接,2,1174,21,服务器对PASV命令回应,其中包含用于数据传输的临时端口号(20*256+245=5365),PASV,交互过程,FTP客户端,数据连接,FTP服务器,数据连接,3,3789,5365,客户端随机选择端口与服务器端选定的端口建立数据通道的TCP连接,FTP客户端,数据连接,FTP服务器,数据连接,4,3789,53
6、65,进行数据传输,传输完毕后发送数据的一方主动关闭数据连接,数据传输,关闭数据连接,Enter Passive Mode (192,168,0,10,20,245),TFTP协议介绍,TFTP(简单文件传输协议)也是采用客户机/服务器模式的文件传输协议 TFTP适用于客户端和服务器之间不需要复杂交互的环境 TFTP承载在UDP之上,端口号69 TFTP仅提供简单的文件传输功能(上传、下载) TFTP没有存取授权与认证机制,不提供目录列表功能 TFTP协议传输是由客户端发起的,TFTP文件传输过程,TFTP Client,TFTP Server,读请求,数据报文(块编号=1),确认报文(ACK
7、=1),数据报文(块编号=n),确认报文(ACK=n),TFTP Client,TFTP Server,写请求,确认报文(ACK=0),数据报文(块编号=1),数据报文(块编号=n),确认报文(ACK=n),确认报文(ACK=1),文件下载,文件上传,配置路由器作为FTP客户端,在用户视图下直接登录远程FTP服务器 查询远程FTP服务器上的目录/文件 下载FTP服务器上的文件 断开与远程FTP服务器的连接, ftp server-address,ftp get remotefile localfile ,ftp ls remotefile localfile ,ftp bye,其他常用命令,设
8、置FTP文件传输的模式为二进制流模式 显示远程FTP服务器上的工作目录 切换远程FTP服务器上的工作路径 上传本地文件到远程FTP服务器,ftp binary,ftp put localfile remotefile,ftp cd pathname,ftp pwd,配置路由器作为FTP服务器端,在系统视图下启动FTP服务器功能 创建本地用户并进入本地用户视图 设置当前本地用户的密码 设置服务类型并指定可访问的目录,Router ftp server enable,Router-luser-abc password simple | cipher password,Router local-us
9、er user-name,Router-luser-abc service-type ftp ftp-directory directory ,配置示例,Router ftp server enable Router local-user ftp_manager Router-luser-ftp_manager password simple 123456 Router-luser-ftp_manager service-type ftp,FTP Client,FTP Server 10.0.0.1, ftp 10.0.0.1 User(10.0.0.1:(none):ftp_manager
10、331 Password required for ftp_manager. Password: 230 User logged in. ftp put aaa.app bbb.app,配置路由器作为TFTP客户端, tftp server-address get | put | sget source-filename destination-filename source ip source-ip-address | interface interface-type interface-number ,在用户视图下使用 此命令用于使路由器作为TFTP客户端登录远程TFTP服务器 server-address:TFTP服务器的IP地址或主机名。 source-filename:源文件名。 destination-filename:目标文件名。 get:表示普通下载文件操作。 put:表示上传文件操作。 sget:表示安全下载文件操作。,FTP与TFTP基础知识 FTP文件传输的两种模式 FTP数据传输方式 TFTP文件传输过程 FTP与TFTP相关配置方法,小结,