FTP
- File Transfer Protocol,文件传输协议
- TCP,20、21端口,20端口用于传输数据,21端口用于控制连接
主动式(PORT)
- 客户端选择任意端口N连接服务器的21端口
- 客户端发送命令告知服务端已经开启监听N+1端口
- 服务器使用20端口主动连接客户端的N+1端口
- 最终数据在20和N+1端口这条链路上传输
被动式(PASV)
- 客户端选择任意端口N连接服务端的21端口
- 客户端发送PASV命令告知服务端自己已经开启监听N+1端口
- 服务端回复客户端POST命令告知服务端自己已经开启监听Y端口
- 客户端使用N+1端口连接服务端的Y端口
- 后续就在端口N+1和端口Y这条链路上传输数据
主动和被动的区别
- 站在服务端角度上理解,传输数据的链路是服务端主动发起还是被动接受
TFTP
- Trivial File Transfer Protocol, 简单文件传输协议
- UDP, 端口69