TFTP - Erfahren Sie die Arten von Nachrichten und Verbindungen von TFTP

Inhaltsverzeichnis:

Anonim

Was ist TFTP?

TFTP steht für Trivial File Transfer Protocol. Dieses Protokoll wird verwendet, wenn Benutzer ihre Dateien kopieren müssen. Mit anderen Worten, es ermöglicht dem Benutzer, seine Dateien vom Remote-Host aus zu speichern und darauf zuzugreifen. Es wird hauptsächlich für das Boot-System verwendet. Um dieses Konzept zu verstehen, nehmen wir ein einfaches Beispiel: Angenommen, Sie haben ein bootfähiges plattenloses System oder einen Router, für den Sie Bootstrap-Dateien und Konfigurationsdateien herunterladen müssen. In diesem Fall benötigen Sie ein Protokoll, um diese Dateien schneller zu kopieren. Hier kommt das TFTP ins Bild. Es wurde entwickelt, um diese Dateitypen zu kopieren.

TFTP erfordert nur IP (Internet Protocol) und UDP (User Datagram Protocol). TFTP führt nämlich zwei Operationen Lesen und Schreiben durch. Bei einem Lesevorgang werden Dateien von der Serverseite auf die Clientseite kopiert, während bei einem Schreibvorgang genau umgekehrt vorgegangen wird und Dateien von der Clientseite auf die Serverseite kopiert werden.

TFTP verwendet UDP-Dienste auf dem bekannten Port 69.

Arten von TFTP-Nachrichten

Es gibt fünf Arten von TFTP-Nachrichten

  • RRQ
  • WRQ
  • DATEN
  • ACK
  • ERROR

1) RRQ-Nachricht

RRQ steht für die Leseanforderungsnachricht. Der Client verwendet dies, um eine Verbindung zum Lesen von Daten vom Server SIDE zu erstellen. RRQ-Nachricht hat drei Felder OpCode, Dateiname und Modus. Ein OpCode hat eine Größe von 2 Byte. Er enthält 1, um die RRQ-Nachricht anzuzeigen. Dateiname definiert den Namen der Datei. Modi definieren den Übertragungsmodus. Der Übertragungsmodus kann netascii für ASCII-Dateien oder octet für Binärdateien sein. Das Nachrichtenformat von RRQ wird wie folgt angegeben.

2) WRQ-Nachricht

WRQ steht für die Schreibanforderungsnachricht. Der Client verwendet dies, um eine Verbindung zum Schreiben von Daten von der Serverseite herzustellen. Die WRQ-Nachricht hat dieselben Felder wie die RRQ. Der einzige Unterschied besteht darin, dass OpCode 2 enthält, um die WRQ-Nachricht anzuzeigen. Hier sehen wir das WRQ-Nachrichtenformat.

3) DATA Nachricht

Sowohl Client als auch Server verwenden Datennachrichten zum Senden von Datenblöcken. Daten enthalten drei Felder - OpCode, Blocknummer und Daten. OpCode enthält 3, um Datenmeldungen anzuzeigen. Blocknummer ist ein 2-Byte-Feld, das die Blocknummer enthält. Alle Blöcke sind von 1 an fortlaufend nummeriert. Der Client und der Server verwenden dieses Feld, um Daten fortlaufend zu senden, sodass der Empfänger die gesamte Nachricht unter Verwendung dieser Blocknummer zusammenfasst. Die Daten haben 512 Bytes. Daten können in Form von Netascii (ASCII-Datei) oder Oktett (Binärdatei) übertragen werden. Das DATA-Nachrichtenformat wird wie folgt angegeben.

4) ACK-Nachricht

