Zum Inhalt springen

„Trivial File Transfer Protocol“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Addbot (Diskussion | Beiträge)
K Bot: 24 Interwiki-Link(s) nach Wikidata (d:q612640) migriert
Änderung 251996024 von 2.207.239.4 rückgängig gemacht; Welche Daten werden wofür gepatcht?
Markierung: Rückgängigmachung
 
(37 dazwischenliegende Versionen von 26 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{| class="wikitable float-right"
{| class="wikitable float-right"
|+ class="hintergrundfarbe6" style="font-size:larger"| TFTP (Trivial File Transfer Protocol)
|-----
|-
! class=hintergrundfarbe6 colspan="2" font="size:larger" | TFTP (Trivial File Transfer Protocol)
| '''Familie:'''
|-----
| [[UDP/IP]]
| align="left" | '''Familie:'''
|-
| align="left" | [[TCP/IP-Referenzmodell|TCP/IP]]
| '''Einsatzgebiet:'''
|-----
| Laden von Betriebssystemen<br /> und anderen Daten über<br /> das Netzwerk
| align="left" | '''Einsatzgebiet:'''
|-
| align="left" | Laden von Betriebssystemen<br />und anderen Daten über<br />das Netzwerk
| '''Ports:'''
|-----
| 69/UDP
| align="left" | '''Ports:
|-
| align="left" | 69/UDP
|colspan="2" class="center"| {{Netzwerk-UDP-IP-Anwendungsprotokoll|TFTP}}
|-----
| align="center" colspan="2" |
{{Netzwerk-UDP-IP-Anwendungsprotokoll|TFTP|}}
|-----
| align="left" | '''Standards:'''
| align="left" |
RFC 1350 ([[1992]])
|}
|}


Das '''Trivial File Transfer Protocol''' ('''TFTP''') ist ein sehr einfaches [[Netzwerkprotokoll|Dateiübertragungsprotokoll]]. Es wurde 1980 auf der Basis von [[Easy File Transfer Protocol|EFTP]] entwickelt. TFTP unterstützt lediglich das Lesen oder Schreiben von Dateien. Nicht vorhanden sind viele Funktionen des mächtigeren [[File Transfer Protocol|FTP]] wie etwa Rechtevergabe mittels ''[[chmod]]'', Anzeigen der vorhandenen Dateien oder [[Authentifizierung|Benutzerauthentifizierung]].
Das '''Trivial File Transfer Protocol''' ('''TFTP''') ist ein sehr einfaches [[Netzwerkprotokoll|Dateiübertragungsprotokoll]]. Es wurde 1981<ref>{{RFC-Internet |RFC=783 |Titel=Trivial File Transfer Protocol (Revision&nbsp;2) |Datum=1981 |Updated=1350}}</ref> auf der Basis von [[Easy File Transfer Protocol|EFTP]] entwickelt. TFTP unterstützt lediglich das Lesen oder Schreiben von Dateien. Nicht vorhanden sind viele Funktionen des mächtigeren [[File Transfer Protocol|FTP]] wie etwa Rechtevergabe mittels ''[[chmod]]'', Anzeigen der vorhandenen Dateien oder [[Authentifizierung|Benutzerauthentifizierung]].


==Das Protokoll==
== Das Protokoll ==
Im Gegensatz zu FTP, das ein verbindungsorientiertes Transportprotokoll erfordert, wird TFTP normalerweise über ein verbindungsloses Protokoll wie [[User Datagram Protocol|UDP]] betrieben. Allerdings gibt es die Ähnlichkeit zu FTP, dass die Daten nicht in der gleichen Verbindung wie die Steuerungskommandos übertragen werden. Der Client fragt eine Aktion (lesen/schreiben) zwar auf dem Port&nbsp;69 an, aber der Server sendet nicht mit Port&nbsp;69 als Quellport, wie man es beispielsweise von [[Domain Name System|DNS]] kennt (mit Port&nbsp;53). Client und Server wählen vielmehr sogenannte ''Transfer IDentifiers'' (TID). Diese TIDs entsprechen dem UDP-Port auf der jeweiligen Seite und liegen im Bereich von 1024 bis 65535.

Im Gegensatz zu FTP, das ein verbindungsorientiertes Transportprotokoll erfordert, wird TFTP normalerweise über ein verbindungsloses Protokoll wie [[User Datagram Protocol|UDP]] betrieben. Allerdings gibt es die Ähnlichkeit zu FTP, dass die Daten nicht in der gleichen Verbindung wie die Steuerungskommandos übertragen werden. Der Client fragt eine Aktion (lesen/schreiben) zwar auf dem Port 69 an, aber der Server sendet nicht mit Port 69 als Quellport, wie man es beispielsweise von [[Domain_Name_System|DNS]] kennt (mit Port 53). Client und Server wählen vielmehr sogenannte ''Transfer IDentifiers'' (TID). Diese TIDs entsprechen dem UDP-Port auf der jeweiligen Seite und liegen im Bereich von 1024 bis 65535.


Motivation für die Entwicklung von TFTP war das Laden von [[Betriebssystem]]en oder Konfigurationen über das Netzwerk. Da dies meist von einer [[Firmware]] oder einem kleinen [[Bootloader]] aus durchgeführt wird, sind das verbindungsorientierte [[Transmission Control Protocol|TCP]] und das darauf aufsetzende FTP viel zu komplex für diesen Zweck. TFTP wurde dagegen bewusst einfach gehalten mit den Funktionen:
Motivation für die Entwicklung von TFTP war das Laden von [[Betriebssystem]]en oder Konfigurationen über das Netzwerk. Da dies meist von einer [[Firmware]] oder einem kleinen [[Bootloader]] aus durchgeführt wird, sind das verbindungsorientierte [[Transmission Control Protocol|TCP]] und das darauf aufsetzende FTP viel zu komplex für diesen Zweck. TFTP wurde dagegen bewusst einfach gehalten mit den Funktionen:
* [[Paketvermittlung|paketorientiertes]] Protokoll

* [[Paketvermittlung|paket]]orientiertes Protokoll
* Lesen und Schreiben von Dateien (oder E-Mails) auf einem Server
* Lesen und Schreiben von Dateien (oder E-Mails) auf einem Server
* keine Auflistung von Verzeichnisinhalten
* keine Auflistung von Verzeichnisinhalten
* keine Authentifizierung, Kompression oder Verschlüsselung
* keine Authentifizierung, Kompression oder Verschlüsselung
* maximale Dateigröße 32&nbsp;MBytes (16&nbsp;MBytes bei manchen Implementierungen), 1998 durch RFC&nbsp;2347 auf 4&nbsp;GB erweitert, bzw. unbegrenzt durch ''block number wraparound''.
* maximale Dateigröße 32&nbsp;MBytes (16&nbsp;MBytes bei manchen Implementierungen), 1998 durch <nowiki>RFC&nbsp;2347</nowiki><ref>{{RFC-Internet |RFC=2347 |Titel=TFTP Option Extension |Datum=1998}}</ref> auf 4&nbsp;GB erweitert, bzw. unbegrenzt durch ''block number wraparound''.
* Paketgröße auf 512&nbsp;Bytes festgelegt. Die 1998 eingebrachte RFC&nbsp;2348 erlaubt die Aushandlung der Blockgröße zwischen Client und Server.
* Paketgröße auf 512&nbsp;Bytes festgelegt. Die 1998 eingebrachte <nowiki>RFC&nbsp;2348</nowiki><ref>{{RFC-Internet |RFC=2348 |Titel=TFTP Blocksize Option |Datum=1998}}</ref> erlaubt die Aushandlung der Blockgröße zwischen Client und Server.


== Beispiel ==
== Beispiel ==
Zeile 40: Zeile 32:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Client Port || Kommando || Server Port
! Client Port || Kommando || Server Port
|-
|-
| 32534 || – RRQ filexxx → || 69
| 32534 || – RRQ filexxx → || 69
|-
|-
| 32534 || ← DATA 'xyz' – || 1765
| 32534 || ← DATA 'xyz’ – || 1765
|-
|-
| 32534 || – ACK → || 1765
| 32534 || – ACK → || 1765
|-
|-
| 32534 || ← DATA 'xyz' – || 1765
| 32534 || ← DATA 'xyz’ – || 1765
|-
|-
| 32534 || – ACK → || 1765
| 32534 || – ACK → || 1765
|-
|-
| 32534 || ← DATA 'xyz' – || 1765
| 32534 || ← DATA 'xyz’ – || 1765
|-
|-
| 32534 || … || 1765
| 32534 || … || 1765
|-
|-
| 32534 || … || 1765
| 32534 || … || 1765
|-
|-
| 32534 || – Error → || 1765
| 32534 || – Error → || 1765
|}
|}
In diesem Beispiel ist das Lesen vom Server fehlgeschlagen, weil etwa auf dem Client kein Speicherplatz mehr zur Verfügung stand.
In diesem Beispiel ist das Lesen vom Server fehlgeschlagen, weil etwa auf dem Client kein Speicherplatz mehr zur Verfügung stand.


== Laden von Betriebssystemen und Konfigurationen ==
== Laden von Betriebssystemen und Konfigurationen ==
Die Firmware von netzwerkfähigen Geräten, beispielsweise [[Personal Computer]], bietet meist die Möglichkeit eines [[Netzboot]]s, das heißt das [[Booten|Starten]] des Gerätes über ein [[Rechnernetz|Netzwerk]]. Dies kann entweder direkt über die Eingabe von [[Dateiname]] und [[IP-Adresse]] (inklusive Subnetzmaske und [[Gateway (Informatik)|Gateway]]) geschehen, oder über ein eigens dafür geschaffenes Protokoll wie [[Bootstrap Protocol|BOOTP]] oder [[Preboot Execution Environment|PXE]]. Nach dem Initialisieren der [[Netzwerkkarte]] sucht die Firmware in letzterem Fall meist via [[Dynamic Host Configuration Protocol|DHCP]] selbständig einen [[Server]] und lädt die entsprechende Datei herunter. Diese Datei entspricht dem ersten Teil des zu startenden Betriebssystems, kann z.&nbsp;B. der [[Kernel (Betriebssystem)|Kernel]] sein. Sobald die Datei per TFTP in den [[Arbeitsspeicher]] des Gerätes übertragen wurde, wird diese ausgeführt und holt sich im Anschluss weitere benötigte Dateien ebenfalls per Netzwerk auf das im Netzboot befindliche Gerät.


Beispiele für TFTP-fähige Firmware:
PC-[[Basic Input Output System|BIOSe]] bieten heute die Möglichkeit eines [[Netzboot]]s, das heißt [[Booten]] über ein [[Rechnernetz|Netzwerk]], meist mit [[Preboot Execution Environment|PXE]]. Für dieses Verfahren initialisiert das BIOS die [[Netzwerkkarte]], sucht via [[Dynamic Host Configuration Protocol|DHCP]] einen [[Server]] und lädt den ersten Teil des Betriebssystems ([[Betriebssystemkern|Kernel]]) mittels TFTP herunter. Dann wird der Kernel gestartet. Wenn TFTP verwendet wird, sind für dieses Verfahren nur verbindungslose Protokolle erforderlich, die mit wenig Aufwand in einem [[Festwertspeicher|ROM]] implementiert werden können. Daneben wird TFTP verwendet, um die Computerarbeitsplätze in großen Netzwerken (Schulen, Universitäten, Firmen) zentral zu administrieren, was zu einem reduzierten Verwaltungsaufwand führt.
* das PC-[[BIOS]] bei [[IBM-PC-kompatibler Computer|IBM-PC-kompatiblen Computern]]
* die [[Open Firmware]] u.&nbsp;a. bei IBM- und Apple-[[PowerPC]]-Rechnern (PReP und New-World-Mac)<ref>{{Internetquelle |url=https://help.ubuntu.com/lts/installation-guide/powerpc/ch05s01.html#boot-tftp |titel=5.1. Booting the Installer on PowerPC, 5.1.3. Booting with TFTP |titelerg=Ubuntu Installation Guide: Ch&nbsp;5. Booting the Installation System |werk=Ubuntu Documentation (Ubuntu 8.04 LTS) |hrsg=Ubuntu Documentation Project , Canonical |sprache=en |abruf=2017-01-08 |offline=ja }}</ref>
* der BIOS-Nachfolger [[Unified Extensible Firmware Interface|UEFI]] u.&nbsp;a. bei [[IA-64]] (Itanium), PCs und [[Macintosh|Macs]]


Bei der Verwendung von TFTP sind nur verbindungslose Protokolle erforderlich, es kann daher mit nur wenig Aufwand in einem [[Festwertspeicher|ROM]] implementiert werden. Zudem müssen durch einen Netzboot gestartete Geräte keine zusätzlichen Datenspeicher wie Festplatten bereitstellen, was kleinere und billigere Geräte ermöglicht. Daneben wird TFTP auch dazu verwendet, um Computerarbeitsplätze in großen Netzwerken (Schulen, Universitäten, Firmen) zentral zu administrieren, was den Verwaltungsaufwand reduziert.
Die Konfigurationen und [[Internetwork Operating System|IOS]]-Images von [[Cisco Systems|Cisco]]-[[Router|Routern]] und [[Switch (Computertechnik)|Switchen]] werden auch auf TFTP-Servern gesichert.


Weitere Beispiele zur Nutzung von TFTP:
== Missbrauch ==
* Die Konfigurationen und [[Internetwork Operating System|IOS]]-Images von [[Cisco Systems|Cisco]]-[[Router]]n und [[Switch (Netzwerktechnik)|Switches]] können auch auf TFTP-Servern gesichert werden.
* [[Siemens]]-Telefonanlagen können die Gebührendatensätze von Telefongesprächen auf TFTP-Servern ablegen.


== Missbrauch ==
Bestimmte Arten von [[Computerwurm|Computerwürmern]] wie beispielsweise [[W32.Blaster]] nutzen TFTP-Server zu ihrer Verbreitung. Deshalb sollte dem Windows-Service tftp.exe bei Benutzung einer [[Personal Firewall]] standardmäßig der Internetzugriff verweigert werden.
Bestimmte Arten von [[Computerwurm|Computerwürmern]] wie beispielsweise [[W32.Blaster]] nutzen TFTP-Server zu ihrer Verbreitung. Deshalb sollte dem Windows-Service tftp.exe bei Benutzung einer [[Personal Firewall]] standardmäßig der Internetzugriff verweigert werden.


== Programme ==
== Programme ==

Server:
Server:
* tftpd (TFTP Daemon, Standard-Komponente auf Linux und verwandten Systemen)
* tftpd (TFTP Daemon, Standard-Komponente auf Linux und verwandten Systemen)
* TFTPD.EXE (TFTP Service, enthalten in Windows&nbsp;Server&nbsp;2000, Windows&nbsp;XP, Windows&nbsp;Server&nbsp;2003, Windows&nbsp;Server&nbsp;2008 und Windows&nbsp;Server&nbsp;2012)
* TFTPD.EXE (TFTP Service, enthalten in Windows&nbsp;Server&nbsp;2000, Windows&nbsp;XP, Windows&nbsp;Server&nbsp;2003, Windows&nbsp;Server&nbsp;2008 und Windows&nbsp;Server&nbsp;2012)
* TFTPD32 (Open-Source-TFTP-Server für Windows)
* TFTPD32 (Open-Source-TFTP-Server/-Client und DHCP/DNS-Server für Windows)
* PumpKIN (freie Server- und GUI-Anwendung für Windows, enthält auch Client-Fähigkeiten)
* PumpKIN (freie Server- und GUI-Anwendung für Windows, enthält auch Client-Fähigkeiten)
* SolarWinds TFTP-Server (für Windows)
* [[Solarwinds|SolarWinds]] TFTP-Server (für Windows)
* Open TFTP Server (GNU GPL lizenzierter TFTP-Server für Windows, läuft auch als Service)
* Open TFTP Server (GNU GPL lizenzierter TFTP-Server für Windows, läuft auch als Service)
Clients:
Clients:
* TFTP ist ein optionaler Bestandteil zahlreicher BIOS-Varianten und BIOS-Erweiterungen (z.&nbsp;B. per EEPROM auf einer Netzwerkkarte) von PC-Systemen
* TFTP ist ein optionaler Bestandteil zahlreicher BIOS-Varianten und BIOS-Erweiterungen (z.&nbsp;B. per EEPROM auf einer Netzwerkkarte) von PC-Systemen
* TFTP wird von diversen Thin-Clients und fremd-bootbaren Terminals implementiert
* TFTP wird von diversen Thin-Clients und fremd-bootbaren Terminals implementiert
* eine Funktionalität im Open Source Bootloader namens uBoot für Embedded-Systeme, verkoppelt sowohl mit der uBoot-Shell als auch mit dem selbstständigen Boot-Prozess
* eine Funktionalität im [[Open Source]] Bootloader namens uBoot für Embedded-Systeme, verkoppelt sowohl mit der uBoot-Shell als auch mit dem selbständigen Boot-Prozess
* ein in Embedded-Systemen mit Busy Box integrierter Kommandozeilenbefehl namens tftp
* ein in Embedded-Systemen mit Busy Box integrierter Kommandozeilenbefehl namens tftp
* das in Linux bzw. Cygwin enthaltene Programm tftp
* das in Linux bzw. [[Cygwin]] enthaltene Programm tftp
* das in einigen Windows-Versionen enthaltene Programm TFTP.EXE
* das in einigen Windows-Versionen enthaltene Programm TFTP.EXE


== Siehe auch ==
== Siehe auch ==
* [[Liste von TCP/IP-basierten Netzwerkdiensten]]
* [[Liste von TCP/IP-basierten Netzwerkdiensten]]
* [[File Transfer Protocol]]
* [[File Transfer Protocol]] (FTP)


== Spezifikationen ==
== Normen und Standards ==
TFTP wurde in mehreren Schritten als [[Request for Comments]] (RFC) weiterentwickelt:
* RFC 1350 Trivial File Transfer Protocol (Revision 2)
* {{RFC-Internet |Autor= |RFC=783 |Titel=Trivial File Transfer Protocol (Revision&nbsp;2) |Datum=1981 |Updated=1350}}
* RFC 2347 TFTP Option Extension
* {{RFC-Internet |RFC=1350 |Titel=Trivial File Transfer Protocol (Revision&nbsp;2) |Datum=1992}}
* RFC 2348 TFTP Blocksize Option
** {{RFC-Internet |RFC=1782 |Titel=TFTP Option Extension |Datum=1995 |Kommentar=veraltet}}
* RFC 2349 TFTP Timeout Interval and Transfer Size Options
** {{RFC-Internet |RFC=1783 |Titel=TFTP Blocksize Option |Datum=1995 |Kommentar=veraltet}}
** {{RFC-Internet |RFC=1784 |Titel=TFTP Timeout Interval and Transfer Size Options |Datum=1995 |Kommentar=veraltet}}
** {{RFC-Internet |RFC=1785 |Titel=TFTP Option Negotiation Analysis |Datum=1995 |Kommentar=nur zur Information}}

Die Weiterentwicklung der Erweiterungen auf der Basis von <nowiki>RFC&nbsp;1350</nowiki> erfolgte 1998 und 2015:
* {{RFC-Internet |RFC=2347 |Titel=TFTP Option Extension |Datum=1998}}
* {{RFC-Internet |RFC=2348 |Titel=TFTP Blocksize Option |Datum=1998}}
* {{RFC-Internet |RFC=2349 |Titel=TFTP Timeout Interval and Transfer Size Options |Datum=1998}}
* {{RFC-Internet |RFC=7440 |Titel=TFTP Windowsize Option |Datum=2015}}


== Weblinks ==
== Weblinks ==
* [http://www.php2all.de/tutorialpage-49-tftp-server-installieren.html Howto Konfiguration Atftpd unter Debian] (deutsch)
* {{Webarchiv |url=http://www.php2all.de/tutorialpage-49-tftp-server-installieren.html |text=Konfiguration atftpd unter Debian. |wayback=20170415021218}} php2all.de

== Einzelnachweise ==
<references />


[[Kategorie:Internet-Dateiübertragungsprotokoll]]
[[Kategorie:Internet-Dateiübertragungsprotokoll]]

Aktuelle Version vom 7. Januar 2025, 13:27 Uhr

TFTP (Trivial File Transfer Protocol)
Familie: UDP/IP
Einsatzgebiet: Laden von Betriebssystemen
und anderen Daten über
das Netzwerk
Ports: 69/UDP
TFTP im TCP/IP-Protokollstapel:
Anwendung TFTP
Transport UDP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Das Trivial File Transfer Protocol (TFTP) ist ein sehr einfaches Dateiübertragungsprotokoll. Es wurde 1981[1] auf der Basis von EFTP entwickelt. TFTP unterstützt lediglich das Lesen oder Schreiben von Dateien. Nicht vorhanden sind viele Funktionen des mächtigeren FTP wie etwa Rechtevergabe mittels chmod, Anzeigen der vorhandenen Dateien oder Benutzerauthentifizierung.

Im Gegensatz zu FTP, das ein verbindungsorientiertes Transportprotokoll erfordert, wird TFTP normalerweise über ein verbindungsloses Protokoll wie UDP betrieben. Allerdings gibt es die Ähnlichkeit zu FTP, dass die Daten nicht in der gleichen Verbindung wie die Steuerungskommandos übertragen werden. Der Client fragt eine Aktion (lesen/schreiben) zwar auf dem Port 69 an, aber der Server sendet nicht mit Port 69 als Quellport, wie man es beispielsweise von DNS kennt (mit Port 53). Client und Server wählen vielmehr sogenannte Transfer IDentifiers (TID). Diese TIDs entsprechen dem UDP-Port auf der jeweiligen Seite und liegen im Bereich von 1024 bis 65535.

Motivation für die Entwicklung von TFTP war das Laden von Betriebssystemen oder Konfigurationen über das Netzwerk. Da dies meist von einer Firmware oder einem kleinen Bootloader aus durchgeführt wird, sind das verbindungsorientierte TCP und das darauf aufsetzende FTP viel zu komplex für diesen Zweck. TFTP wurde dagegen bewusst einfach gehalten mit den Funktionen:

  • paketorientiertes Protokoll
  • Lesen und Schreiben von Dateien (oder E-Mails) auf einem Server
  • keine Auflistung von Verzeichnisinhalten
  • keine Authentifizierung, Kompression oder Verschlüsselung
  • maximale Dateigröße 32 MBytes (16 MBytes bei manchen Implementierungen), 1998 durch RFC 2347[2] auf 4 GB erweitert, bzw. unbegrenzt durch block number wraparound.
  • Paketgröße auf 512 Bytes festgelegt. Die 1998 eingebrachte RFC 2348[3] erlaubt die Aushandlung der Blockgröße zwischen Client und Server.

Eine Kommunikation könnte ungefähr so aussehen:

Client Port Kommando Server Port
32534 – RRQ filexxx → 69
32534 ← DATA 'xyz’ – 1765
32534 – ACK → 1765
32534 ← DATA 'xyz’ – 1765
32534 – ACK → 1765
32534 ← DATA 'xyz’ – 1765
32534 1765
32534 1765
32534 – Error → 1765

In diesem Beispiel ist das Lesen vom Server fehlgeschlagen, weil etwa auf dem Client kein Speicherplatz mehr zur Verfügung stand.

Laden von Betriebssystemen und Konfigurationen

[Bearbeiten | Quelltext bearbeiten]

Die Firmware von netzwerkfähigen Geräten, beispielsweise Personal Computer, bietet meist die Möglichkeit eines Netzboots, das heißt das Starten des Gerätes über ein Netzwerk. Dies kann entweder direkt über die Eingabe von Dateiname und IP-Adresse (inklusive Subnetzmaske und Gateway) geschehen, oder über ein eigens dafür geschaffenes Protokoll wie BOOTP oder PXE. Nach dem Initialisieren der Netzwerkkarte sucht die Firmware in letzterem Fall meist via DHCP selbständig einen Server und lädt die entsprechende Datei herunter. Diese Datei entspricht dem ersten Teil des zu startenden Betriebssystems, kann z. B. der Kernel sein. Sobald die Datei per TFTP in den Arbeitsspeicher des Gerätes übertragen wurde, wird diese ausgeführt und holt sich im Anschluss weitere benötigte Dateien ebenfalls per Netzwerk auf das im Netzboot befindliche Gerät.

Beispiele für TFTP-fähige Firmware:

Bei der Verwendung von TFTP sind nur verbindungslose Protokolle erforderlich, es kann daher mit nur wenig Aufwand in einem ROM implementiert werden. Zudem müssen durch einen Netzboot gestartete Geräte keine zusätzlichen Datenspeicher wie Festplatten bereitstellen, was kleinere und billigere Geräte ermöglicht. Daneben wird TFTP auch dazu verwendet, um Computerarbeitsplätze in großen Netzwerken (Schulen, Universitäten, Firmen) zentral zu administrieren, was den Verwaltungsaufwand reduziert.

Weitere Beispiele zur Nutzung von TFTP:

  • Die Konfigurationen und IOS-Images von Cisco-Routern und Switches können auch auf TFTP-Servern gesichert werden.
  • Siemens-Telefonanlagen können die Gebührendatensätze von Telefongesprächen auf TFTP-Servern ablegen.

Bestimmte Arten von Computerwürmern wie beispielsweise W32.Blaster nutzen TFTP-Server zu ihrer Verbreitung. Deshalb sollte dem Windows-Service tftp.exe bei Benutzung einer Personal Firewall standardmäßig der Internetzugriff verweigert werden.

Server:

  • tftpd (TFTP Daemon, Standard-Komponente auf Linux und verwandten Systemen)
  • TFTPD.EXE (TFTP Service, enthalten in Windows Server 2000, Windows XP, Windows Server 2003, Windows Server 2008 und Windows Server 2012)
  • TFTPD32 (Open-Source-TFTP-Server/-Client und DHCP/DNS-Server für Windows)
  • PumpKIN (freie Server- und GUI-Anwendung für Windows, enthält auch Client-Fähigkeiten)
  • SolarWinds TFTP-Server (für Windows)
  • Open TFTP Server (GNU GPL lizenzierter TFTP-Server für Windows, läuft auch als Service)

Clients:

  • TFTP ist ein optionaler Bestandteil zahlreicher BIOS-Varianten und BIOS-Erweiterungen (z. B. per EEPROM auf einer Netzwerkkarte) von PC-Systemen
  • TFTP wird von diversen Thin-Clients und fremd-bootbaren Terminals implementiert
  • eine Funktionalität im Open Source Bootloader namens uBoot für Embedded-Systeme, verkoppelt sowohl mit der uBoot-Shell als auch mit dem selbständigen Boot-Prozess
  • ein in Embedded-Systemen mit Busy Box integrierter Kommandozeilenbefehl namens tftp
  • das in Linux bzw. Cygwin enthaltene Programm tftp
  • das in einigen Windows-Versionen enthaltene Programm TFTP.EXE

Normen und Standards

[Bearbeiten | Quelltext bearbeiten]

TFTP wurde in mehreren Schritten als Request for Comments (RFC) weiterentwickelt:

  • RFC: 783 – Trivial File Transfer Protocol (Revision 2). 1981 (aktualisiert durch RFC 1350, englisch).
  • RFC: 1350 – Trivial File Transfer Protocol (Revision 2). 1992 (englisch).
    • RFC: 1782 – TFTP Option Extension. 1995 (veraltet, englisch).
    • RFC: 1783 – TFTP Blocksize Option. 1995 (veraltet, englisch).
    • RFC: 1784 – TFTP Timeout Interval and Transfer Size Options. 1995 (veraltet, englisch).
    • RFC: 1785 – TFTP Option Negotiation Analysis. 1995 (nur zur Information, englisch).

Die Weiterentwicklung der Erweiterungen auf der Basis von RFC 1350 erfolgte 1998 und 2015:

  • RFC: 2347 – TFTP Option Extension. 1998 (englisch).
  • RFC: 2348 – TFTP Blocksize Option. 1998 (englisch).
  • RFC: 2349 – TFTP Timeout Interval and Transfer Size Options. 1998 (englisch).
  • RFC: 7440 – TFTP Windowsize Option. 2015 (englisch).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. RFC: 783 – Trivial File Transfer Protocol (Revision 2). 1981 (aktualisiert durch RFC 1350, englisch).
  2. RFC: 2347 – TFTP Option Extension. 1998 (englisch).
  3. RFC: 2348 – TFTP Blocksize Option. 1998 (englisch).
  4. 5.1. Booting the Installer on PowerPC, 5.1.3. Booting with TFTP. Ubuntu Installation Guide: Ch 5. Booting the Installation System. In: Ubuntu Documentation (Ubuntu 8.04 LTS). Ubuntu Documentation Project , Canonical, ehemals im Original (nicht mehr online verfügbar); abgerufen am 8. Januar 2017 (englisch).@1@2Vorlage:Toter Link/help.ubuntu.com (Seite nicht mehr abrufbar. Suche in Webarchiven)