Опубликован: 11.08.2008 | Доступ: свободный | Студентов: 8510 / 1233 | Оценка: 4.20 / 3.78 | Длительность: 25:00:00
ISBN: 978-5-94774-884-0
Лекция 13:

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

Соединение

TFTP пользуется UDP-сервисом (протокол передачи дейтаграмм). Поскольку в UDP не обеспечивается установление соединения и его завершение, UDP передает каждый блок данных, вставляя его в независимые пользовательские дейтаграммы. Однако в TFTP желательно предавать только один блок данных, а не пересылать файл как независимые блоки. Нам надо установить соединение для блоков данных, осуществляющих передачу всех принадлежащих тому же самому файлу. TFTP использует сообщения RRQ, WRQ, ACK и ERROR для установления соединения. Он применяет сообщение DATA с блоком данных менее чем 512 байт (0-511) для окончания соединения.

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

Установление соединения для чтения файла отличается от установления соединения для записи файлов ( рисунок 13.16).

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

Рис. 13.16. Установление соединения
  • Чтение. Чтобы установить соединение для чтения, клиент TFTP посылает сообщение RRQ. Имя файла и режим передачи определяется в этом сообщении. Если сервер может передавать файл, он отвечает положительно сообщением DATA, содержащим первый блок данных. Если имеются проблемы, такие как трудности в открытии файла или ограничения в разрешении, сервер отвечает негативно посылкой сообщения ERROR.
  • Запись. Чтобы установить соединение для записи, клиент TFTP использует сообщение WRQ. Имя файла и режим передачи определяется в этом сообщении. Если сервер может принять копию файла, он отвечает положительно сообщением ACK, используя значение 0 для блока данных. Если имеются проблемы, сервер отвечает негативно посылкой сообщения ERROR.

Завершение соединения

После того как передан полный файл, соединение может быть завершено. Как уже объяснялось ранее, TFTP не имеет специального сообщения о завершении. Завершение сопровождается посылкой последнего блока данных, который содержит менее чем 512 байт.

Передача данных

Фаза передачи данных возникает между установлением соединения и его завершением. TFTP использует службу UDP, которая ненадежна.

Файл разделяется на блоки данных, в которых каждый блок, исключая последний, содержит точно 512 байтов. Последний блок должен быть между 0 и 511 битами. TFTP может передавать данные в ASCII или двоичном формате.

UDP не имеет механизма для управления потоком и контроля над ошибками. TFTP должен создать эти механизмы, чтобы осуществить передачу файла непрерывными блоками данных.

Управление потоками

TFTP посылает блоки данных, используя сообщение DATA, и ожидает сообщение ACK. Если отправитель получает сигналы подтверждения прежде, чем сработал таймер (time-out), он посылает следующий блок. Таким образом, управление потоком – это продвижение нумерации блоков данных и ожидание ACK, прежде чем послан следующий блок данных.

Извлечение файла

Когда клиент хочет извлечь (читать) файл, он посылает сообщение RRQ. Сервер отвечает сообщением DATA, посылающим первый блок данных c номером блока (если нет проблем).

Накопление файла

Когда клиент хочет накопить (записать) файл, он посылает сообщение WRQ. Сервер отвечает сообщением ACK (если нет проблем) c номером блока 1.

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова