logo
Часть 4

4.14.3. Протокол передачи файлов ftp

FTP несет наибольшую нагрузку по передаче данных. В FTP и команды и ответы на них передаются в формате строк NVT ASCII. FTP использует два TCP-соединения для выполнения операций по передаче файлов; одно соединение для передачи команд и другое — для передачи собственно данных.

В отличие от всех предыдущих протоколов, FTP использует два TCP-соединения для выполнения операций по передаче файлов (см. рис.4.12.).

В FTP два TCP-соединения определяются как управляющее соединение и соединение данных. Управляющее соединение - типичное соединение клиент-сервер. Сервер FTP обеспечивает пассивное открытие на официальном порту (порт протокола 21) и ждет запроса на установление соединения от клиента. Клиент FTP, в свою очередь, входит в контакт с FTP-сервером на официальном порту протокола и устанавливает с ним TCP-соединение. Управляющее соединение остается активным на протяжении всего FTP-сеанса. Клиент и сервер обмениваются строками команд NVT ASCII и кодами ответа через управляющее соединение. FTP создает отдельное соединение данных для каждой операции по передаче файла (а также в некоторых других случаях).

Основа операции — интерпретаторы протокола (PI) и процессы передачи данных (DTP). Клиент и сервер имеют свой собственный интерпретатор протокола и процесс передачи данных. Процессы передачи данных устанавливают и управляют соединением данных. Интерпретаторы протокола интерпретируют FTP-команды и общаются через управляющее соединение, которое устанавливается в начале FTP-сеанса интерфейсом протокола пользователя. Интерфейс пользователя ограждает пользователя от непосредственного общения

С самого начала проектировщики протокола FTP разрабатывали его для работы с различными компьютерами, использующими различные операционные системы, структуры файлов и наборы символов. В результате FTP требует, чтобы пользователи выбрали необходимые пункты из широкого разнообразия опций для операций по передаче файла. Опции FTP можно разбить на четыре категории: тип файла, формат файла, структура файла и способы передачи.

Управляющее соединение

Программы-клиенты FTP используют управляющее соединение, чтобы посылать команды и получать ответы от сервера. Обычно команды передаются через управляющее соединение, запрашивая сервер исполнить некоторые связанные с файлами действия на сервере или передать информацию через соединение данных. Клиент соединяется с официальным портом сервера. Клиент посылает команды серверу через управляющее соединение.

Установление соединения данных

Основанные на протоколе FTP программы используют соединение данных для трех основных целей:

• Чтобы послать список файлов или каталогов от сервера клиенту.

• Чтобы послать файл от клиента серверу.

• Чтобы послать файл от сервера клиенту.

Когда клиент или сервер использует соединение данных для передачи файлов (или другой информации, типа списка файлов), они обычно выполняют следующий алгоритм: FTP-клиент должен выполнить пассивное открытие соединения данных и затем сообщить серверу, какой порт на компьютере клиента он должен использовать, чтобы установить соединение. После того как клиент сообщает FTP-серверу, какой порт протокола использовать, сервер исполняет активное открытие и использует IP-адрес и порт протокола FTP-клиента, указанный компьютером клиента. И в случае посылки, и в случае получения файлов FTP-клиент исполняет пассивное открытие соединения данных, а FTP-сервер исполняет активное открытие соединения.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4