TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
Основное назначение TFTP — обеспечение простоты реализации клиента. В связи с этим он используется для загрузки бездисковых рабочих станций, загрузки обновлений и конфигураций в «умные» сетевые устройства, записи статистики с мини-АТС (CDR) и аппаратных маршрутизаторов/файрволов.
Используется для программирования методом IAP встраиваемых систем разработанных на основе микроконтроллеров.
Поскольку протокол не поддерживает аутентификации, единственный метод идентификации клиента — это его сетевой адрес (который может быть подделан). Обычно в Unix-системах tftpd доступен только каталог /tftpboot. Однако в старых TFTP-серверах было возможным получить файл паролей командой RRQ ../etc/passwd.
Демон tftpd (одна из реализаций tftp-сервера) отказывается обрабатывать файлы, содержащие в своём имени комбинацию «/../» или начинающуюся с «../». Запись разрешается только в файлы, которые уже существуют (любого размера, например нулевого), и доступны для публичной записи (права доступа: -rw-rw-rw-).
Дополнительная защита от доступа к произвольным файлам осуществляется с помощью смены корневого каталога на каталог tftpd (обычно /usr/TFTPRoot).
Преимущества использования TFTP:
1. Простота использования: TFTP – это очень простой и легковесный протокол, который позволяет быстро передавать файлы между клиентом и сервером.
2. Низкая нагрузка сети: TFTP имеет низкую нагрузку на сеть, что делает его идеальным для передачи файлов в сетях с ограниченной пропускной способностью.
3. Меньшие накладные расходы: TFTP не требует сложной конфигурации и настройки, что уменьшает накладные расходы на сопровождение и поддержку.
Недостатки использования TFTP:
1. Не безопасен: TFTP не имеет механизмов аутентификации и шифрования, что делает его уязвимым к атакам типа атаки Man-In-The-Middle.
2. Ограниченный функционал: TFTP не поддерживает некоторые продвинутые функции, такие как детальные протоколы контроля ошибок и возможность передачи больших файлов.
3. Отсутствие поддержки для многих операций: TFTP не поддерживает некоторые операции, такие как переименование файлов, удаление файлов и т. д.