TFTP är ett filtransportprotokoll och namnet antyder att det är något som ligger nära FTP-protokollet (File Transfer Protocol), vilket är sant … till viss del. TFTP är inte särskilt populärt eftersom det inte riktigt används på Internet på grund av dess begränsningar som vi kommer att utforska härnäst.
Protokollet
TFTP:s största skillnad från FTP är det transportprotokoll som används och avsaknaden av en autentiseringsmekanism. Medan FTP använder det robusta TCP-protokollet för att upprätta anslutningar och slutföra filöverföringarna, använder TFTP UDP-protokollet som är osäkert och som inte har någon inbyggd felkontroll (såvida de inte har implementerat någon typ av felkontroll i det program som du använder för att överföra filer), vilket också förklarar varför det är mer troligt att du hittar TFTP i ett LAN, snarare än i ett WAN (Wide Area Network) eller på Internet.
De största begränsningarna med TFTP är autentisering och katalogsynlighet, vilket innebär att du inte får se de filer och kataloger som finns tillgängliga på TFTP-servern.
Som nämnts använder TFTP UDP som transport, i motsats till TCP som FTP använder, och fungerar på port 69. Du kan tydligt se det i det häftiga 3D-diagrammet till vänster.
Port 69 är standardporten för TFTP, men om du vill kan du ändra inställningarna på din TFTP-server så att den körs på en annan port.
Nu har jag, för att göra saker och ting lite tydligare, bifogat en skärmdump av min arbetsstation som tftp:ar in till en TFTP-server som jag har satt upp i mitt lilla nätverk.
Du kan se att min arbetsstation (192.168.0.100) kontaktar TFTP-servern (192.168.0.1) på port 69 (destinationsport). I detta första paket kontaktar min arbetsstation servern och begär den fil som jag angav innan jag anslöt till servern. Klicka här för att se hela bilden.
Då du inte får en lista över filer och kataloger måste du veta vilken fil du vill ladda ner ! I det svar jag fick (2:a paketet) går servern rakt på sak och börjar skicka filen. Ingen autentisering alls !
Notera: Arbetsstationen skickar vanligtvis inte tillbaka någon bekräftelse (eftersom UDP, som är transportprotokollet, till sin natur aldrig skickar bekräftelser), men programvaruutvecklarna kan införliva en sådan funktion genom att tvinga arbetsstationen att skicka ett litet paket som TFTP-servern kan plocka upp som en bekräftelse på det tidigare datapaketet som den skickade till arbetsstationen.
I det exempel jag ger kan du se att min arbetsstation skickar små paket till servern efter att den tagit emot ett paket från den. Dessa små bekräftelser har lagts till av programvaruföretaget som skapade programmet som jag använde för detta exempel.
Nedan följer en skärmdump av programmet som jag använde för att TFTP (TFTP Client) till servern:
Märk hur jag skrev in filen som jag ville ladda ner (server.exe), och valde det namn som filen ska sparas som på min lokala dator (Local File). Om jag inte angav namnet på fjärrfilen skulle jag helt enkelt få ett felmeddelande på serversidan som klagar på att det inte finns någon sådan fil. Du kan också skicka filer med hjälp av TFTP, eftersom det inte bara är för nedladdning 🙂
Var används TFTP?
TFTP används främst för säkerhetskopiering av routerkonfigurationsfiler som Cisco och dess IOS-avbildningar, det används också för diskless booting PC’s där, efter att arbetsstationen har startat från nätverkskortets ROM, TFTP används för att ladda ner det program som den behöver för att ladda och köra från en central server.
Nedan följer ett diagram som visar vad som sker under en TFTP-session:
I detta diagram antar vi att det inte finns någon felkontroll inbyggd i programvaran som körs i båda ändarna (klient och server).
Och det sammanfattar i stort sett allt för TFTP-protokollet.
Tillbaka till avsnittet om nätverksprotokoll