FTP文件传输协议

FTP工作在TCP/IP模型的应用层,基于的传输协议是TCP,FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP的主要特征:

1.控制连接是建立在客户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路。

2.数据连接是传输数据的全双工连接。传输数据可以发生在服务器数据传输过程DTP和客户DTP之间,也可以发生在两个服务器的DTP之间。

文件类型:

1.ASCII码文件类型(默认选择),以NVT ASCII码形式通过数据连接传输;

2.EBCDIC文件类型。该文本文件传输方式要求两端都是EBCDIC系统;

3.图像文件类型(也成为二进制文件类型),数据发送形式呈现为一个连续的比特流。

数据结构:

1.文件结构(File Structure)字节流,无结构;

2.记录结构(Record Structure)文件被划分为记录,用于文本文件;

3.页结构(Page Structure)文件被划分为页,每页有页号和页头。可以进行随机存取或顺序存取。

传输方式:

FTP的传输模式有流模式、块模式和压缩模式:

1.流模式:数据以字节流的形式传送

-记录结构

-文件结构

2.块模式:文件以块的形式传送,块带有自己的头部分。头字节包括16位计数域和8位描述子代码

3.压缩模式:压缩模式中,因为数据是压缩过的,对于增加带宽有很多好处。

块模式头字节的结构

描述子代码在描述子字节中的位标记说明

FTP中的客户端-服务器模型

FTP客户端与服务器之间要建立双重连接,一个是控制连接,一个是数据连接。

控制连接:NVT ASCII

数据连接:文件类型、数据结构、传输方式

建立双重连接的原因是:FTP是一个交互式会话系统,某客户每次调用FTP,便与服务器建立一次会话,会话以控制连接来维持。

客户端每提出一个请求,服务器与客户端建立一个数据连接,进行实际的数据(比如文件)传输,一旦数据传输结束,数据连接相继撤销,但控制连接依然存在,客户端可以继续发出命令。

客户可以撤销控制连接(close命令),也可以退出FTP会话(quit命令)。

FTP服务器的实现是由一组FTP进程完成的。

服务器FTP进程:由协议解释器PI和数据传输过程DTP组成。

客户端FTP进程:由PI、DTP和用户接口组成。

传输和控制采用独立的连接方式具有以下三方面的优点:

1.使FTP协议更加简单并且更容易实现,例如控制连接可以直接采用Telnet协议实现,FTP数据连接不会与FTP命令混淆起来;

2.在数据连接结束后,控制连接仍然保留着,它能够在新的传输连接时被使用;

3.发送方与接收方在所有的数据都到达时可以在数据连接上用文件结束来通知另一方,从而达到命令传输的功能。

FTP使用Telnet协议进行控制连接。

通信:

FTP使用客户端/服务器模式,涉及到五个进程和两个相关。

服务器首先运行一个本地FTP主服务进程,当客户端用户输入open或ftp命令后,客户端指定一个远程计算机时,建立一个客户端控制进程,本地应用成为一个FTP客户端,建立了与自己的半相关。

然后,客户端用TCP建立与指定计算机上的FTP服务器之间的控制连接。

服务器接收到客户端的请求后,派生一个服务器控制进程,该进程与客户端控制进程建立起控制连接,即相关,双方进入会话状态。

客户端要进行数据传输时,派生一个客户端数据传输进程,并在一个非默端口上被动打开,通过控制连接,客户端用port将端口号发送给服务器控制进程。

服务器控制进程接收到后,派生一个服务器数据传输进程,该进程建立一个自己的半相关(20),并向客户端数据进程发出连接请求,与客户端数据传输进程建立相关,双方建立数据传输。

数据传输结束后,关闭数据连接,双方数据传输进程结束,但控制进程仍然存在,然后可以再重新发起新的数据传输服务。

FTP命令与响应

FTP命令主要用于控制连接,可以直接采用Telnet协议实现,所以FTP命令同Telnet命令包括中断进程、Telnet的同步信号、查询服务器、带选项的Telnet命令等。

命令以NVT ASCII码形式传送,要求在每行结尾都要CR、LF对。

FTP响应都是ASCII码形式的3位数字,响应也是以NVT ASCII码形式传送,要求在每行结尾都要返回CR、LF对。

匿名FTP的用途:

从前面的讲解可知,使用FTP时必须首先利用Telnet协议登录,获得远程主机相应的权限,才能上传和下载文件。

