Mi a TFTP?
A TFTP a triviális fájlátviteli protokollt jelenti. Ezt a protokollt akkor használják, amikor a felhasználóknak fájljaikat másolniuk kell. Más szavakkal: lehetővé teszi a felhasználó számára fájlok tárolását és elérését a távoli gazdagépről. Főleg a rendszerindító rendszerhez használják. Ennek a koncepciónak a megértése érdekében tegyünk egy egyszerű példát: Tegyük fel, hogy van egy indított lemez nélküli rendszer vagy útválasztó, ehhez letöltenie kell a bootstrap fájlokat és a konfigurációs fájlokat. Ebben a helyzetben szükség van egy protokollra a fájlok gyorsabb másolásához. Itt a TFTP kerül a képbe. Úgy tervezték, hogy másolja az ilyen típusú fájlokat.
A TFTP-hez csak IP (Internet Protocol) és UDP (User Datagram Protocol) szükséges. A TFTP két műveletet hajt végre, azaz az olvasást és az írást. Olvasás közben fájlokat másol a SIDE szerver oldaláról, a kliens oldalról, míg az írás műveletben pontosan ellenkező módon működik, fájlokat másol az ügyfél oldalról a szerver oldalra.
A TFTP az UDP szolgáltatásokat használja a közismert 69-es porton.
A TFTP üzenetek típusai
Ötféle típusú TFTP üzenet létezik. Az alábbiakban a lista található
- RRQ
- WRQ
- ADAT
- ACK
- HIBA
1) RRQ üzenet
Az RRQ az olvasási kérés üzenetet jelenti. Az ügyfél ezt felhasználva kapcsolatot hoz létre az SIDE szerverről történő adatolvasáshoz. Az RRQ üzenetnek három mezője van: OpCode, Filename és Mode. Az OpCode 2 bájt méretű, 1 tartalmaz RRQ üzenetet. A fájlnév határozza meg a fájl nevét. A módok határozzák meg az átviteli módot. Az átviteli mód netascii lehet az ASCII fájlokhoz vagy oktettek a bináris fájlokhoz. Az RRQ üzenet formátuma a következő.
2) WRQ üzenet
A WRQ az írási kérés üzenet. Az ügyfél ezt felhasználva kapcsolatot létesít az adatok írására a SIDE szerverről. A WRQ üzenet ugyanolyan mezőkkel rendelkezik, mint az RRQ, csak az a különbség, hogy az OpCode tartalmaz 2-et a WRQ üzenet megjelenítéséhez. Itt láthatjuk a WRQ üzenet formátumát.
3) ADAT üzenet
Mind az ügyfél, mind a szerver adatüzeneteket használ adat blokkok küldésére. Az adatok három mezőt tartalmaznak: OpCode, Blokkszám és Data. Az OpCode 3-at tartalmaz az adatüzenetek megjelenítéséhez. A blokk száma 2 bájtos mező, amely blokk számot tartalmaz. Az összes blokk egymást követő számozása 1-től van. Az ügyfél és a szerver ezt a mezőt használja az adatok egymás utáni küldésére, hogy a vevő a teljes üzenetet e blokk számmal kombinálja. Az adatok 512 bájt. Az adatok netascii (ASCII fájl) vagy oktet (bináris fájl) formájában továbbíthatók. A DATA üzenet formátuma a következő.
4) ACK üzenet
Az ACK a nyugtázó üzenetet jelenti. Az ügyfél és a szerver egyaránt használja ezt az ACK-t az adatblokk kézhezvételének visszaigazolásához. Ez az üzenet 4 bájt. Két mezőt tartalmaz - OpCode és Blokk szám. Az OpCode 4 tartalmaz az ACK üzenet megjelenítését. A blokk száma 2 bájtos mező, amely tartalmazza a fogadott adatblokkok számát. Az ACK üzenet lehet egy válasz a WRQ üzenetre is, amelyet egy szerver küld az ügyfélnek annak jelzésére, hogy a szerver készen áll az adatok fogadására az ügyféltől. Az ACK üzenet formátuma a következő.
5) HIBA üzenet
Az ügyfél és a szerver az ERROR üzenetet használja, ha a kliens és a szerver között nem lehet kapcsolatot létesíteni, vagy ha valamilyen hiba történt az adatátvitel során. Negatív választ küld az RRQ vagy WRQ üzenetre. Ez az üzenet három mezőt tartalmaz - Oe, Hiba száma és Hibaadatok. Az OpCode 5 tartalmaz az ERROR üzenetet. A hibakód 2 bájt, amely tartalmazza a hibakódot és azok jelentését. Az ERROR üzenet formátuma a következő.
Az alábbiakban felsoroljuk a hibakódot és azok jelentését
0 - nincs meghatározva
1 - A fájl nem található
2 - Hozzáférés megsértése
3 - A lemez megtelt vagy a kvóta túllépett
4 - Illegális működés
5 - ismeretlen portszám
6 - A fájl már létezik
7 - Nincs ilyen felhasználó
A hibaadatmező szöveges formátumú hibaadatokat tartalmaz. Ez egy 1 bájtos mező, és 0s-os végződéssel zárul.
TFTP kapcsolatok
A kapcsolatok létrehozásához a TFTP RRQ üzenetet, WRQ üzenetet, ACK üzenetet, ERROR üzenetet használ. A kapcsolatok megszüntetésekor a TFTP a DATA üzenetet használja.
1) Kapcsolat létesítése
A fájlok olvasásához a kapcsolat létrehozásának folyamata különbözik a fájlok írásától.
- Olvasás: Az ügyfél elküldi az RRQ üzenetet, hogy kapcsolatot létesítsen az olvasással. Ez az üzenet tartalmazza a fájl nevét és a fájl továbbítási módját. Miután a kapcsolat létrejött, a szerver pozitív választ küld a DATA üzenettel, ha a kiszolgáló képes a fájl átvitelére. Ha nem, akkor negatív választ küld ERROR üzenettel.
- Írás: Az ügyfél WRQ üzeneteket küld, hogy kapcsolatot létesítsen az íráshoz. Ez az üzenet tartalmazza a fájl nevét és a fájl továbbítási módját. Miután a kapcsolat létrejött, a szerver pozitív választ küld ACK üzenettel, ha a szerver képes másolni a fájlt. Ha nem, akkor negatív választ küld ERROR üzenettel.
Itt olvasási és írási művelet ábrázolása
2) A kapcsolat megszűnése
A fájl továbbítását követően a kapcsolatot meg kell szakítani. A TFTP nem használ speciális üzenetet a kapcsolat megszakításához. A lezárás az utolsó, 512 bájtnál kisebb adatblokk küldésével történik.
Ajánlott cikkek
Ez egy útmutató a TFTP-hez, láttuk, hogy mi a TFTP, a TFTP különböző típusú üzenetei, kapcsolatok, hogyan alakultak ki a TFTP-kapcsolatok és megszüntették a fogalmakat. Remélem, hasznosnak találja ezt a cikket. A következő cikkben további információkat is megnézhet -
- FTP vs TFTP
- FTP parancsok
- Programozás vs webfejlesztés
- A webtárhely típusai