14.5.5 Структуры файлов
В FTP поддерживаются две структуры (ранее использовалась также
■
■
Более распространена
14.5.6 Режимы пересылки
Режим пересылки и структура файла определяют, как будут форматированы данные для обмена по соединению. Существуют три режима пересылки:
■ В режиме потока и файловой структуры файл передается как поток байт. FTP возлагает на TCP обеспечение целостности данных и не включает в данные никаких заголовков или разделителей. Единственным способом указания на конец файла будет нормальное завершение соединения для данных.
■ Для режима потока и структуры записей каждая запись отделяется 2-байтовым управляющим кодом конца записи (End Of Record — EOR), а конец файла отмечается символами конца файла (End Of File — EOF). EOR кодируется как X'FF 01, a EOF — X'FF 02. Для последней записи файла EOR и EOF записываются как X'FF 03. Если файл содержит байт данных из одних единиц, то такой байт представляется при пересылке как X'FF FF.
■ В блочном режиме файл пересылается как последовательность блоков данных. Каждый блок начинается 3-байтовым заголовком (см. рис. 14.4).
■ Режим сжатия данных используется крайне редко, поскольку обеспечивает очень неудачный метод архивирования, разрушающий последовательность повторяющихся байт. Обычно пользователю проще применить одну из более удачных программ сжатия, широко доступных на современных компьютерах, и далее пересылать полученный архивный файл как двоичные данные.
Рис. 14.4. Формат заголовка блочного режима пересылки FTP
Блок может содержать целую запись, или в записи объединяются несколько блоков. Дескриптор содержит:
■ Флаг End Of Record для идентификации границы записи
■ Флаг End Of File, который указывает, является ли блок последним при пересылке файла
■ Флаг Restart Marker (маркер перезапуска), указывающий, содержит ли данный блок текстовую строку, которую можно использовать для указания точки перезапуска после неудачной пересылки файла в более поздней точке
Режим потока наиболее распространен и используется по умолчанию. Изменить его на блочный режим можно стандартной командой
Преимущество структуры записей или блочного режима, состоит в том, что будет явно отмечен конец файла и после завершения его пересылки можно сохранить соединение для данных, а следовательно, использовать его для нескольких пересылок.
В показанном ранее диалоге ответ на команду
Mode: stream; Type: ascii; Form: non-print; Structure: file
Т.е. по умолчанию был установлен поточный режим пересылки данных, тип данных ASCII без форматирования для печати и файловая структура (соответствующая неструктурированному файлу).
14.6 Протокол FTP
С протоколом FTP связаны следующие понятия:
■ Команды и их параметры, пересылаемые по управляющему соединению
■ Числовые коды, возвращенные в ответ на команду
■ Формат пересылаемых данных
Ниже рассмотрен набор команд FTP. Они передаются по управляющему соединению. За последние годы набор команд существенно увеличился, однако хостам необязательно реализовывать все специфицированные команды.
Иногда локальный пользовательский интерфейс не поддерживает команды непосредственно, а оставляет их реализацию для удаленного хоста. Хорошая реализация FTP обеспечивает команду
14.6.1 Команды управления доступом
Команды и параметры, которые определяют доступ пользователя к хранилищу файлов удаленного хоста, определены в таблице 14.1.
Таблица 14.1 Команды авторизации пользователя для доступа к архиву файлов
Команда | Определение | Параметр(ы) |
---|---|---|
USER | Идентифицирует пользователя | Идентификатор пользователя |
PASS | Ввод пароля | Пароль |