本地主机必须具有用户ID和口令,获得远程计算机的适当授权,否则便无法传送文件,Internet上的FTP主机很多,不可能要求每个用户在每一台主机上拥有帐号。

匿名FTP无需本地主机成为远程计算机的注册用户,从而解决了这个问题。

匿名FTP机制:

远程计算机建立了名为anonymous的用户特殊ID,这样Internet上的任何人在任何地方都可使用该用户ID,下载文件,而无需成为其注册用户。

匿名FTP主机的连接使用方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,其口令可以是客户端自己喜欢的任意字符串。

时间: 2024-08-02 15:13:34

FTP文件传输协议的相关文章

FTP文件传输协议(二)

FTP文件传输协议(二) 3.访问控制列表 [[email protected] vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh [[email protected] vsftpd]# cat user_list 查看用户列表的配置文件 # vsftpd userlist # If userlist_deny=NO, only allow users in this file //如果使用userlist_den

【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 35.1  初学者重要提示 35.2  FTP基础知识参考资料 35.3  FTP基础知识点 35.4  总结 35.1  初学者重要提示 FTP文件传输协议在实际项目中有比较重要的实用价值,需要初学者对FTP的基础知识也有个认识. 35.2  FTP基础知识参考资料 大家可以从以下地址获得FTP

FTP 文件传输协议

FTP 文件传输协议 什么是FTP? FTP全称是文件传输协议,简单点就是通过这个协议我们可以实现文件的传输. FTP软件一般分为服务端和客服端. 常用的FTP软件 pureFTP 编译安装FTP 进入官网下载 https://www.pureftpd.org/ 具体下载地址:?[https://download.pureftpd.org/pub/pure-ftpd/releases/](https://download.pureftpd.org/pub/pure-ftpd/releases/)

FTP文件传输协议之vsftpd服务

一.FTP服务概述 FTP(File Transfer Protocol,文件传输协议)是典型的C/S结构的应用层协议,需要由服务端软件.客户端软件共同实现文件传输功能 FTP服务器默认使用TCP协议的20.21端口与客户端实现通信.20端口用于建立数据连接,并传输数据文件:21端口用于建立控制连接,并传输FTP控制命令.FTP数据连接分为主动模式和被动模式 主动模式:服务器主动发起数据连接 被动模式:服务器被动等待数据连接 vsftpd软件 vsftpd是目前在Linux/Unix领域应用十分

FTP文件传输协议两种方式的工作原理

FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是 Active,主动方式),一种是 Passive (也就是PASV,被动方式). Standard模式 FTP的客户端发送 PORT 命令到FTP server.Passive模式FTP的客户端发送 PASV命令到 FTP Server. 下面介绍一个这两种方式的工作原理: Standard模式 FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个

Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )

https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(

利用虚拟机搭建可以访问的文件传输协议

实验介绍: 本次实验的主要目的是,在搭建好宿主机与虚拟机可以进行互通之后,利用虚拟机创建FTP文件传输协议,为宿主机提供可以访问下载或者上传的网站服务. 实验内容: 1.首先打开计算机控制面板,点击"程序". 2.点击"打开或者关闭Windows功能". 3.找到并勾选"FTP服务器"以及两个子选项"FTP服务"和"FTP扩展性". 4.等待Windows打开功能. 5.打开开始菜单,输入"IIS

第9章 应用层(5)_文件传输协议FTP

6. 文件传输协议FTP 6.1 FTP主动和被动模式 (1)FTP协议 ①与其他协议不同,FTP协议在客户端访问FTP服务器时需要建立两个TCP连接.一个用来传输FTP命令,一个用来传输数据. ②在FTP服务器上需要开放两个端口,一个命令窗口(或称为控制窗口)和一个数据窗口.通常命令端口为21,数据端口为20.当考虑主动/被动模式时,数据端口可能不是20. (2)主动模式(建立传输数据的TCP连接由FTP服务器主动发起) ①工作过程 A.第1步中,FTP客户端提交PORT命令并允许服务器来回连

FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择

第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供上传,下载和删除文件,创建和删除目录,读取目录内容的功能.虽然FTP是非常受欢迎的,它有一些缺点,使其更难使用.主要的缺点是缺乏目录列表的统一格式(这个问题已经通过引入MLST命令部分解决,但是一些服务器不支持)和辅助连接(DATA连接)的存在.FTP中的安全性通过对RFC 2228中定义的信道加密采用SSL / TLS协议来提供.FTP的安全版本称为FTPS. 在UNIX系统中,