Что такое TFTP?
TFTP расшифровывается как Trivial File Transfer Protocol. Этот протокол используется, когда пользователям необходимо скопировать свои файлы. Другими словами, он позволяет пользователю хранить и получать доступ к своим файлам с удаленного хоста. В основном используется для системы загрузки. Чтобы понять эту концепцию, давайте рассмотрим простой пример. Предположим, у вас есть загруженная бездисковая система или маршрутизатор, для чего вам нужно загрузить файлы начальной загрузки и файлы конфигурации. В этой ситуации вам нужен протокол для копирования этих файлов на более высокой скорости. Здесь TFTP входит в картину. Он предназначен для копирования этих типов файлов.
TFTP требует только IP (интернет-протокол) и UDP (пользовательский протокол дейтаграмм). TFTP выполняет две операции чтения и записи, а именно. В операции чтения он копирует файлы с сервера SIDE на клиентскую сторону, в то время как в операции записи он работает точно с противоположной стороны, он копирует файлы со стороны клиента на сторону сервера.
TFTP использует службы UDP на известном порту 69.
Типы сообщений TFTP
Существует пять типов сообщений TFTP. Ниже приведен список
- ППК
- WRQ
- ДАННЫЕ
- ACK
- ОШИБКА
1) сообщение RRQ
RRQ обозначает сообщение запроса на чтение. Клиент использует это для создания соединения для чтения данных с сервера SIDE. Сообщение RRQ имеет три поля OpCode, Filename и Mode. OpCode имеет размер 2 байта и содержит 1 для отображения сообщения RRQ. Имя файла определяет имя файла. Режимы определяют режим передачи. Режим передачи может быть netascii для файла ASCII или октет для двоичных файлов. Формат сообщения RRQ задается следующим образом.
2) WRQ сообщение
WRQ обозначает сообщение запроса записи. Клиент использует это для создания соединения для записи данных с сервера SIDE. Сообщение WRQ имеет те же поля, что и RRQ, единственное отличие состоит в том, что OpCode содержит 2 для отображения сообщения WRQ. Здесь мы можем увидеть формат сообщения WRQ.
3) сообщение DATA
И клиент, и сервер используют сообщения данных для отправки блоков данных. Данные содержат три поля - код операции, номер блока и данные. OpCode содержит 3 для отображения сообщений с данными. Номер блока представляет собой 2-байтовое поле, содержащее номер блока. Все блоки последовательно пронумерованы от 1. Клиент и сервер используют это поле для последовательной отправки данных, чтобы получатель объединял все сообщение, используя этот номер блока. Данные имеют 512 байт. Данные могут быть переданы в форме netascii (файл ASCII) или октета (двоичный файл). Формат сообщения DATA представлен следующим образом.
4) ACK сообщение
ACK обозначает сообщение подтверждения. И клиент, и сервер используют этот ACK для подтверждения получения блока данных. Это сообщение имеет 4 байта. Он содержит два поля - код операции и номер блока. OpCode содержит 4, чтобы показать сообщение ACK. Номер блока имеет 2-байтовое поле, которое содержит количество полученных блоков данных. ACK-сообщение также может быть ответом на WRQ-сообщение, которое отправляется сервером клиенту для указания того, что сервер готов принять данные от клиента. Формат сообщения ACK задается следующим образом.
5) сообщение об ошибке
Клиент и сервер используют сообщение об ОШИБКЕ, когда не удается установить соединение между клиентом и сервером или когда произошла какая-то ошибка во время передачи данных. Он отправляет отрицательный ответ на сообщение RRQ или сообщение WRQ. Это сообщение содержит три поля - Oe, номер ошибки и данные об ошибке. OpCode содержит 5, чтобы показать сообщение об ошибке. Номер ошибки имеет 2 байта, который содержит номер ошибки и их значение. Формат сообщения ERROR представлен следующим образом.
Ниже приведен список номеров ошибок с их значением
0 - не определено
1 - файл не найден
2 - нарушение доступа
3 - диск заполнен или квота превышена
4 - незаконная операция
5 - неизвестный номер порта
6 - файл уже существует
7 - такого пользователя нет
Поле данных об ошибках содержит данные об ошибках в текстовом формате. Это однобайтовое поле, оканчивающееся на 0 с.
Соединения TFTP
Для установления соединений TFTP использует сообщение RRQ, сообщение WRQ, сообщение ACK, сообщение ERROR. В то время как для завершения соединений TFTP использует сообщение DATA.
1) Установление соединения
Процесс установления соединения для чтения файлов отличается от записи файлов.
- Чтение: клиент отправляет сообщение RRQ, чтобы установить соединение для чтения. Это сообщение содержит имя файла и режим передачи файла. Как только соединение установлено, сервер отправляет положительный ответ с сообщением DATA, если сервер может передать файл. Если это не так, отправьте отрицательный ответ с сообщением об ошибке.
- Запись: клиент отправляет сообщения WRQ, чтобы установить соединение для записи. Это сообщение содержит имя файла и режим передачи файла. Как только соединение установлено, сервер отправляет положительный ответ с сообщением ACK, если сервер может скопировать файл. Если это не так, отправьте отрицательный ответ с сообщением об ошибке.
Вот представление операции чтения и записи
2) Завершение соединения
После передачи файла соединение должно быть разорвано. TFTP не использует специальное сообщение для разрыва соединения. Завершение выполняется путем отправки последнего блока данных, который составляет менее 512 байтов.
Рекомендуемые статьи
Это руководство по TFTP, мы увидели, что такое TFTP, различные типы сообщений в TFTP, соединения, как были установлены соединения TFTP, и завершение, что облегчило понимание концепций. Я надеюсь, что вы найдете эту статью полезной. Вы также можете посмотреть следующую статью, чтобы узнать больше -
- FTP против TFTP
- Команды FTP
- Программирование против веб-разработки
- Типы веб-хостинга