TFTP er en protokol til filtransport, og navnet antyder, at det er noget, der ligger tæt på FTP-protokollen (File Transfer Protocol), hvilket er sandt … til en vis grad. TFTP er ikke særlig populær, fordi den ikke rigtig bruges på internettet på grund af dens begrænsninger, som vi vil undersøge næste gang.
Protokollen
TFTP’s største forskel fra FTP er den transportprotokol, den bruger, og manglen på en autentifikationsmekanisme. Hvor FTP bruger den robuste TCP-protokol til at etablere forbindelser og gennemføre filoverførsler, bruger TFTP UDP-protokollen, som er usikker og ikke har nogen indbygget fejlkontrol (medmindre de har implementeret en eller anden form for fejlkontrol i det program, du bruger til at overføre filer), hvilket også forklarer, hvorfor det er mere sandsynligt, at du finder TFTP i et LAN frem for et WAN (Wide Area Network) eller på internettet.
De største begrænsninger ved TFTP er autentificering og synlighed af mapper, hvilket betyder, at du ikke får mulighed for at se de filer og mapper, der er tilgængelige på TFTP-serveren.
Som nævnt bruger TFTP UDP som transport i modsætning til TCP, som FTP bruger, og fungerer på port 69. Det kan du tydeligt se i det seje 3D-diagram til venstre.
Port 69 er standardporten for TFTP, men hvis du vil, kan du ændre indstillingerne på din TFTP-server, så den kører på en anden port.
Nu har jeg for at gøre tingene lidt tydeligere vedlagt et skærmbillede af min arbejdsstation, der tftp’er ind på en TFTP-server, som jeg har opsat i mit lille netværk.
Du kan se, at min arbejdsstation (192.168.0.100) kontakter TFTP-serveren (192.168.0.1) på port 69(destinationsport). I denne første pakke kontakter min arbejdsstation serveren og anmoder om den fil, som jeg indtastede, før jeg oprettede forbindelse til serveren. Klik her for at se det fulde billede.
Da du ikke får en liste over filer og mapper, skal du vide, hvilken fil du vil hente ! I det svar, jeg modtog (2. pakke), går serveren direkte i gang og begynder at sende filen. Ingen autentificering overhovedet !
Bemærk: Arbejdsstationen sender normalt ikke nogen bekræftelse tilbage (fordi UDP, som er transportprotokollen, i sagens natur aldrig sender bekræftelser), men softwareudviklerne kan indarbejde en sådan funktion ved at tvinge arbejdsstationen til at sende en lille pakke, som TFTP-serveren kan opfange som en bekræftelse på den tidligere datapakke, den har sendt til arbejdsstationen.
I det eksempel, jeg giver, kan man se, at min arbejdsstation sender små pakker til serveren, efter at den har modtaget en pakke fra serveren. Disse små kvitteringer er blevet tilføjet af det softwarefirma, der har lavet det program, jeg brugte til dette eksempel.
Nedenfor ses et skærmbillede af det program, jeg brugte til TFTP (TFTP Client) til serveren:
Mærk, hvordan jeg indtastede den fil, jeg ønskede at hente (server.exe), og valgte det navn, som filen skal gemmes som på min lokale computer (Local File). Hvis jeg ikke angav navnet på fjernfilen, ville jeg blot få en fejlmeddelelse på serversiden med en klage over, at der ikke findes en sådan fil. Du kan også sende filer ved hjælp af TFTP, da det ikke kun er til downloading 🙂
Så hvor bruges TFTP?
TFTP bruges mest til backup af routerkonfigurationsfiler som Cisco og dens IOS-images, det bruges også til diskless booting PC’er, hvor, efter at arbejdsstationen er bootet fra netværkskortets ROM, TFTP bruges til at downloade det program, den skal indlæse og køre fra en central server.
Nedenfor er et diagram, der viser, hvad der foregår under en TFTP-session:
I dette diagram antager vi, at der ikke er indbygget fejlkontrol i den software, der kører i begge ender (klient og server).
Og det opsummerer stort set det hele for TFTP-protokollen.
Tilbage til afsnittet om netværksprotokoller