Ce fel de protocol TFTP ~ probleme de rețea
Bună ziua din nou, dragii mei prieteni! În afara ferestrei, nu pe vremea rece de primăvară, pauzele de zăpadă, dar cred că nu ne poate răni astăzi, împreună cu tine pentru a face cunoștință cu un strat de aplicație protocol foarte interesant - protocolul TFTP.
Protocolul TFTP (Trivial File Transfer Protocol. Trivial File Transfer Protocol), ca și în cazul în care acesta este sunete kepski, concepute pentru a transfera fișiere =) în viața de zi cu zi utilizatorul mediu este destul de rar, așa cum este folosit în general pentru rezolvarea problemelor legate de întreținerea și exploatarea echipamente de rețea, și anume:
- stații de lucru; fără disc
- fișierele de actualizare și configurare de rezervă și a imaginilor sistemului de operare (firmware) pe o varietate de dispozitive de rețea.
Desigur, nimic nu vă împiedică să utilizați acest protocol pentru a descărca diverse fișiere de la prietenul meu calculator, dar este în timpul nostru este deja smacks de perversiune.
TFTP Formatul mesajului de protocol este destul de simplu și este după cum urmează:
Formatul mesajului de protocol TFTP
Tipul câmpului determină funcția mesajului (cerere pentru a citi, scrie, date, confirmare sau eroare) și poate conține următoarele valori:
- RRQ (citire Cerere) - cerere pentru a citi fișierul. Această valoare apare în mesajul TFTP. în acest caz, dacă vom descărca de pe serverul TFTP un anumit fișier;
- WRQ (Scrie Cerere) - cerere pentru intrarea fișierului. Această valoare apare în mesajul TFTP. în acest caz, dacă vom scrie pe server TFTP un anumit fișier;
- DATA - datele transferate prin intermediul TFTP. Această valoare apare în mesajul TFTP. în acest caz, în cazul în care mesajul conține datele transmise direct de la client la server sau vice-versa.
- ACK (Acknowledgement) - confirmare a blocului de date. Această valoare apare în mesajul TFTP. în cazul în cazul în care blocul de date transmis anterior a fost recepționat cu succes de către destinatar (sau în cazul în care serverul poate efectua intrarea fișier).
- ERR (Eroare) - eroare. Această valoare apare în mesajul TFTP. în cazul în care etapa anterioară a erorii de protocol a avut loc, de exemplu, fișierul solicitat lipsește sau nu a existat nici permisiunea de a citi.
Nume câmp fișier conține un șir de caractere care se potrivește ciudat numele de fișier pe care clientul dorește să înregistreze / / server de descărcare c (e).
Domenii sfârșitul liniei, sunt folosite pentru câmpuri de date separate purtătoare de informații între ele.
Câmpul corespunde modului de transmisie, din nou, ciudat pentru modul de transmisie, și poate conține una dintre cele două valori reprezentate sub formă de șiruri ASCII:
- netascii - indică faptul că fișierul înainte de transfer trebuie să fie recodate în ASCII (implicit);
- octetul - indică faptul că fișierul trebuie adoptată fără modificări.
Câmpurile pentru numărul de bloc utilizat pentru numerotarea blocurilor de informații transmise.
câmp de date conține unități informațiile transmise variind de la 0 la 512 octeți. În cazul în care dimensiunea fișierului transmis depășește 512 bytes, atunci toate blocurile în care fișierul, cu excepția ultima au o dimensiune fixă egală cu 512 bytes, ultimul bloc de date transmise pot avea o dimensiune de la 0 la 511 bytes.
După ce ne-am familiarizat cu formatul mesajelor de protocol TFTP. uita-te la modul în care sunt utilizate aceste mesaje atunci când scrieți sau citirea unui fișier de pe server. Pentru a începe, ia în considerare procesul de citire a fișierului de la server.
Citirea unui fișier de pe un server folosind TFTP
La momentul inițial serverul TFTP așteaptă cereri de la clienții săi. Dacă unul dintre clienți, trebuie să acceseze fișierele de pe un server TFTP, acesta trimite cererea RRQ la server TFTP. Dacă fișierul există pe server și poate fi accesat, apoi este pornit procesul de transmitere, iar serverul trimite clientului un prim bloc care cuprinde 512 octeți de date (În cazul în care fișierul solicitat nu este disponibil, serverul generează un mesaj de eroare, transmite-l la client. În acest proces transmisia se oprește). Clientul a primit numărul de bloc 1 generează o confirmare de primire a blocului ACK, și, de asemenea, îi conferă o cameră 1. La primirea această confirmare serverul începe transmisia blocului de date următoare. (În cazul în care o confirmare de primire a blocului de date nu a fost primit până la timeout, serverul efectuează retransmisia blocului pierdut.) Acest proces de transmitere are loc până când toate blocurile de date la care a fost împărțit fișier nu va fi transferat.
Acum ia în considerare procesul de înregistrare a unui fișier de pe un server TFTP, acesta este similar cu procesul de citire, dar are diferențele sale.
fișier de înregistrare pe server TFTP
La momentul inițial serverul TFTP așteaptă cereri de la clienții săi. Dacă unul dintre clienții, trebuie să scrie fișierul pe un server TFTP, acesta trimite o cerere WRQ la server TFTP. În cazul în care serverul poate face o copie a fișierului, acesta generează un mesaj ACK, cu un număr de bloc egal cu 0, și îl trimite clientului solicitant, acest mesaj înseamnă serverul de acord să scrie (în cazul în care serverul nu poate face o copie a fișierului, un mesaj de eroare care este trimis client. completat.) În acest proces de înregistrare. Clientul care a primit mesajul ACK, cu un număr de bloc egal cu 0, începe transmiterea primelor 512 octeți a fișierului pe server trimițându-le într-un număr de bloc mesaj de date 1. În cazul în care serverul primește blocul, acesta generează un mesaj ACK, cu un număr de bloc 1. Acest lucru se întâmplă până până când serverul primește dimensiunea blocului de mai puțin de 512 octeți de date. Într-un astfel de caz, recunoaște primirea ultimului bloc de date în această înregistrare și se termină.
Nu conteaza ce tip de mesaj este trimis TFTP (WRQ, RRQ, ACK, etc.) pentru transfer de la client la server (sau invers), aceste mesaje sunt ambalate într-o datagrama UDP la portul de destinație 69 (portul client este selectat în mod dinamic) care sunt încapsulate în pachete IP. După cum sa menționat deja la protocolul TFTP nu este o indicație că protocolul de strat de transport UDP. dar nu cauzează probleme în activitatea protocolul TFTP. ca confirmarea livrării mesajului este efectuată prin intermediul stratului de aplicare (a protocolului TFTP).
În concluzie, aș dori să vă atrag atenția asupra faptului că protocolul TFTP nu conține elemente de siguranță încorporate, cum ar fi verificarea de conectare și parola. Prin urmare, atunci când utilizarea sa trebuie să fie deosebit de atenți.
Vă mulțumim pentru atenție la noi întâlniri.