在互联网上传输文件 —— FTP协议

article/2025/8/18 14:41:40

文章目录

  • FTP协议是什么
  • FTP协议传输过程
  • FTP命令和回答
  • 参考文献

FTP协议是什么

FTP(File Transfer Protocol,文件传输协议) 是TCP/IP 协议组中的协议之一。 FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。 其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

在典型的FTP的会话中,用户坐在一台主机前面,向一台远程主机上传或下载文件。为使用户能够访问远程主机的账户,用户必须提供一个用户标识和口令。在提供了授权信息后,用户就能从本地文件系统向远程文件系统传送文件。

在这里插入图片描述
HTTP协议和FTP协议都是文件传输协议,并且有很多共同的特点。例如,其运输层协议都是TCP。但是,这两个协议也有一些重要的区别:最显著的就是FTP使用并行的两个TCP连接来传输文件,一个是控制连接,一个是数据连接

  • 控制连接用于在两个主机之间传输控制信息,如用户标识、口令,命令等
  • 数据连接用户实际传输一个文件

在这里插入图片描述

正因为FTP协议使用一个分离的控制连接,所以我们也称FTP的控制信息是带外传送的。但是,HTTP协议是在传输文件的TCP连接中发送请求和响应首部行的。因此,HTTP协议可以说是带内发送控制信息的

FTP协议传输过程

当用户主机和远程主机开始一个FTP会话前,FTP的客户机首先在21端口上向服务器发起一个用于控制的TCP连接。当FTP的服务器端从该连接上收到一个文件传输的命令后,就发起一个到客户机上的数据连接。FTP在该数据连接上准确地传送一个文件并关闭该连接。如果在同一会话期间,用户还需要传输另一个文件,FTP则会打开另一个数据连接。因为对FTP传输而言,控制连接贯穿了整个用户会话期间,但是针对会话中的每一次文件传输都需要建立一个新的数据连接

因此,FTP服务器必须在整个会话期间保留用户的状态信息!这根HTTP是不同的。

FTP命令和回答

和HTTP的命令一样,FTP的报文也是用7位ASCII码编写的。为了区分连续的命令,每个命令后面都跟回车换行符。每个命令由四个大写字母组成,部分还有可选参数,以下是一些常用命令:

  • USER username:用于向服务器传送用户标识
  • PASS password:用于向服务器传送用户口令
  • LIST:用于请求服务器返回远程主机当前目录的所有文件列表
  • RETR filename:用于从远程主机的当前目录下检索文件
  • STOR filename:用于向远程主机的当前目录下存储文件

在用户发出的命令和FTP协议在控制连接上发送的命令之间,一般有一个一对一关系,每个命令都对应着一个回答。回答是一个三位数字。后面跟着一个可选信息,常用的状态码如下:

状态码释义
331Username OK, Password required
125Data connection already open; transfer starting
425Can’t open data connection
452Error writing file

参考文献

[1]计算机网络自顶向下方法.第二章

http://chatgpt.dhexx.cn/article/qOejm31M.shtml

相关文章

文件传输协议(FTP)

因特网上使用的最广泛的文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存储权限。它屏蔽了各个计算系统的细节,因而适合于在异构网络中的任意计算机之间传输文件。 FTP提供以下功能: 提供不同种…

FTP协议完全详解

1. 介绍 FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。…

FTP协议(文件传输协议)

FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序&am…

FTP文件传输协议详解

简介:FTP是基于TCP协议之上的具有C/S架构的文件服务器。 需要通过控制连接20端口来控制双方的通信 需要通过数据连接21端口来进行双方的通信 主动模式:最大的特点是数据连接由服务器的20端口主动发起连接,这种情况可能会被客户端的防火墙拒绝…

FTP协议讲解

FTP 概述 文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。 在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命…

FTP 协议

FTP 协议 FTP协议的(file Transfer Protocol)文本传输协议,简称为FTP, **FTP 是一种基于 TCP 的应用层协议,它不支持 UDP 协议。 FTP 工作在一种特殊的服务机制上,**采用的是c/s模式 也就是客户端和服务器…

浅谈FTP(文件传输协议)

FTP(文件传输协议) FTP(File Transfer Protocol) ,是一种处于应用层的用于文件传输的协议。是基于TCP协议的应用层协议,用于在网络上传输文件。 该协议使用的端口号为20和21,其中20是数据端口,21是命令端口(默认情况下) 是否使用…

FTP协议

一、FTP的概述 1、文件传送协议FTP (File Transfer Protocol)是互联网上使用得最广泛的文件传送协议,用于Internet上的控制文件的双向传输。 2、FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。 3、FTP 屏蔽了…

FTP文件传输协议

目录 一、FTP的概述 1.1 FTP的理念 1.2 FTP数据连接模式 1.2.1 连接模式分类 1.2.2 主动和被动模式的工作原理 二、配置FTP服务 2.1 配置匿名用户FTP服务 2.1.1 关闭防火墙安装vsftpd软件包 2.1.2 开启FTP服务并做备份 ​ 2.1.3 修改配置文件 2.1.4 设置目录下权限&a…

FTP协议详解

一、FTP协议的概述 1、文件传送协议(File Transfer Protocol)是互联网上使用的最广泛的文件传输协议,用于Internet上的控制文件的双向传输。 2、FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限。 3、FTP屏蔽了各…

手推向量投影长度、投影向量

投影 (tuyǐng),数学术语,指图形的影子投到一个面或一条线上。 声明向量F为F、 向量F的大小为|F|,向量b为b、向量b的大小为、|b| 当我们得到了投影的大小之后|F| 因为 F 在 b 上 所以 单位向量相同,F 和 b…

向量投影公式

公式一:a.b |a||b|cos(r) cos(r) a.b/|a|/|b| 公式二:|c| |a|cos(r) 公式三:|c| a.b/|b| 公式四:c b/|b| |c| 公式五:c a.b/|b|2 b 公式六:c a.b/b.b b 备注:|b| √b.b 朝向解P…

已知法向量,某一向量投影到其平面,计算投影向量

最近一直在计算旋转矩阵,奈何高中数学实在是差,大学高等数学也不行,线性代数也不行,现在做起研究来真是要了我这个秃头粥的老命。只能边学习边应用了。 第一个:对某一向量进行旋转平移,等于是在其左边乘了…

向量投影推导

给定一个向量u和v,求u在v上的投影向量,如下图。 假设u在v上的投影向量是u’,且向量u和v的夹角为theta。一个向量有两个属性,大小和方向,我们先确定u’的大小(即长度,或者模)&#xf…

向量投影

给定一个向量u和v,求u在v上的投影向量,如下图。 假设u在v上的投影向量是u’,且向量u和v的夹角为theta。一个向量有两个属性,大小和方向,我们先确定u’的大小(即长度,或者模)&#xf…

向量的投影与射影

一、概念比较 ①人教A版:已知两个非零向量与,我们把数量叫做与的数量积(或内积),记作,即,其中是与的夹角,()叫做向量在方向上(在方向上&#xff0…

向量的平面投影 ProjectOnPlane

1 定义 - ProjectOnPlane // // 摘要: // Projects a vector onto a plane defined by a normal orthogonal to the plane. // // 参数: // planeNormal: // The direction from the vector towards the plane. // // vector: // The location of the vector a…

线性代数 --- 投影Projection 一(投影向量p)

线性代数中的投影 之前看过Gilbert strang老爷爷在MIT主讲的线性代数视频,令我印象最深的,就是他讲过的一堂关于投影的课。倒不是这堂课的内容本身有多么的吸引我,反倒是他在这堂课中所说的一句话,时至今日都另我印象深刻。 他的…