Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 13:

Протоколы передачи файлов (FTP и TFTP)

Краткие итоги

  • Протокол передачи файлов (File Transfer Protocol – FTP) – это приложение клиент-сервер протокола TCP/IP для копирования файлов из одного хоста к другому.
  • FTP требует двух соединений для передачи данных: соединение управления и соединение данных.
  • FTP использует NVT ASCII для связи между непохожими системами.
  • Перед активной передачей файла клиентом определяется тип файла, структура данных и режим передачи.
  • Имеется шесть классов команд, посылаемых клиентом для установления связи с сервером:
    • Команды доступа.
    • Команды управления файлом.
    • Команды определения порта.
    • Команды передачи файла.
    • Прочие команды.
  • Отклики посылаются от сервера к клиенту в течение установления соединения.
  • Имеются три типа файлов для передачи:
    • Файл, копированный от сервера к клиенту.
    • Файл, копированный от клиента к серверу.
    • Список директорий или имена файлов, посылаемые от сервера к клиенту.
  • Большинство операционных систем обеспечивают дружественный пользователю интерфейс между FTP и пользователем.
  • Анонимный FTP обеспечивает метод для общедоступного доступа к файлу на удаленных сайтах.
  • Тривиальный протокол передачи файла (Trivial File Transfer Protocol – TFTP) – это простой протокол FTP без многих используемых возможностей.
  • Клиент использует услуги TFTP, чтобы извлечь копию файла или послать копию файла сервера.
  • Имеется пять типов сообщений TFTP:
    • RRQ – это сообщение клиента, которое устанавливает соединение для чтения данных от сервера.
    • WRQ – это сообщение клиента, которое устанавливает соединение для записи данных в сервер.
    • DATA – это сообщение клиента или сервера, которое посылает блоки данных.
    • ACK – подтверждает прием блока данных.
    • ERROR – сообщение, отражающее проблемы соединения или передачи.
  • TFTP – это приложение, которое использует UDP-протокол передачи дейтаграмм для своего транспортного уровня.
  • TFTP использует RRQ, WRQ, ACK и ERROR для установления соединения. Сообщение DATA с блоком данных менее чем 512 байтов завершает соединение.
  • Каждое сообщение DATA, за исключением последнего, переносит 512 байт данных файла.
  • TFTP использует для управления потоком протокол "остановись и жди".
  • Контроль ошибок осуществляется в четырех ситуациях: поврежденное сообщение, потерянное сообщение, потерянное подтверждение или дублирование сообщения.
  • TFTP выполняет симметричную передачу, при этом и приемник, и передатчик используют тайм-аут для обработки ошибок.
  • "Ошибка ученика волшебника" — это удвоение подтверждения и сообщений данных, которая случается при TFTP-механизме контроля за потоком и ошибками.
  • Существуют расширения для TFTP-протокола, позволяющие предложить опции размеров блока данных.
  • TFTP не имеет механизма обеспечения безопасности. Вторая прикладная программа, такая как TELNET, может использоваться совместно с TFTP для обеспечения безопасности.
  • TFTP может быть использован совместно с BOOTP или DHCP для инициализации устройств при загрузке файлов конфигурации.

Задачи и упражнения

  1. Объясните, что произойдет, если соединение управления будет нарушено в течение работы FTP.
  2. Объясните, почему клиент использует пассивное открытие при соединении для сигнализации и пассивное открытие при соединении для передачи данных.
  3. Почему нужны ограничения при анонимной передаче FTP? Что мог бы сделать недобросовестный пользователь?
  4. Объясните, почему FTP не имеет формата сообщения.
  5. Покажите один сегмент TCP, который переносит одну команду FTP.
  6. Покажите один сегмент TCP, который переносит один отклик FTP.
  7. Покажите один сегмент TCP, который переносит данные FTP.
  8. Объясните, что случится, если файл в примере 2 уже существует.
  9. Повторите Пример1, используя команду PASV вместо команды PORT.
  10. Повторите Пример 2, используя команду STOU вместо команды STOR, для накопления файла с уникальным именем. Что случится, если файл с таким же именем уже существует?
  11. ПовторитеПример 2, используя команду RETR вместо команды STOR, для запуска файла.
  12. Приведите пример использования команды HELP. Используйте формат Примера 1.
  13. Приведите пример использования команды NOOP. Используйте формат Примера 1.
  14. Приведите пример использования команды SYST. Используйте формат Примера 1.
  15. Пользователь хочет создать директорию под именем Feb в директории /usr/users/letters. Имя хоста "SUT.ru". Покажите команды и отклики, используя Примеры 1 и 2 как подсказку.
  16. Пользователь хочет переместить директорию. Имя хоста "SUT.ru". Покажите команды и отклики, используя Примеры 1 и 2 как подсказку.
  17. Пользователь хочет переместить файл с именем file1 из директории /usr/users/report в директорию /usr/users/letters. Имя хоста "SUT.ru". Покажите команды и отклики, используя Примеры 1 и 2 как подсказку.
  18. Пользователь хочет запустить EBCDIC-файл с именем file1 из директории /usr/users/report. Имя хоста "SUT.ru". Файл большой и пользователь хочет сжать его до передачи. Покажите команды и отклики, используя Примеры 1 и 2 как подсказку.
  19. Почему нужны сообщения RRQ, WRQ в FTP, но не нужны в TFTP?
  20. Покажите инкапсуляцию сообщения RRQ в пользовательскую дейтаграмму UDP. Имя файла "Report" и используется ASCII. Каков размер дейтаграммы UDP?
  21. Покажите инкапсуляцию сообщения WRQ в пользовательскую дейтаграмму UDP. Имя файла "Report" и используется ASCII. Каков размер дейтаграммы UDP?
  22. Покажите инкапсуляцию сообщения передачи данных TFTP, переносящих блок 7, в пользовательскую дейтаграмму UDP. Каков общий размер дейтаграммы UDP?
  23. Хост A используется TFTP для чтения 2 150 байт данных из хоста B. Покажите команды TFTP, включая команды, которые необходимы для установления и завершения соединения. Предполагаем, что ошибки отсутствуют.
  24. Покажите все пользовательские дейтаграммы при обмене двух хостов в Упражнении 23.
  25. Повторите Упражнение 23 в предположении, что второй блок принят с ошибкой.
  26. Покажите все пользовательские дейтаграммы при обмене двух хостов в Упражнении 25.

Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????