User Datagram Protocol
4 jun. 2010RFC 768
Vi befinner oss nå på transportlaget. Vi har primært to protokoller på dette laget: TCP og denne. Datagram protokollen er utrustet med følgende datafelt for å gjøre jobben sin:
Som vi ser, er det en veldig "enkel" protokoll. Den har naturligvis 16 bit til kildeport og 16 bit til destinasjonsport. Videre har den et felt "Lengde" som angir antall oktetter (byte) hele datagrammet inneholder. Lengdefelt brukes generelt for å vite når variable datafelt forventes avsluttet, men hvorfor det brukes her,vet jeg ikke, da headeren alltid er 8 byte, samt at IPv4 laget også har et tilsvarende felt. (det er veldig sjeldent noe annet enn IP benyttes).
formatet avsluttes med en sjekksum, før data fra protokollen over (applikasjonslaget) stappes inn. Sjekksummen er noe sær, da den er avhengig av informasjon fra laget under seg, noe som er litt "skittent" i den ideelle teoretiske verden.
Protokollen har ikke styr på om pakkene kommer frem, ei klarer den å sørge for at pakkene sine kommer frem i riktig rekkefølge. Den kalles derfor "forbindelsesløs" i motsetning til TCP-protokollen som er "forbindelsesorientert"
Så hva skal vi med en så enkel protokoll? Hovedhensikten er naturligvis fart. Det kreves minimalt med prosessering for å administrere protokollen, samt at den sender mindre header per databit. Situasjoner der vi ikke bryr oss om flytkontroll er situasjoner der tapt informasjon ikke er nyttig. Altså real-time applikasjoner som streaming. Musikk og film, plot av forskjellige typer, en del online spill.
Applikasjonsprotokoller kjente for å bruke datagram, er DNS, Echo (ping), SNMP.