计算机网络知识梳理(五)---- FTP

306 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

计算机网络知识梳理 这个系列是为了巩固在计算机网络方面的相关理论基础,日常开发虽然用不到,但是真要是有啥问题还得靠平常积累的知识点

概述

文件传送协议(File Transfer Protocol,FTP) 是在互联网的两个主机间实现文件互传的 网络应用,其应用层协议也称为FTP。

FTP可以减少或消除在不同操作系统下处理文件的不 兼容性,屏蔽各计算机系统的细节,适合在网络中任意异构计算机之间传送文件。 FTP的客户与服务器之间的交互以及文件传输过程均使用TCP的可靠传输服务。用户通过FTP用户代理使用FTP应用,用户代理通过FTP客户与FTP服务器进行交互

image.png

FTP的一个显著特点是在传输文件内容时,需要新建一个数据连接,专门用十文件传 输,文件传输结束后,数据连接即关闭。

也就是说,FTP应用使用两个“并行”的TCP连接:控制连接和数据连接。

控制连接在整个会话期间- -直保持打开,是持久的,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21),但控制连接不用来传送文件,实际用于传输文件的是数据连接。

服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建数据传送进程和数据连接,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭数据传送连接,数据连接是临 时的,非持久的。

常见命令

FTP会话形式是客户向服务器发送命令,服务器发送状态码和短语作为应答

  • USER usename,用于向服务器传送用户标识。
  • PASS password,用于向服务器发送用户口令。
  • LIST,用于请求服务器回送当前远程目录中的所有文件列表。该文件列表是经-一个数据连接传送的,而不是在控制TCP连接.上传送。
  • RETRfilename,用于从FTP服务器的当前目录下载文件。该命令将使服务器发起一个数据连接,并经该数据连接向客户发送所请求的文件。
  • STOR filename, 用于向FTP服务器的当前目录上传文件。每个FTP命令都对应一一个从服务 器发向客户的应答。每条应答由一个3位数字的状态马, 后跟一个可选的短语信息构成。