在互联网上传输文件 —— FTP协议
文章目录
- 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协议在控制连接上发送的命令之间,一般有一个一对一关系,每个命令都对应着一个回答。回答是一个三位数字。后面跟着一个可选信息,常用的状态码如下:
状态码 | 释义 |
---|---|
331 | Username OK, Password required |
125 | Data connection already open; transfer starting |
425 | Can’t open data connection |
452 | Error writing file |
参考文献
[1]计算机网络自顶向下方法.第二章
在互联网上传输文件 —— FTP协议相关推荐
- FTP可以建立连接不能传输文件(FTP主被动模式)
问题现象:客户在云主机安全组上加入了20/21入规则,客户端可以连接FTP服务器,但是无法传输文件等. 原因:默认FTP连接传输使用被动模式未使用主动模式,防火墙(安全组)未设置正确的出入站规则 解决 ...
- java项目如何部署到服务器----传输文件ftp
目录 部署到Linux系列教材 (一)- FTP - 介绍 步骤 1 : ftp做什么用 步骤 2 : 安装服务器相关内容 部署到Linux系列教材 (二)- FTP - 安装 步骤 1 : 介绍vs ...
- [ubuntu]用SSH实现ubuntu系统互联并传输文件(无图形界面)
安装ssh-server: 安装ssh协议:sudo apt-get install openssh-server 安装好后确认 SSH Server 是否启动:sudo ps -e |grep ss ...
- 教你写一个ftp协议(文件传输协议)
一.FTP协议简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它 ...
- 基于FTP协议的文件传输与下载
目录 一.FTP协议: 二.文件上传: 1.连接服务器 2.登录操作 3.上传操作 三.文件下载 1.连接服务器 2.登录操作 3.下载操作 四. 总结: 一.FTP协议: ftp是(File Tra ...
- 华为eNSP配置文件传输FTP协议
华为eNSP配置文件传输FTP协议 一.文件传输协议 二.服务端配置 三.客户端登录 (一)通过路由器R1命令登录服务端R3 (二)通过PC主机登录服务端R3 (三)升级操作系统 一.文件传输协议 文 ...
- 局域网文件分享协议和方案的探究
不管是学习还是工作中经常遇见这样一种情况,需要传输一些文件给同学,同事或者其他人,这些文件经常是些软件安装包,素材,文档,游戏安装包,软件安装环境等等.多数情况下都会选择使用u盘,先把文件复制进去,然 ...
- FTP协议中的登录 上传 下载 新建目录 删除目录 的wireshark包分析(一文看完TCP包分析,附源文件,ppt,操作视频)
目录 一原理 二.FTP登录 三.FTP下载 四.FTP上传 五.FTP新建目录 六.FTP删除目录 一原理 前言:TCP/IP四层模型和OSI模型对照,以及FTP在模型中的位置. • ...
- 计算机一级ftp协议传输,文件传输协议(FTP)必将消亡
文件传输协议(FTP)在RFC 959中定义,于1985年10月发布.文件传输协议(FTP)被设计成为一个跨平台的.简单且易于实现的协议.文件传输协议(FTP)有一个漫长的演化史,是互联网上最重要的应 ...
最新文章
- 【数据蒋堂】第15期:开放的计算能力为数据库瘦身
- MATLAB在通信系统仿真中的注意
- Ubuntu、Windows双系统为Ubuntu增加磁盘空间
- 【机器学习基础】数学推导+纯Python实现机器学习算法15:GBDT
- Python3求最后一个单词长度
- Mac资讯:macos big sur正式版推送 macOS 11 Big Sur有哪些不兼容的软件?
- scratch课程案例——漫天飞雪
- 大学计算机课是绩点课吗,选修课是什么意思 选修课成绩算入绩点吗
- 带你了解电机驱动板的四大分类
- 怎么在python输出图片_python怎么输出图片
- PRD | 微信小程序产品需求文档(柚诚小栈用户端)
- 挑选适合自己的乒乓球拍【转】
- 每日一个小技巧:文字转图片怎么操作?介绍给你三款软件
- python怎么绘制饼图_Matplotlib绘制饼图
- 临床执业助理医师(综合练习)题库【4】
- 有道云笔记 - Markdown模板(文首附markdown源码,即.md文件)
- 中年人学C语言Windows程序设计,9 窗口绘图:直线的画法
- 基于kubernetes-1.21.5 部署 Rook
- LATEX 排版问题记录
- 企业征信报告和企业信用评价报告有何不同?