Установление соединения данных
Управляющее соединение
Программы-клиенты FTP используют управляющее соединение, чтобы посылать команды и получать ответы от сервера. Обычно команды передаются через управляющее соединение, запрашивая сервер исполнить некоторые связанные с файлами действия на сервере или передать информацию через соединение данных. Клиент соединяется с официальным портом сервера. Клиент посылает команды серверу через управляющее соединение.
Основанные на протоколе FTP программы используют соединение данных для трех основных целей:
• Чтобы послать список файлов или каталогов от сервера клиенту.
• Чтобы послать файл от клиента серверу.
• Чтобы послать файл от сервера клиенту.
Когда клиент или сервер использует соединение данных для передачи файлов (или другой информации, типа списка файлов), они обычно выполняют следующий алгоритм: FTP-клиент должен выполнить пассивное открытие соединения данных и затем сообщить серверу, какой порт на компьютере клиента он должен использовать, чтобы установить соединение. После того как клиент сообщает FTP-серверу, какой порт протокола использовать, сервер исполняет активное открытие и использует IP-адрес и порт протокола FTP-клиента, указанный компьютером клиента. И в случае посылки, и в случае получения файлов FTP-клиент исполняет пассивное открытие соединения данных, а FTP-сервер исполняет активное открытие соединения.
В протоколе передачи файлов определено более тридцати команд, которые программа-клиент может использовать для управления сервером. FTP-команды делятся на три категории: команды контроля доступа, команды передачи параметров и команды обслуживания. Команды контроля доступа передают информацию, идентифицирующую пользователя серверу или сообщает серверу, к каким каталогам программа-клиент желает получить доступ. Команды, передающие параметры, позволяют клиенту определять опции FTP, уже рассмотренные нами: регистрируют тип, формат файла, структуру файла и режим передачи. Команды обслуживания FTP задают выполнение операций по передаче файлов. Описание каждой команды сопровождается возможными кодами ответа на нее.
Таблица 4.2.
Команды протокола FTP
| № | Команда | Описание |
| Команды контроля доступа | ||
| USER | Передача на сервер идентификатора пользователя | |
| PASS | Передача пароля пользователя | |
| АССТ | Ввод учетной информации (бюджета пользователя) | |
| CWD | Изменение рабочего каталога | |
| CDUP | Переход в родительский каталог | |
| REIN | Повторная инициализация | |
| QUIT | Выход | |
| Команды установки параметров передачи | ||
| PORT | Порт данных | |
| PASV | Пассивный способ соединения | |
| TYPE | Тип файла | |
| STRU | Структура файла | |
| MODE | Режим передачи | |
| Команды сервиса FTP | ||
| RETR | Получить файл от сервера | |
| STOR | Сохранить файл на сервере | |
| STOU | Сохранить файл на сервере с уникальным имененм | |
| АРРЕ | Добавить в конец файла | |
| ALLO | Зарезервировать место | |
| REST | Повторная передача файла с контрольной точки | |
| RNFR | Переименовать из | |
| RNTO | Переименовать в | |
| ABOR | Аварийное прекращение работы | |
| DELE | Удалить файл | |
| RMD | Удалить каталог | |
| MKD | Создать каталог | |
| PWD | Печать рабочего каталога | |
| LIST | Показать содержимое каталога | |
| NLST | Показать содержимое каталога (указываются только имена файлов) | |
| SYST | Определение типа операционной системы | |
| STAT | Проверка состояния FTP-сервера | |
| HELP | Получение справочной информации от сервера | |
| NOOP | Проверка связи с сервером |
Протокол FTP использует схему кодов ответа, которая фактически идентична системе кодов ответов HTTP.






