TFTP - Leer de soorten berichten en verbindingen van TFTP

Inhoudsopgave:

Anonim

Wat is TFTP?

TFTP staat voor Trivial File Transfer Protocol. Dit protocol wordt gebruikt wanneer gebruikers hun bestanden moeten kopiëren. Met andere woorden, hiermee kan de gebruiker zijn bestanden opslaan en openen vanaf de externe host. Het wordt voornamelijk gebruikt voor het opstartsysteem. Om dit concept te begrijpen, laten we een eenvoudig voorbeeld nemen, stel dat u een opgestart schijfloos systeem of router hebt, daarvoor moet u bootstrap-bestanden en configuratiebestanden downloaden. In die situatie hebt u een protocol nodig om die bestanden sneller te kopiëren. Hier komt de TFTP in beeld. Het is ontworpen om dit soort bestanden te kopiëren.

TFTP vereist alleen IP (Internet Protocol) en UDP (User Datagram Protocol). TFTP voert namelijk twee bewerkingen uit, lezen en schrijven. In een leesbewerking kopieert het bestanden van server SIDE naar client SIDE terwijl het in schrijfbewerking exact oppoSIDE werkt, het kopieert bestanden van client-naar server-kant.

TFTP maakt gebruik van UDP-services op de bekende poort 69.

Typen TFTP-berichten

Er zijn vijf soorten TFTP-berichten. Hieronder vindt u de lijst

  • RRQ
  • WRQ
  • GEGEVENS
  • ACK
  • FOUT

1) RRQ-bericht

RRQ staat voor het leesverzoekbericht. De client gebruikt dit om een ​​verbinding tot stand te brengen voor het lezen van gegevens van de server SIDE. RRQ-bericht heeft drie velden OpCode, Bestandsnaam en Modus. Een OpCode is 2 bytes groot en bevat 1 om het RRQ-bericht weer te geven. Bestandsnaam definieert de naam van het bestand. Modi definiëren de verzendmodus. De verzendmodus kan netascii zijn voor ASCII-bestanden of octet voor binaire bestanden. Het berichtformaat van RRQ wordt als volgt gegeven.

2) WRQ-bericht

WRQ staat voor het schrijfverzoekbericht. De client gebruikt dit om een ​​verbinding tot stand te brengen voor het schrijven van gegevens van de server SIDE. WRQ-bericht heeft dezelfde velden als RRQ enige verschil is dat OpCode 2 bevat om het WRQ-bericht te tonen. Hier kunnen we het WRQ-berichtformaat zien.

3) DATA bericht

Zowel client als server gebruiken gegevensberichten om gegevensblokken te verzenden. Gegevens bevatten drie velden - OpCode, bloknummer en gegevens. OpCode bevat 3 om gegevensberichten weer te geven. Bloknummer is een veld van 2 bytes dat bloknummer bevat. Alle blokken zijn opeenvolgend genummerd van 1. De client en de server gebruiken dit veld om gegevens opeenvolgend te verzenden, zodat de ontvanger het hele bericht met dit bloknummer combineert. Gegevens zijn van 512 bytes. Gegevens kunnen worden overgedragen in de vorm van netascii (ASCII-bestand) of octet (Binair bestand). Het DATA-berichtformaat wordt als volgt gegeven.

4) ACK-bericht

ACK staat voor bericht bevestigen. Zowel client als server gebruiken deze ACK om de ontvangst van het gegevensblok te bevestigen. Dit bericht heeft 4 bytes. Het bevat twee velden - OpCode en bloknummer. OpCode bevat 4 om het ACK-bericht weer te geven. Bloknummer is een veld van 2 bytes dat het aantal ontvangen gegevensblokken bevat. ACK-berichten kunnen ook een reactie zijn op het WRQ-bericht dat door een server naar de client wordt verzonden om aan te geven dat de server gereed is om gegevens van de client te ontvangen. Het ACK-berichtformaat wordt als volgt gegeven.

5) FOUT-bericht

Client en server gebruiken ERROR-bericht wanneer er geen verbinding tussen client en server tot stand kan worden gebracht of wanneer er een fout is opgetreden tijdens de gegevensoverdracht. Het verzendt een negatief antwoord op het RRQ-bericht of WRQ-bericht. Dit bericht bevat drie velden - Oe, foutnummer en foutgegevens. OpCode bevat 5 om het FOUT-bericht weer te geven. Het foutnummer is van 2 bytes dat foutnummer en hun betekenis bevat. Het ERROR-berichtformaat wordt als volgt gegeven.

Hieronder is de lijst met foutnummers met hun betekenis

0 - Niet gedefinieerd

1 - Bestand niet gevonden

2 - Toegangsfout

3 - Schijf vol of quotum overschreden

4 - Illegale werking

5 - Onbekend poortnummer

6 - Bestand bestaat al

7 - Geen dergelijke gebruiker

Het veld met foutgegevens bevat foutgegevens in tekstindeling. Het is een 1-byte veld en wordt beëindigd door 0s.

TFTP-verbindingen

Om verbindingen tot stand te brengen gebruikt TFTP RRQ-bericht, WRQ-bericht, ACK-bericht, een FOUT-bericht. Terwijl om verbindingen te beëindigen, gebruikt TFTP het DATA-bericht.

1) Verbinding tot stand brengen

Het verbindingsproces voor het lezen van bestanden verschilt van het schrijven van bestanden.

  • Lezen: de client verzendt het RRQ-bericht om een ​​leesverbinding tot stand te brengen. Dit bericht bevat de naam van het bestand en de verzendmodus van het bestand. Zodra de verbinding tot stand is gebracht, verzendt de server een positief antwoord met het DATA-bericht, als de server het bestand kan overzetten. Als dit niet het geval is, stuurt u een negatief antwoord met een FOUT-bericht.
  • Schrijven: de client verzendt WRQ-berichten om een ​​schrijfverbinding tot stand te brengen. Dit bericht bevat de naam van het bestand en de verzendmodus van het bestand. Zodra de verbinding tot stand is gebracht, verzendt de server een positief antwoord met ACK-bericht, als de server het bestand kan kopiëren. Als dit niet het geval is, stuurt u een negatief antwoord met een FOUT-bericht.

Hier is de weergave van de lees- en schrijfbewerking

2) Verbindingsbeëindiging

Na het verzenden van het bestand moet de verbinding worden verbroken. TFTP gebruikt geen speciaal bericht om de verbinding te beëindigen. Beëindiging wordt gedaan door het laatste gegevensblok te verzenden dat minder is dan 512 bytes.

Aanbevolen artikelen

Dit is een gids voor TFTP, we hebben gezien wat TFTP is, verschillende soorten berichten in TFTP, verbindingen, hoe de TFTP-verbindingen tot stand zijn gebracht en beëindiging waardoor het gemakkelijk was om de concepten te begrijpen. Ik hoop dat je dit artikel nuttig zult vinden. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. FTP versus TFTP
  2. FTP-opdrachten
  3. Programmering versus webontwikkeling
  4. Soorten webhosting