Datagrama ( în engleză datagramă , datagramă ) este un bloc de informații transmis printr-un protocol printr-o rețea de comunicații fără a stabili mai întâi o conexiune și a crea un canal virtual . Orice protocol care nu stabilește o conexiune preliminară (și de obicei nu controlează ordinea de transmitere și recepție și duplicare a pachetelor) se numește protocol de datagramă. Acestea sunt, de exemplu, protocoalele Ethernet , IP , UDP etc. Denumirea „datagramă” a fost aleasă prin analogie cu cuvântul telegramă . Fiecare datagramă conține adresa de destinație completă în antetul său și, prin urmare, este complet independentă de alte datagrame, iar în general datagramele, chiar dacă fac parte din același mesaj, pot fi livrate destinatarului pe căi diferite [1] .
În practica modernă, termenul „pachet IP” este folosit în mod obișnuit ca sinonim pentru termenul „datagramă IP”. Cu toate acestea, într-un număr de documente IETF ( RFC 1812 , RFC 1547 , RFC 1661 etc.) se face o anumită distincție între ele. După cum știți, modulele de date ale nivelurilor superioare ale modelului de rețea sunt încapsulate secvenţial în modulele de date ale nivelurilor inferioare (vezi Encapsulare ). Când este transmisă la stratul de legătură, o datagramă IP poate să nu se potrivească într-un cadru de strat de legătură. Într-un astfel de caz, încapsularea necesită fragmentarea prealabilă a datagramei pentru a îndeplini cerințele unei anumite tehnologii de strat media. Astfel, apare un alt termen - un fragment IP. Termenul pachet IP generalizează conceptele de datagramă IP și fragment IP, cu condiția esențială ca acesta să desemneze o unitate de date transmisă la stratul de legătură pentru încapsulare într-un cadru. Putem spune că la nivel de rețea, o datagramă IP este o unitate de date încapsulată, iar un pachet IP este încapsulat. Într-un caz particular, acestea pot coincide, în cazul general nu pot, deoarece o datagramă IP poate fi fragmentată în fragmente. Nu orice datagramă, și nici măcar fiecare fragment, poate deveni un pachet IP fără fragmentare suplimentară.
Separarea conceptelor de datagramă IP, fragment IP și pachet IP este convenabilă pentru înțelegerea proceselor care au loc la nivelul rețelei. În același timp, trebuie avut în vedere faptul că structura generală a mesajului cu anteturile și corpul său este aceeași în toate cele trei cazuri. Datagramele complete și fragmentele de datagramă diferă doar în anumite informații de antet. Un pachet este pur și simplu identic cu o datagramă sau cu un fragment dacă se încadrează într- un cadru . Astfel, trebuie amintit că datagramele, fragmentele și pachetele sunt unități diferite ale stratului de rețea, nu structural, ci funcțional.