FTP,文件传输协议

← 返回 MOC | ← 主页


  1. “FTP 是有状态协议,服务器需要在整个会话期间维护用户的状态信息。”

2.“主进程”与“从属进程”

1️⃣主进程(Master Process):看到有新客户(客户进程)来请求连接了,就把客户接进来。只用来传命令(比如你发送“我要下载文件A”的指令)。这个连接在你的整个登录期间 一直保持打开

2️⃣从属进程(Subordinate Process):这个服务员负责全程一对一为这个客户服务

专门用来传真实的文件数据。每次你要下载或上传一个文件,服务器才会建立这个连接; 文件传完,立刻关闭


3“主动(PORT)”和“被动(PASV)”

1️⃣主动模式 (PORT):客户端自己选端口,外部要访问,然后这个端口被传数据

客户机用 21 号端口对服务器喊:“我要下个文件!我在本地开了一个 50000 端口等你,你把文件送过来!”(发送 PORT 命令)。

服务器收到后,主动用自己的 20 号端口 ,去连接客户机的 50000 端口。

但是这个方式会被防火墙阻拦

2️⃣被动模式 (PASV):服务端开一个端口,客户端向外请求访问,然后传输局

客户机由于自己有防火墙,于是对服务器喊:“我这有门禁你进不来,咱们换个方式。你开个门,我自己过去拿!”(发送 PASV 命令)。

服务器收到后,被动地在自己身上随机开一个大于 1024 的高位端口(比如 60000),然后告诉客户机:“货放在 60000 房间了,你自己来取。”

客户机收到后,主动去连接服务器的 60000 端口。

本章小结