FTP的端口号基本默认都是是21,端口号20、21是有区别的,区别就在于一个是数据端口,一个是控制端口,控制端口基本都是21,但是数据端口就不一定是20了,这是FTP的应用模式导致的,在主动模式下,基本都为20,但是被动模式下,由服务器端和客户端协商而定。
端口21常用于FTP(File Transfer Protocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,把其中一台计算机作为FTP客户端,而另一台就作为FTP服务器,可以采用匿名登录和授权用户名与密码登录两种方式登录FTP服务器。
建立主动模式的FTP连接要符合以下过程:
首先客户端打开一个随机的端口(端口号一定大于1024,在这里,我们称它为K),同一时间一个FTP进程连接至服务器的21号命令端口。那么这个时候,源端口就会改为随机端口K,在客户端,远程端口为21。
然后客户端就会开始监听端口(K+1),并且向服务器传达一个端口指令(通过服务器的21号命令端口),这个指令就是告诉服务器,客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。
接下来服务器启动20号源端口,同时会创建和客户端数据端口的连接。这个时候,源端口为20,远程数据端口为(K+1)。
最后客户端会通过本地的数据端口建立一个和服务器20号端口的连接,并且向服务器传达最后一个回答,告诉服务器它已经建立好了一个连接。