Datagram ( anglicky datagram , datagram ) je blok informací přenášených protokolem prostřednictvím komunikační sítě bez předchozího navázání spojení a vytvoření virtuálního kanálu . Každý protokol, který nenavazuje předběžné spojení (a obvykle neřídí pořadí vysílání a příjmu a duplikace paketů), se nazývá datagramový protokol. Jedná se např. o protokoly Ethernet , IP , UDP atd. Název "datagram" byl zvolen obdobou slova telegram. Každý datagram obsahuje ve své hlavičce úplnou cílovou adresu a je tedy zcela nezávislý na jiných datagramech a obecně datagramy, i když jsou součástí stejné zprávy, mohou být doručeny příjemci různými cestami [1] .
V moderní praxi se termín „IP paket“ běžně používá jako synonymum pro termín „IP datagram“. V řadě dokumentů IETF ( RFC 1812 , RFC 1547 , RFC 1661 atd.) se však mezi nimi určitým způsobem rozlišuje. Jak víte, datové moduly horních úrovní síťového modelu jsou postupně zapouzdřeny do datových modulů nižších úrovní (viz Zapouzdření ). Při přenosu do spojové vrstvy se IP datagram nemusí vejít do rámce spojové vrstvy. V takovém případě zapouzdření vyžaduje předchozí fragmentaci datagramu pro splnění požadavků konkrétní technologie mediální vrstvy. Objevuje se tedy další termín – IP fragment. Termín IP paket zobecňuje koncepty IP datagramu a IP fragmentu, přičemž základní podmínkou je, že označuje jednotku dat přenášených do spojové vrstvy pro zapouzdření do rámce. Můžeme říci, že na úrovni sítě je IP datagram zapouzdřující datovou jednotkou a IP paket je zapouzdřující. V konkrétním případě se mohou shodovat, v obecném případě ne, protože IP datagram může být fragmentován na fragmenty. Ne každý datagram a dokonce ani každý fragment se může stát IP paketem bez další fragmentace.
Oddělení pojmů IP datagram, IP fragment a IP paket je vhodné pro pochopení procesů, které se vyskytují na síťové vrstvě. Zároveň je třeba mít na paměti, že obecná struktura zprávy s jejími záhlavími a tělem je ve všech třech případech stejná. Kompletní datagramy a fragmenty datagramů se liší pouze v určitých informacích záhlaví. Paket je jednoduše identický s datagramem nebo fragmentem, pokud se vejdou do rámce . Proto je třeba mít na paměti, že datagramy, fragmenty a pakety jsou různé jednotky síťové vrstvy, nikoli strukturálně, ale funkčně.