описание FTP-режимов

5. Техническая поддержка > FTP

FTP аббревиатура обозначает "File Transfer Protocol" или "Протокол передачи файлов". Существует два режима FTP-соединений: Активный FTP и Пассивный FTP.

 

FTP-протокол подразумевает два различных соединения между клиентом и FTP-сервером. Первое соединение называется "управляющим" (control connection). Оно предназначено для "входа" клиента в FTP-сервера, перехода между каталогами в FTP-сервере и т.п. Для того, чтобы получить список файлов с сервера, скачать файл с сервера или закачать файл на сервер, используется второе соединение, называемое "соединение для передачи данных" (data connection).

 

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

 

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

 

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

 

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

 

Пример Активного соединения:

[1] Control Connection: Client port 1026 -> Server port 21

[2] Data Connection: Client port 1027 <- Server port 20

 

Пример Пассивного соединения:

[1] Control Connection: Client port 1026 -> Server port 21

[2] Data Connection: Client port 1027 -> Server port 2065

Add Feedback