Главное отличие между активным и пассивным режимами FTP заключается в том, кто открывает соединение для передачи данных. 2
В активном режиме клиент устанавливает управляющее соединение на порт 21 сервера и передаёт специальную команду PORT, в которой указывает свой адрес и порт для передачи данных. 1 Получив данную команду, сервер устанавливает соединение с 20-го порта на указанный в команде порт клиента. 1 Для работы в активном режиме клиенту требуется выделенный IP-адрес. 1
В пассивном режиме клиент передаёт серверу команду PASV. 1 В ответ сервер передаёт адрес и порт, на который следует устанавливать соединение для передачи данных. 1 Получив эту информацию, клиент устанавливает подключение к серверу и начинает передачу данных. 1 В пассивном режиме все соединения инициирует клиент, поэтому к нему нет никаких требований, он может находиться за NAT и брандмауэром, а также не иметь выделенного IP-адреса. 1