ACK steht für Acknowledge message. Sowohl der Client als auch der Server verwenden diese ACK, um den Empfang des Datenblocks zu bestätigen. Diese Nachricht besteht aus 4 Bytes. Es enthält zwei Felder - OpCode und Blocknummer. OpCode enthält 4, um die ACK-Nachricht anzuzeigen. Die Blocknummer besteht aus einem 2-Byte-Feld, das die Anzahl der empfangenen Datenblöcke enthält. Eine ACK-Nachricht kann auch eine Antwort auf die WRQ-Nachricht sein, die von einem Server an den Client gesendet wird, um anzuzeigen, dass der Server bereit ist, Daten vom Client zu empfangen. Das ACK-Nachrichtenformat wird wie folgt angegeben.

5) Fehlermeldung

Client und Server verwenden die Fehlermeldung ERROR, wenn eine Verbindung zwischen Client und Server nicht hergestellt werden kann oder wenn während der Datenübertragung ein Fehler aufgetreten ist. Es sendet eine negative Antwort auf die RRQ-Nachricht oder die WRQ-Nachricht. Diese Nachricht enthält drei Felder - Oe, Fehlernummer und Fehlerdaten. OpCode enthält 5, um die Fehlermeldung anzuzeigen. Die Fehlernummer besteht aus 2 Byte, die die Fehlernummer und ihre Bedeutung enthält. Das ERROR-Nachrichtenformat wird wie folgt angegeben.

Unten ist die Liste der Fehlernummern mit ihrer Bedeutung

0 - Nicht definiert

1 - Datei nicht gefunden

2 - Zugriffsverletzung

3 - Datenträger voll oder Kontingent überschritten

4 - Illegaler Betrieb

5 - Unbekannte Portnummer

6 - Datei existiert bereits

7 - Kein solcher Benutzer

Das Fehlerdatenfeld enthält Fehlerdaten im Textformat. Es ist ein 1-Byte-Feld und mit 0 abgeschlossen.

TFTP-Verbindungen

Zum Herstellen von Verbindungen verwendet TFTP die RRQ-Nachricht, die WRQ-Nachricht, die ACK-Nachricht und eine ERROR-Nachricht. Während zum Beenden von Verbindungen verwendet TFTP die DATA-Nachricht.

1) Verbindungsaufbau

Der Vorgang des Verbindungsaufbaus zum Lesen von Dateien unterscheidet sich vom Schreiben von Dateien.

  • Lesen: Der Client sendet die RRQ-Nachricht, um eine Verbindung zum Lesen herzustellen. Diese Nachricht enthält den Namen der Datei und den Übertragungsmodus der Datei. Sobald die Verbindung hergestellt ist, sendet der Server eine positive Antwort mit der DATA-Nachricht, wenn der Server die Datei übertragen kann. Wenn dies nicht der Fall ist, wird eine negative Antwort mit einer ERROR-Nachricht gesendet.
  • Schreiben: Der Client sendet WRQ-Nachrichten, um eine Verbindung zum Schreiben herzustellen. Diese Nachricht enthält den Namen der Datei und den Übertragungsmodus der Datei. Sobald die Verbindung hergestellt ist, sendet der Server eine positive Antwort mit einer ACK-Nachricht, wenn der Server die Datei kopieren kann. Wenn dies nicht der Fall ist, wird eine negative Antwort mit einer ERROR-Nachricht gesendet.

Hier ist die Darstellung des Lese- und Schreibvorgangs

2) Verbindungsabbruch

Nach der Übertragung der Datei muss die Verbindung beendet werden. TFTP verwendet keine spezielle Nachricht, um die Verbindung zu beenden. Die Beendigung erfolgt durch Senden des letzten Datenblocks mit weniger als 512 Bytes.

Empfohlene Artikel

Dies ist ein Leitfaden für TFTP. Wir haben gesehen, was TFTP ist, welche Arten von Nachrichten in TFTP vorliegen, wie die TFTP-Verbindungen hergestellt wurden und welche Beendigung es ermöglichte, die Konzepte zu verstehen. Ich hoffe, Sie finden diesen Artikel hilfreich. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. FTP vs TFTP
  2. FTP-Befehle
  3. Programmierung vs. Webentwicklung
  4. Arten von Web-Hosting