Datagrammen worden gebruikt in situaties waarin:
* Verbindingsloze communicatie is gewenst: Datagramnetwerken brengen geen speciale verbinding tot stand voordat gegevens worden verzonden. Elk pakket is onafhankelijk en wordt individueel gerouteerd. Dit in tegenstelling tot verbindingsgerichte protocollen zoals TCP.
* Efficiëntie staat voorop, zelfs als dit ten koste gaat van de betrouwbaarheid: Omdat datagrammen geen overhead voor het opzetten en afbreken van verbindingen vereisen, zijn ze efficiënter voor korte hoeveelheden gegevens of wanneer de netwerkomstandigheden onvoorspelbaar zijn. Deze efficiëntie gaat echter ten koste van potentieel pakketverlies of levering buiten de juiste volgorde, waarvoor protocollen van een hoger niveau nodig zijn.
* Broadcast- of multicast-communicatie is nodig: Datagrammen zijn zeer geschikt voor het tegelijkertijd verzenden van een enkel bericht naar meerdere ontvangers.
* Het gaat om real-time toepassingen met aanvaardbare jitter: Hoewel datagrammen de bezorgvolgorde niet garanderen, zijn ze vaak voldoende voor toepassingen waarbij incidentele vertragingen of pakketverlies acceptabel zijn, zoals het streamen van audio of video. In dergelijke gevallen zorgt de applicatie zelf voor de hertransmissie of foutcorrectie.
* Toepassingen hebben een eenvoudige implementatie nodig: Het gebrek aan verbindingsopbouw en -afbraak vereenvoudigt de implementatie van applicaties die datagrammen gebruiken.
Voorbeelden van protocollen die datagrammen gebruiken:
* UDP (User Datagram Protocol): Een veelgebruikt transportlaagprotocol dat verbindingsloze communicatie mogelijk maakt. Vaak gebruikt voor het streamen van media, online games en DNS-zoekopdrachten.
* IP (internetprotocol): Het netwerklaagprotocol dat datagrammen over het internet stuurt. Het is de basis van de communicatie via internet.
Kortom, datagrammen zijn het werkpaard van verbindingsloze communicatie en bieden efficiëntie ten koste van enige betrouwbaarheid. De geschiktheid ervan hangt sterk af van de vereisten van de specifieke toepassing. Als betrouwbaarheid cruciaal is, wordt doorgaans de voorkeur gegeven aan TCP (of een ander verbindingsgericht protocol). |