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