ftp服务器

  • 什么是ftp服务器
  • ftp的两种通信方式
  • java实现ftp服务器实现文件传和下载。

1.什么是ftp服务器

  • ftp(file transfer protocol,文件传输协议)。是TCP/IP,Internet网络最早使用的协议之一。用来实现将一台电脑上的文件传输到另一台电脑上的传输协议, 或者接受另一台电脑上面的文件。
  • 通过ftp软件可以和ftp文件服务器通信,实现文件的上传和下载文件,删除,修改目录权限等操作。 ftp服务端可以设置新增,删除,修改用户权限。设置连接时间等。

2.ftp通信方式

ftp通信方式分为两种一种为主动方式(PORT模式),一种为被动方式(PASV模式)。两种通信方式都是建立在两个连接的基础上。一个为控制连接,用来发送控制指令。 使用的端口号都是(21),即ftp服务器监听21端口。客户端向服务端发送TCP连接。另一条为数据连接。这个就涉及两种通信模式。

  • 2.1 主动方式(PORT) ftp服务器通过控制连接知道客户端的端口后。使用自己的20端口主动向客户端发送TCP连接。

    一般是服务器可以访问到客户端的情况。(服务器和客户端在同一个网络中。或者通过代理。)简单来说就是服务器可以访问到主机的ip。

  • 2.2 被动方式(PSVF) ftp服务开启1024~65535某一个端口。通过控制程序告诉客户端。客户端向该服务器指定的端口号发送TCP请求。即被动的接受客户端发送的连接。 主要应用于(服务器部署在公网-阿里云,客户端使用的是内网的机器。)

ftp服务器文件上传和下载(java)