WikiDer > Trivial File Transfer Protocol

Trivial File Transfer Protocol

Trivial File Transfer Protocol, abgekürzt TFTP, ist ein einfaches Dateiübertragungsprotokoll, das häufig zum Booten von Computern aus einem Netzwerk verwendet wird. Als die TCP/IP-Stapel bereits läuft, kann TFTP auch verwendet werden, um andere Geräte wie z Router, Schalter, ADSL- und KabelModems von Firmware und Konfigurationen. TFTP wurde erstmals 1980 definiert.

Die Einfachheit dieses Protokolls macht die Bereitstellung von Clients und Servern in kleinen Mengen relativ einfach Erinnerung. Das Protokoll erfordert auch wenig Bandbreite, eine Notwendigkeit in Umgebungen, in denen diese Ressourcen knapp sind, wie z Mikrocontroller.

Ursprung

TFTP basiert teilweise auf dem zuvor entwickelten Protokoll EFTP (Easy File Transfer Protocol), das wiederum Teil des WELPEProtokoll-Suite. Während der frühen Entwicklung des TCP/IPProtokollsuite war TFTP aufgrund seiner Einfachheit normalerweise das erste Protokoll, das implementiert wurde. Die Originalversionen von TFTP, vorher RFC1350, hatte einen besonders schwerwiegenden Protokollfehler, der Zauberlehrlingssyndrom nannte sich.

In letzter Zeit wurde TFTP viel missbraucht von Computerwürmer wie Blaster um neue Wirte zu verbreiten und zu infizieren.

Technische Information

Eigenschaften

  • Auf einen IPNetzwerk verwendet TFTP UDP, ein verbindungsloses Protokoll. Dafür ist es normalerweise Tor 69 wird als Request-Port verwendet, ein anderer Port wird zur weiteren Verarbeitung zugewiesen. TFTP ist jedoch völlig unabhängig vom zugrunde liegenden Protokoll und kann auch ohne IP genutzt werden, zum Beispiel über a RS-422-Verknüpfung.
  • TFTP wird verwendet, um Dateien von a from zu schreiben und zu lesen Server.
  • Drei verschiedene Übertragungsmodi können verwendet werden: netascii (ASCIIModus), Oktett (Binärmodus) und mail. Letzteres wird kaum noch genutzt.
  • Das ursprüngliche Protokoll hatte eine Grenze von 32 MB, die jedoch um erweitert wurde RFC2347 und RFC2348 1998, so dass maximal 4GB und noch mehr erreicht werden konnten.
  • Der Transport jeder einzelnen Datei erfolgt unabhängig. Die Übertragung wird in einem Sperrschritt aufgezeichnet, also nur eine nach der anderen Paket unterwegs im Netz. Aufgrund dieses Mangels an Fensterung Dies führt zu einer geringen Durchsatzgeschwindigkeit bei einem hohen Latenz.
  • Verzeichnisstrukturen können nicht angezeigt werden.
  • Es gibt kein Authentifizierung Noch Verschlüsselung vorhanden, was die Nutzung über das Internet unsicher macht. Daher wird TFTP nur in privaten, lokalen Netzwerken verwendet.

Operation

Der Datentransport über TFTP erfolgt wie folgt:

  • Der Client sendet a RRQ- (Leseanfrage) oder ein WRQ-Paket (Anfrage schreiben) zum Server. Dieser enthält den gewünschten Dateinamen[1] und den Übertragungsmodus (Netascii, Oktett oder Mail).
  • Der Server antwortet mit a ACKPaket (von Bestätigen). Dieses Paket teilt auch mit, welcher Port für die Übertragung zugewiesen wurde, damit die Anfrage-Port (normalerweise Port 69) bleibt frei. Ist die Übertragung nicht möglich, sendet der Server eine NACK-Paket (Negative ACKnowledge).
    • Lesen (nach RRQ): Der Server sendet nummerierte Datenpakete an den Client. Jedes Paket (außer dem letzten) enthält einen vollständigen Datenblock. Der Client antwortet mit nummerierten ACK-Paketen für jedes Datenpaket, a NACKPaket, wenn das UDP-Paket oder der Datenblock beschädigt ist. Wird innerhalb des Timeout-Zeitraums kein ACK-Paket empfangen oder ein NACK-Paket gesendet, sendet der Server den Datenblock mit derselben Nummerierung erneut. Dies wird wiederholt, bis entweder der Client mit einem ACK-Paket antwortet oder eine maximale Anzahl von Versuchen unternommen wurde.
    • Schreiben (nach WRQ): Im Prinzip wie beim Lesen, jedoch sind hier die Rollen von Client und Server vertauscht.
  • Das letzte Datenpaket enthält keinen vollständigen Datenblock, um anzuzeigen, dass es das letzte Paket ist. Wenn dies ein voller Datenblock ist, wird ein weiteres leeres Paket gesendet, um das Ende der Daten anzuzeigen.

Die wichtigsten RFCs