1、FTP协议

网工老姜视频地址:软考网络工程师上午题1.FTP协议_哔哩哔哩_bilibili

一、FTP协议简介

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在应用层,使用TCP传输
FTP是一个多通道协议,需要建立两个TCP连接(控制连接、数据连接) 才能完成文件的传输。

  • FTP两种工作模式:主动模式、被动模式
  • FTP两种数据传输方式:ASCIl、Binary

二、FTP工作原理

控制连接一定是由客户端主动建立的,控制连接使用的端口是21。

数据连接的建立有两种情况:

  1. 由服务器主动建立,数据连接端口为tcp20(服务器的tcp20端口),也称为主动模式。
  2. 服务器被动建立,也称为被动模式。

1、主动模式

当控制连接建立好后,服务器会主动发起数据连接(使用自己的tcp20端口作为源端口)。

主动模式下,FTP的数据连接可能会被客户端这边的防火墙拦截,导致能够控制连接但是无法建立数据连接。

image-20241027175853074

2、被动模式

被动模式下,控制连接建立好后,客户端告知服务端使用被动模式。服务器就会自动生成一个端口作为建立数据连接的端口,并将这个端口告知客户端,客户端收到后,通过这个端口来与服务器建立数据连接。

image-20241027180228577

三、FTP常用命令

image-20241027180754219

四、总结

文件传输协议(File Transfer Protocol,FTP)工作在应用层,使用TCP传输。

  • 建立控制连接的端口为TCP 21端口
  • 主动模式下:建立数据连接的端口为20
  • 被动模式:建立数据连接的端口随机生成。

注意!!!

SFTP和FTP是两种不同的协议,他们的工作方式不同,SFTP是不存在主动和被动区分的,它只使用一条TCP通道(TCP 22)就完成了控制和数据的传输。不过FTPS(即FTP over SSL)就有主动和被动的区分,因为它属于FTP协议,只不过用SSL加密了而已。

(6 封私信) SFTP是否区分主动模式和被动模式? - 知乎

SFTP服务默认使用哪个端口进行文件传输? - 酷盾

https://www.zhihu.com/question/66838094/answer/263081124

五、真题

真题2023.5

image-20241027180909896

真题2021.11

image-20241027181014310

真题2020.11

image-20241027181031530

真题2019.11

image-20241027181115049