FTP文件传输服务

FTP是TCP/IP协议的一部分,主要使用20和21端口进行数据和控制信息传输。它的工作包括控制连接的建立和数据连接的传输,涉及主动和被动两种传输模式。主动模式中,服务器向客户端的指定端口发起数据连接;被动模式下,服务器提供随机端口,由客户端建立数据连接。由于防火墙限制,实际环境中可能更倾向于使用被动模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、FTP协议概述

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。工作模式为“FTP服务器/FTP客户端”。默认使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

主要作用为:为用户提供上传和下载文件的服务

协议/应用程序、端口号(计算机常用端口号范围:1-65535)

每一个协议需要一个或多个端口支持,对于计算机来讲,协议和端口就代表了我们用户所认识的“应用程序”

FTP服务/ftp协议,采用的是TCP的20、21号端口,20号端口用于数据传输,21号端口用于FTP连接、指令控制。

比如:通过浏览器访问网页,其实就是使用的http/https协议---->80/443端口实现的web网页数据传输。

二、FTP工作方式。

1. 控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

2. 数据连接

FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。

FTP数据连接就是FTP传输数据的过程,它有两种"传输模式",主动或者被动传输是以服务器为参照:

PORT(主动)方式的连接过程是: 

客户端通过任意端口N(N>1024)向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器客户端生成的端口N+1。于是服务器从20端口向客户端的N+1端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:

客户端通过任意端口N(N>1024)向服务器的FTP端口(默认是21)发送连接请求并监听N+1端口。服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端服务器随机生成的端口 P 3333(P>1024)。于是客户端通过N+1端口向服务器的P端口发送连接请求,建立一条数据链路来传送数据。

在真实环境下,双方服务器默认应该都开启了防火墙,因此一般采用主动模式而非被动模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值