A TFTP egy fájlátviteli protokoll, és a neve azt sugallja, hogy valami hasonló az FTP protokollhoz (File Transfer Protocol), ami bizonyos mértékig igaz is…. A TFTP nem túl népszerű, mert nem igazán használják az interneten a korlátai miatt, amelyeket a következőkben fogunk megvizsgálni.
A protokoll
A TFTP fő különbsége az FTP-től az általa használt szállítási protokoll és a hitelesítési mechanizmus hiánya. Míg az FTP a megbízható TCP protokollt használja a kapcsolat létrehozásához és a fájlátvitel befejezéséhez, a TFTP az UDP protokollt használja, amely nem biztonságos és nincs beépített hibaellenőrzés (hacsak nem implementáltak valamilyen hibaellenőrzést a fájlok átvitelére használt programba), ez magyarázza azt is, hogy a TFTP-t miért inkább LAN-ban, mint WAN-ban (Wide Area Network) vagy az interneten találjuk.
A TFTP legfőbb korlátai a hitelesítés és a könyvtárak láthatósága, vagyis nem láthatja a TFTP-kiszolgálón elérhető fájlokat és könyvtárakat.
Amint említettük, a TFTP az UDP-t használja szállításként, szemben az FTP által használt TCP-vel, és a 69-es porton működik, ez jól látható a bal oldali menő 3D-s ábrán.
A 69-es port a TFTP alapértelmezett portja, de ha szeretné, módosíthatja a TFTP-kiszolgáló beállításait, hogy más porton fusson.
Most, hogy a dolgok kicsit világosabbak legyenek, mellékeltem egy képernyőképet a munkaállomásom tftp-zéséről egy TFTP szerverre, amelyet a kis hálózatomban állítottam be.
Látható, hogy a munkaállomásom (192.168.0.100) kapcsolatba lép a TFTP-kiszolgálóval (192.168.0.1) a 69-es porton (célport). Ebben az első csomagban a munkaállomásom kapcsolatba lép a szerverrel, és bekéri azt a fájlt, amelyet a szerverhez való csatlakozás előtt adtam meg. Kattintson ide a teljes képért.
Mert nem kapja meg a fájlok és könyvtárak listáját, tudnia kell, hogy melyik fájlt szeretné letölteni ! Az általam kapott válaszban (2. csomag) a szerver rögtön belevág a munkába és elkezdi küldeni a fájlt. Semmiféle hitelesítés !
Megjegyzés: A munkaállomás általában nem küld vissza semmilyen visszaigazolást (mert az UDP, ami a szállítási protokoll, természeténél fogva soha nem küld visszaigazolást), de a szoftverfejlesztők beépíthetnek egy ilyen funkciót, ha rákényszerítik a munkaállomást, hogy küldjön egy kis csomagot, amit a TFTP szerver képes felvenni a munkaállomásnak küldött előző adatcsomag visszaigazolásaként.
A megadott példában látható, hogy a munkaállomásom kis csomagokat küld a szervernek, miután kapott tőle egy csomagot. Ezeket a kis visszaigazolásokat az a szoftvercég adta hozzá, amelyik az általam a példához használt programot készítette.
Az alábbiakban a TFTP (TFTP Client) program képernyőképét mutatom be, amelyet a szerverre való TFTP-hez használtam:
Nézze meg, hogyan adtam meg a letölteni kívánt fájlt (server.exe), és választottam ki a nevet, amelyik néven a fájl a helyi számítógépemre kerül (Local File). Ha nem adtam volna meg a Távoli fájl nevét, akkor egyszerűen hibaüzenet jelenne meg a szerveroldalon, amely arról panaszkodik, hogy ilyen fájl nem létezik. A TFTP-vel is lehet fájlokat küldeni, hiszen nem csak letöltésre való 🙂
Szóval, hol használják a TFTP-t?
A TFTP-t leginkább útválasztókonfigurációs fájlok mentésére használják, mint például a Cisco és annak IOS képei, de használják lemez nélküli bootoló PC-knél is, ahol miután a munkaállomás a hálózati kártya ROM-járól bootolt, a TFTP-t használják a betöltéshez és futtatáshoz szükséges program letöltésére egy központi szerverről.
Az alábbi ábrán látható, hogy mi történik egy TFTP-munkamenet során:
Az ábrán feltételezzük, hogy a két végén (kliens és szerver) futó szoftverbe nincs beépített hibaellenőrzés.
És ez nagyjából össze is foglalja a TFTP protokollt.
vissza a hálózati protokollok szakaszhoz
Közelítőleg ennyi.