TFTP (Trivial File Transfer Protocol) представляет собой упрощенный протокол передачи файлов
(никакой авторизации, выдачи оглавления и т.д).
В отличие от FTP использует для передачи пакетов протокол UDP, что упрощает его реализацию для встроенных устройств.
Применяется для загрузки конфигурации или firmware различными устройствами (например,
сетевыми принтерами или маршрутизаторами) в сочетании с протоколом bootp (DHCP) и ARP, RARP.
Используется протокол UDP, стандартный порт для инициализации соединения - 69, для передачи файла
выбираются порты со случайным номером с обеих сторон. Передача начинается с посылки запроса на чтение
или запись файла, далее файл пересылается блоками по 512 байт (к ним добавляются заголовки TFTP, UDP, IP
и канального уровня), при получении очередного блока посылается подтверждение о приеме.
Посылка блока длиной менее 512 байт сигнализирует о конце файла.
Если блок теряется по дороге, то принимающая сторона по истечению времени ожидания повторяет передачу
своего блока или подтверждения.
В случае ошибки (нет такого файла, нет прав доступа, некорректный пакет, потеря доступа к ресурсу),
любая сторона посылает сообщение об ошибке и завершает работу, не дожидаясь подтверждения.
Проверка правильности передачи данных возлагается на подсчет контрольных сумм UDP.