- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
Представление данных
Протокол передачи файлов допускает различные способы представления файлов и управления передачей. Ниже приведены критерии, от выбора которых зависит корректность передачи файлов по протоколу FTP.
Тип файла
Протокол должен знать, каков тип передаваемого файла. От этого зависит корректное представление его на компьютере (и в операционной системе) получателя.
• ASCII-файлы. Текстовый файл передается как NVT ASCII. При этом требуется, чтобы программа-отправитель конвертировала текстовый файл в NVT ASCII, а программа-получатель производила обратное преобразование. Конец каждой строки передается в виде NVT ASCII-символа возврата каретки (CR), после которого следует перевод строки (LF). Если отправитель текстового файла установит тип файла как бинарный – программы не будут преобразовывать передаваемый файл. Это вызывает проблемы несовместимости между текстовыми файлами DOS/Windows и текстовыми файлами UNIX. В DOS/Windows принято конец текстовой строки обозначать парой символов «возврат каретки/перевод строки» (CR LF), а в UNIX – перевод строки (LF).
• EBCDIC-файлы. Альтернативный способ передачи текстовых файлов, когда на обоих концах системы EBCDIC.
• Бинарные файлы. Данные между FTP-сервером и клиентом передаются как непрерывный поток битов.
• Локальный тип файлов. Способ передачи бинарных файлов между компьютерами, которые имеют различный размер байта. Количество битов в байте определяется отправителем. Обычно не используется.
Управление форматом
Применяется только для передачи ASCII– и EBCDIC-файлов.
• Nonprint. Файл не содержит информацию вертикального форматирования.
• Telnet format control. Файл содержит управляющие символы вертикального форматирования telnet, которые интерпретируются принтером.
• Fortran carriage control. Первый символ каждой строки это Fortran-символ управления форматированием.
Структура
Способы передачи структуры данных приведены ниже.
• Структура файла. Пересылаемый файл воспринимается в виде непрерывного потока байтов.
• Структура записи. Эта структура используется только в случае текстовых файлов.
• Структура страницы. Каждая страница передается с номером страницы (не рекомендуется использовать эту структуру).
Режим передачи
Определяет способ передачи файла по соединению данных.
• Потоковый режим. Передача файла осуществляется как поток байтов.
• Блочный режим. Передача файла осуществляется как последовательность блоков. Блок имеет управляющий заголовок и собственно пересылаемые данные.
• Режим сжатия. При передаче осуществляется замена неоднократно встречающихся повторяющихся байтов на байт и число его повторений.
Как видите, протокол FTP поддерживает большое количество представлений данных. Однако в реальной жизни большинством программного обеспечения наиболее часто используется нижеприведенное ограниченное подмножество представлений:
• тип файла – ASCII или двоичный;
• управление форматом – только nonprint;
• структура – только структура файла;
• режим передачи – только потоковый режим.
Управляющие команды FTP
Управляющие команды и ответы передаются по управляющему соединению между клиентом и сервером в формате NVT ASCII. В конце каждой строки присутствует пара символов «возврат каретки/перевод строки» (CR/LF).
В полном наборе команд насчитывается более 30-ти. В табл. 20.1 приведены наиболее часто используемые команды. Полный список команд можно посмотреть в соответствующем RFC.
Таблица 20.1. Управляющие команды протокола FTP
Ответы на управляющие FTP-команды
Ответы на управляющие FTP-команды состоят из трехзначного числа в формате ASCII и необязательного текстового сообщения, которое следует за числом.
Каждая из трех цифр в коде ответа имеет собственное значение. Расшифровка первой и второй цифр кода приведена в табл. 20.2.
Таблица 20.2. Значения первой и второй цифр в коде ответа на управляющие команды
Третья цифра дает уточняющее определение сообщению об ошибке. В табл. 20.3 приведены соответствующие коды и пояснения.
Таблица 20.3. Значения третьей цифры в коде ответа на управляющие команды
Обычно каждая FTP-команда генерирует однострочный ответ. Если необходим ответ, состоящий из нескольких строк, то первая строка содержит дефис вместо пробела после трехзначного кода отклика, а последняя строка содержит тот же самый трехзначный код отклика, за которым следует пробел.
Управление соединением
Использовать соединение данных можно тремя способами:
1. Отправка файлов от клиента к серверу.
2. Отправка файлов от сервера к клиенту.
3. Отправка списка файлов или каталогов от сервера к клиенту.
Третий способ необходимо пояснить. FTP-сервер посылает список файлов по соединению данных – при таком использовании канала данных появляется возможность избежать любых ограничений в строках, накладывающихся на размер списка каталога, и несколько упрощает обмен информацией.
Управляющее соединение остается в активизированном состоянии все время, пока установлено соединение клиент-сервер, но соединение данных может устанавливаться и отключаться по необходимости. Рассмотрим, как выбираются номера портов для соединения данных, и кто осуществляет активное открытие, а кто пассивное.
Основной режим передачи – потоковый режим. В этом режиме конец файла обозначает закрытие соединения данных. Из этого вытекает, что для передачи каждого файла требуется новое соединение данных. Обычная процедура выглядит следующим образом:
1. Создание соединения данных осуществляется клиентом.
2. Клиент выбирает динамически назначаемый номер порта на компьютере клиента для своего конца соединения данных и осуществляет пассивное открытие с этого порта.
3. Клиент посылает номер порта на сервер по управляющему соединению с использованием команды port.
4. Сервер принимает номер порта с управляющего соединения и осуществляет активное открытие на этот порт компьютера клиента. Сервер всегда использует порт 20 для соединения данных.
Сервер всегда осуществляет активное открытие соединения данных. Обычно сервер также осуществляет активное закрытие соединения данных, за исключением тех случаев, когда клиент отправляет файл на сервер в потоковом режиме, который требует, чтобы клиент закрыл соединение.
Если клиент не выдает команду port, сервер осуществляет активное открытие на тот же самый номер порта, который использовался клиентом для управляющего соединения.
Программное обеспечение
Для работы по протоколу FTP необходимы две программы – сервер и клиент. Клиентских программ – очень много. От простейших, работающих в командной строке, до имеющих весьма развитый графический интерфейс. Любой современный Web-браузер способен выступать в роли FTP-клиента. Поэтому на клиентских программах останавливаться не будем, а перейдем сразу к программному обеспечению сервера FTP.
Сегодня стандартом de-facto для множества дистрибутивов является использование в качестве программного обеспечения пакета wu-ftp (Washington University at Saint Louis FTP daemon).
Пакет wu-ftp
Программный пакет написан в Вашингтонском университете. Достаточно гибок и настраиваем. Обычно поставляется вместе с дистрибутивом, поэтому установка его не представляет сложности. Основная задача – правильно сконфигурировать систему и настроить доступ.
Команды
Как уже упоминалось ранее, FTP-серверы имеют свои наборы команд, иногда несколько отличающиеся друг от друга. В табл. 20.4 приведен список стандартных команд сервера wu-ftp.
Таблица 20.4. Стандартные команды FTP-сервера wu-ftp
Помимо вышеприведенных команд, сервер wu-ftp имеет несколько специфичных, которые приведены в табл. 20.5.
Таблица 20.5. Нестандартные команды FTP-сервера wu-ftp
Конфигурирование сервера
Конфигурирование сервера wu-ftp проводится в два этапа. Первый – компилирование сервера со специфическими для вашего случая свойствами. Этот вариант мы описывать не будем, поскольку для создания простого сервера достаточно rpm-пакета, входящего в дистрибутив. Второй этап – использование конфигурационных файлов сервера, на которых мы сейчас и остановимся.
Как вы уже знаете, конфигурационные файлы находятся в каталоге /etc. В идеале сервер wu-ftp использует следующие конфигурационные файлы:
• ftpaccess
• ftpservers
• ftpusers
• ftphosts
• ftpgroups
• ftpconversion
Рассмотрим подробно каждый конфигурационный файл.
Файл ftpaccess
Этот конфигурационный файл, используется для определения прав доступа к серверу. Здесь определяется, какие и сколько пользователей, могут получить доступ к серверу, а также важные элементы настройки безопасности сервера.

