Datagram används i situationer där:
* Anslutningslös kommunikation önskas: Datagram -nätverk skapar inte en dedikerad anslutning innan du skickar data. Varje paket är oberoende och dirigerat individuellt. Detta i motsats till anslutningsorienterade protokoll som TCP.
* Effektivitet är av största vikt, även till kostnaden för tillförlitlighet: Eftersom DataGrams inte kräver anslutning av anslutning och nedbrytning är de mer effektiva för korta data eller när nätverksförhållandena är oförutsägbara. Emellertid kommer denna effektivitet till kostnaden för potentiell paketförlust eller uteläsningsleverans, vilket kräver högre nivåprotokoll att hantera.
* sändnings- eller multicast -kommunikation behövs: Datagram är väl lämpade för att skicka ett enda meddelande till flera mottagare samtidigt.
* realtidsapplikationer med acceptabel jitter är involverade: Medan Datagram inte garanterar leveransbeställning, är de ofta tillräckliga för applikationer där tillfälliga förseningar eller paketförlust är acceptabla, till exempel strömmande ljud eller video. I sådana fall hanterar själva applikationen överföring eller felkorrigering.
* Applikationer behöver enkel implementering: Avsaknaden av anknytning till anslutning och nedrivning förenklar implementeringen av applikationer som använder datagram.
Exempel på protokoll som använder datagram:
* UDP (användardatagramprotokoll): Ett allmänt använt transportlagerprotokoll som ger anslutningslös kommunikation. Används ofta för strömmande medier, onlinespel och DNS -sökningar.
* IP (Internetprotokoll): Nätverkskiktsprotokollet som routar datagram över internet. Det är grunden för internetens kommunikation.
Kort sagt, Datagram är arbetshästen för anslutningslös kommunikation, vilket ger effektivitet på bekostnad av viss tillförlitlighet. Deras lämplighet beror starkt på den specifika applikationens krav. Om tillförlitligheten är avgörande föredras vanligtvis TCP (eller ett annat anslutningsorienterat protokoll).