FTP активный и пассивный режимы

При работе по протоколу FTP между клиентом и сервером устанавливается два соединения – управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы).

Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключиться к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.

В активном режиме, когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

В активном режиме все происходит в следующем порядке:

  1. Клиент посылает с временного порта диапазоном 102465535 запрос на порт сервера номер 21.
  2. Сервер отвечает на временный порт клиента (в примере порт 1036).
  3. Клиент подтверждает установку соединения.
  4. Клиент отправляет команду PORT, которая говорит об использовании активного режима FTP, свой IP-адрес, а также номер порта для установки соединения для передачи данных, к которому подключится сервер (в примере порт 1037).
  5. Команда подтверждается сервером.
  6. Клиент задает серверу команды для работы с FTP.
  7. Сервер создает соединение передачи данных. Для этого он отправляет запрос с 20-го порта на указанный клиентом в четвертом пункте порт (1037).
  8. Клиент отвечает на запрос.
  9. Сервер подтверждает установку соединения и дает клиенту возможность передавать данные.

Активный режим FTP

В пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключиться для установки соединения передачи данных.

Действия происходят следующим образом:

  1. Клиент посылает с временного порта диапазоном 102465535 запрос на порт сервера номер 21.
  2. Сервер отвечает на временный порт клиента (в примере порт 1036).
  3. Клиент подтверждает установку соединения.
  4. Клиент отправляет команду PASV, которая говорит об использовании пассивного режима FTP.
  5. Сервер подтверждает работу в пассивном режиме, посылает свой IP-адрес, а также номер порта для установки соединения для передачи данных, к которому подключится клиент (в примере 2154).
  6. С порта для передачи данных (в примере 1037) клиент посылает запрос на установку соединения на выданный сервером порт (2154).
  7. Сервер подтверждает установку соединения.
  8. Клиент устанавливает соединение.
  9. Клиент задает команды серверу (с управляющего порта на порт 21, в примере — с порта 1036 на порт 21), после чего возможна передача данных.

Пассивный режим FTP

Главное отличие между активным режимом FTP и пассивным режимом FTP – это сторона, которая открывает соединение для передачи данных. В активном режиме, клиент должен принять соединение от FTP-сервера. В пассивном режиме, клиент всегда инициирует соединение сам.

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *