Che cos'è il TFTP?
TFTP è l'acronimo di Trivial File Transfer Protocol. Questo protocollo viene utilizzato quando gli utenti devono copiare i propri file. In altre parole, consente all'utente di archiviare e accedere ai propri file dall'host remoto. Viene utilizzato principalmente per il sistema di avvio. Per comprendere questo concetto, facciamo un semplice esempio, supponiamo di avere un sistema diskless o un router avviato, per cui è necessario scaricare i file bootstrap e i file di configurazione. In tale situazione, è necessario un protocollo per copiare quei file a una velocità maggiore. Qui appare il TFTP. È progettato per copiare questi tipi di file.
TFTP richiede solo IP (Internet Protocol) e UDP (User Datagram Protocol). TFTP esegue due operazioni di lettura e scrittura, vale a dire. In un'operazione di lettura, copia i file dal server SIDE yo client SIDE mentre in scrittura funziona esattamente al contrario, copia i file dal lato client al lato server.
TFTP utilizza i servizi UDP sulla nota porta 69.
Tipi di messaggi TFTP
Esistono cinque tipi di messaggi TFTP Di seguito è riportato l'elenco
- RRQ
- WRQ
- DATI
- ACK
- ERRORE
1) messaggio RRQ
RRQ sta per il messaggio di richiesta di lettura. Il client lo utilizza per creare una connessione per la lettura dei dati dal server SIDE. Il messaggio RRQ ha tre campi OpCode, Nome file e Modalità. Un OpCode ha una dimensione di 2 byte, contiene 1 per mostrare il messaggio RRQ. Il nome file definisce il nome del file. Le modalità definiscono la modalità di trasmissione. La modalità di trasmissione può essere netascii per file ASCII o ottetto per file binari. Il formato del messaggio di RRQ è indicato come segue.
2) Messaggio WRQ
WRQ sta per il messaggio di richiesta di scrittura. Il client lo utilizza per creare una connessione per la scrittura di dati dal server SIDE. Il messaggio WRQ ha gli stessi campi della RRQ, l'unica differenza è che OpCode contiene 2 per mostrare il messaggio WRQ. Qui possiamo vedere il formato del messaggio WRQ.
3) messaggio DATA
Sia il client che il server utilizzano messaggi di dati per inviare blocchi di dati. I dati contengono tre campi: OpCode, numero di blocco e dati. OpCode contiene 3 per mostrare messaggi di dati. Il numero di blocco è un campo a 2 byte contiene il numero di blocco. Tutti i blocchi sono numerati sequenzialmente da 1. Il client e il server utilizzano questo campo per inviare i dati in modo sequenziale in modo che il destinatario unisca l'intero messaggio utilizzando questo numero di blocco. I dati sono di 512 byte. I dati possono essere trasferiti sotto forma di netascii (file ASCII) o ottetto (file binario). Il formato del messaggio DATA è indicato come segue.
4) Messaggio ACK
ACK significa messaggio di conferma. Sia il client che il server utilizzano questo ACK per confermare la ricezione del blocco dati. Questo messaggio è di 4 byte. Contiene due campi: OpCode e numero di blocco. OpCode contiene 4 per mostrare il messaggio ACK. Il numero di blocco è di un campo a 2 byte che contiene il numero di blocchi di dati ricevuti. Il messaggio ACK può anche essere una risposta al messaggio WRQ che viene inviato da un server al client per indicare che il server è pronto a ricevere dati dal client. Il formato del messaggio ACK è indicato come segue.
5) Messaggio di ERRORE
Il client e il server utilizzano il messaggio ERRORE quando non è possibile stabilire una connessione tra client e server o quando si è verificato un errore durante la trasmissione dei dati. Invia una risposta negativa al messaggio RRQ o WRQ. Questo messaggio contiene tre campi: Oe, numero errore e dati errore. OpCode contiene 5 per mostrare il messaggio ERRORE. Il numero di errore è di 2 byte che contiene il numero di errore e il loro significato. Il formato del messaggio ERRORE è indicato come segue.
Di seguito è riportato l'elenco dei numeri di errore con il loro significato
0 - Non definito
1 - File non trovato
2 - Violazione dell'accesso
3 - Disco pieno o quota superata
4 - Funzionamento illegale
5 - Numero di porta sconosciuto
6 - Il file esiste già
7 - Nessun utente del genere
Il campo dei dati di errore contiene i dati di errore in formato testo. È un campo di 1 byte e terminato con 0s.
Connessioni TFTP
Per stabilire le connessioni TFTP utilizza un messaggio RRQ, un messaggio WRQ, un messaggio ACK, un messaggio ERRORE. Mentre per terminare le connessioni TFTP utilizza il messaggio DATA.
1) Stabilimento di connessione
Il processo di creazione della connessione per la lettura dei file è diverso dalla scrittura dei file.
- Lettura: il client invia il messaggio RRQ per stabilire una connessione per la lettura. Questo messaggio contiene il nome del file e la modalità di trasmissione del file. Una volta stabilita la connessione, il server invia una risposta positiva con il messaggio DATA, se il server è in grado di trasferire il file. In caso contrario, invia una risposta negativa con un messaggio ERRORE.
- Scrittura: il client invia messaggi WRQ per stabilire una connessione per la scrittura. Questo messaggio contiene il nome del file e la modalità di trasmissione del file. Una volta stabilita la connessione, il server invia una risposta positiva con il messaggio ACK, se il server è in grado di copiare il file. In caso contrario, invia una risposta negativa con un messaggio ERRORE.
Ecco la rappresentazione dell'operazione di lettura e scrittura
2) Terminazione della connessione
Dopo la trasmissione del file, la connessione deve essere terminata. TFTP non utilizza un messaggio speciale per terminare la connessione. La terminazione viene eseguita inviando l'ultimo blocco dati che è inferiore a 512 byte.
Articoli consigliati
Questa è una guida a TFTP, abbiamo visto cos'è TFTP, diversi tipi di messaggi in TFTP, connessioni, come sono state stabilite le connessioni TFTP e la terminazione che ha reso facile la comprensione dei concetti. Spero che questo articolo ti sia stato utile. Puoi anche leggere il seguente articolo per saperne di più -
- FTP vs TFTP
- Comandi FTP
- Programmazione vs sviluppo Web
- Tipi di Web Hosting