FTP原理
2026/6/13 13:15:51 网站建设 项目流程

FTP数据包是使用TCP协议进行传输的,并使用TCP 21端口进行信息传输,使用TCP 20端口进行数据传输。

  1. 进行FTP数据传输,首先需要从Client发起请求(即我们可以在windows平台下进行CMD,并输入FTP)。Client会使用大于1024的非知名端口(FTP 20,21等端口是知名端口)向Server的21端口发送请求,并会标有SYN标志;

  2. 服务器收到请求,并进行响应。此时Server端会建立等待连接的资源,并将一带有SYN与确认ACK的数据包送回Client;

  3. Client回应确认数据包。Client收到确认包后,会再次发送一个确认给Server,此时,Server与Client的连接已经建立了。1~3就是我们经常听到的三次握手。
    注意:此时建立的连接只用于信息(指令)的传输。
    信息通道已经建立,然后就要进行数据传输了?数据传输连接的建立还要经过类似的三次握手。对于FTP来说,有两种进行数据传输的方式,首先,我们先来了解下正常模式(主动模式,active)的数据传输方式连接建立的过程。

  4. Client发送数据传输的信息给Server:当有数据需要传输时,Client会启用另一大于1024的端口(不同于步骤1)用于传输数据,并且Client会使用刚刚建立的指令信道发送一个命令给Server,说“我已经准备好一个数据传输的端口了,请准备进行传输吧”。
    有三点需要注意:1.数据传输信道只有在数据传输时,才会建立。2.步骤4使用的大于1024的端口与步骤1不同。3.Client传递命令的通道是之前已经建立好的FTP指令信道。

  5. Server以ftp-data端口主动连接到Client:收到指令后,Server会使用20端口主动与Client的那个新的大于1024的端口进行连接,并发送带有SYN的TCP数据包。
    注意:是Server主动与Client进行连接的。

  6. C

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询