Co to jest TFTP?
TFTP oznacza Trivial File Transfer Protocol. Ten protokół jest używany, gdy użytkownicy muszą skopiować swoje pliki. Innymi słowy, pozwala użytkownikowi przechowywać i uzyskiwać dostęp do swoich plików ze zdalnego hosta. Służy głównie do uruchamiania systemu. Aby zrozumieć tę koncepcję, weźmy prosty przykład: załóżmy, że masz uruchomiony bezdyskowy system lub router, w tym celu musisz pobrać pliki bootstrap i pliki konfiguracji. W takiej sytuacji potrzebujesz protokołu, aby skopiować te pliki z większą prędkością. Tutaj pojawia się TFTP. Jest przeznaczony do kopiowania tego typu plików.
TFTP wymaga tylko IP (Internet Protocol) i UDP (User Datagram Protocol). TFTP wykonuje dwie operacje odczytu i zapisu, mianowicie. W operacji odczytu kopiuje pliki z SIDE serwera YO klienta SIDE, podczas gdy w operacji zapisu działa dokładnie oppoSIDE, kopiuje pliki ze strony klienta na stronę serwera.
TFTP korzysta z usług UDP na dobrze znanym porcie 69.
Rodzaje wiadomości TFTP
Istnieje pięć rodzajów wiadomości TFTP Poniżej znajduje się lista
- RRQ
- WRQ
- DANE
- ACK
- BŁĄD
1) Komunikat RRQ
RRQ oznacza komunikat żądania odczytu. Klient używa tego do utworzenia połączenia do odczytu danych z SIDE serwera. Wiadomość RRQ ma trzy pola OpCode, Nazwa pliku i Tryb. OpCode ma rozmiar 2 bajtów, zawiera 1, aby pokazać komunikat RRQ. Nazwa pliku określa nazwę pliku. Tryby określają tryb transmisji. Trybem transmisji może być netascii dla pliku ASCII lub oktet dla plików binarnych. Format komunikatu RRQ podano w następujący sposób.
2) Komunikat WRQ
WRQ oznacza komunikat żądania zapisu. Klient używa tego do utworzenia połączenia do zapisu danych z SIDE serwera. Komunikat WRQ ma te same pola co RRQ, z tą różnicą, że OpCode zawiera 2, aby pokazać komunikat WRQ. Tutaj widzimy format komunikatu WRQ.
3) Komunikat DANYCH
Zarówno klient, jak i serwer używają komunikatów danych do wysyłania bloków danych. Dane zawierają trzy pola - kod operacji, numer bloku i dane. OpCode zawiera 3, aby pokazać komunikaty danych. Numer bloku to 2-bajtowe pole zawierające numer bloku. Wszystkie bloki są kolejno numerowane od 1. Klient i serwer używają tego pola do sekwencyjnego wysyłania danych, aby odbiorca połączył cały komunikat za pomocą tego numeru bloku. Dane mają 512 bajtów. Dane mogą być przesyłane w postaci netascii (plik ASCII) lub oktetu (plik binarny). Format komunikatu DANE podano w następujący sposób.
4) Komunikat ACK
ACK oznacza komunikat Potwierdź. Zarówno klient, jak i serwer używają tego potwierdzenia, aby potwierdzić odbiór bloku danych. Ta wiadomość ma 4 bajty. Zawiera dwa pola - OpCode i Numer bloku. OpCode zawiera 4, aby pokazać komunikat ACK. Numer bloku jest dwubajtowym polem zawierającym liczbę odebranych bloków danych. Komunikat ACK może być również odpowiedzią na komunikat WRQ, który jest wysyłany przez serwer do klienta w celu wskazania, że serwer jest gotowy do odbierania danych od klienta. Format komunikatu ACK podano w następujący sposób.
5) Komunikat o błędzie
Klient i serwer używają komunikatu BŁĄD, gdy nie można nawiązać połączenia między klientem a serwerem lub gdy wystąpił błąd podczas transmisji danych. Wysyła odpowiedź negatywną na komunikat RRQ lub komunikat WRQ. Ten komunikat zawiera trzy pola - Oe, numer błędu i dane błędu. OpCode zawiera 5, aby pokazać komunikat o błędzie. Numer błędu składa się z 2 bajtów, które zawierają numer błędu i ich znaczenie. Format komunikatu ERROR podano w następujący sposób.
Poniżej znajduje się lista numerów błędów wraz z ich znaczeniem
0 - Nie zdefiniowano
1 - Nie znaleziono pliku
2 - Naruszenie dostępu
3 - Dysk pełny lub limit został przekroczony
4 - Nielegalna operacja
5 - Nieznany numer portu
6 - Plik już istnieje
7 - Brak takiego użytkownika
Pole danych błędu zawiera dane błędu w formacie tekstowym. Jest to pole 1-bajtowe i zakończone zerem.
Połączenia TFTP
Do nawiązywania połączeń TFTP wykorzystuje komunikat RRQ, komunikat WRQ, komunikat ACK, komunikat o błędzie. Podczas gdy do zakończenia połączeń TFTP używa komunikatu DANE.
1) Ustanowienie połączenia
Proces nawiązywania połączenia do odczytu plików różni się od zapisywania plików.
- Odczyt: klient wysyła komunikat RRQ w celu ustanowienia połączenia do odczytu. Ta wiadomość zawiera nazwę pliku i tryb transmisji pliku. Po ustanowieniu połączenia serwer wysyła pozytywną odpowiedź z komunikatem DANE, jeśli serwer jest w stanie przesłać plik. Jeśli nie, wyśle negatywną odpowiedź z komunikatem BŁĄD.
- Pisanie: Klient wysyła komunikaty WRQ w celu ustanowienia połączenia do zapisu. Ta wiadomość zawiera nazwę pliku i tryb transmisji pliku. Po ustanowieniu połączenia serwer wysyła pozytywną odpowiedź z komunikatem ACK, jeśli serwer jest w stanie skopiować plik. Jeśli nie, wyśle negatywną odpowiedź z komunikatem BŁĄD.
Oto przedstawienie operacji odczytu i zapisu
2) Zakończenie połączenia
Po przesłaniu pliku połączenie musi zostać zakończone. TFTP nie używa specjalnego komunikatu do zakończenia połączenia. Zakończenie odbywa się poprzez wysłanie ostatniego bloku danych, który ma mniej niż 512 bajtów.
Polecane artykuły
Jest to przewodnik po TFTP, widzieliśmy, co to jest TFTP, różne rodzaje wiadomości w TFTP, połączenia, jak ustanowiono połączenia TFTP i zakończenie, które ułatwiły zrozumienie pojęć. Mam nadzieję, że ten artykuł okaże się pomocny. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -
- FTP vs TFTP
- Polecenia FTP
- Programowanie a tworzenie stron internetowych
- Rodzaje hostingu