FTP的两种传输模式

FTP有主动和被动两种传输模式,主要区别在于数据连接的建立方式。主动模式中,服务器主动连接客户端的指定端口,而被动模式下,服务器提供一个随机端口,由客户端发起连接。在客户端位于内网,服务器在公网的情况下,通常使用被动模式。FTP的默认端口是21(控制连接)和20(数据连接),但20号端口不一定会用到。服务器的防火墙需要对相关端口开放以允许FTP通信。

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

原文链接:FTP的两种传输模式 - 知乎

最近在给学生讲FTP,抽时间总结一下FTP的两种传输模式。大家都知道FTP有两种传输模式,一种是主动模式也叫PORT模式,另外一种是被动模式,也叫PASV模式。

其实,FTP客户端和服务器之间需要建立两条TCP连接,一条是控制连接,用来发送控制指令,另外一条是数据连接,真正的文件传输是通过数据连接来完成的。如图对于两种传输模式来说,控制连接的建立过程都是一样,均为服务器监听21号端口,客户端向服务器的该端口发起TCP连接。两种传输模式的不同之处体现在数据连接的建立,对于数据连接的建立,主被动模式的不同在于数据连接的建立“服务器”是“主动”还是"被动",主动模式服务器通过控制连接知道客户端监听的端口后,使用自己的20号端口作为源端口,“主动”发起TCP数据连接。而被动模式服务器监听1024-65535的一个随机端口,并通过控制连接将该端口告诉客户端,客户端向服务器的该端口发起TCP数据连接,这种情况下数据连接的建立相当于服务器是“被动”的。

根据以上的分析,给大家总结一下。

(1)我们常说的FTP协议默认端口21和20,要注意这个21号端口是必须的,但是,20号端口未必一定用得到。

(2)如果FTP客户端在私网,FTP服务器在公网(云主机的应用场景)应该使用被动模式,因为这种应用场景FTP服务器访问不到在私网的FTP客户端,而FTP客户端可以访问到FTP服务器,但是,FTP服务器的防火墙除了应该放行21号端口的TCP连接,还应放行FTP服务器数据连接的TCP端口。

(3) 在服务器端主被动两种传输模式都支持的前提下,FTP传输的模式由FTP客户端来决定,如果使用软件的话可以在软件中进行配置使用哪种传输模式,如果在windows下使用浏览器或者是我的电脑地址栏输入FTP URL访问FTP服务器的话,可以到浏览器 Internet选项|高级| 中进行配置,如下图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值