1. Innledning
Hvor hører det valgte tema hjemme i lagmodellen. Hvilke standarder eller bestemmelser gjelder for dette temaet.
UDP, User Data Protocol, er en form for ende-til-ende-kommunikasjon som hører til i transportlaget. Den legger til rette for sending av meldinger, eller mer spesifikt: datagram, til andre tjenere på et IP-nettverk.
Protokollen ble formelt definert i 1980 i RFC 768.
Andre bestemmelser som er relevante for UDP er:
- RFC 2460 – Internet Protocol, Version 6 (IPv6) Specification*
- RFC 2675 – IPv6 Jumbograms
- RFC 4113 – Management Information Base for the UDP
- RFC 5405 – Unicast UDP Usage Guidelines for Application Designers
* Denne bestemmelsen er egentlig for IPv6, men på grunn av psudo-headeren som skal inkluderes i checksum utregninga påvirker RFC 2460 UDP også.
2. Ønsket funksjonalitet
Hva er det man ønsker å oppnå, hvilke funksjonelle mangler vil man bøte på, hvorfor har man denne tjenesten eller dette systemet.
2.1 Hvorfor UDP?
- Forsinkelsessensitive applikasjoner (video- og lydstrømming)
- Applikasjoner som ønsker finkontroll over pakkebekreftelse, -gjensending og -timeout. (spill)
- Applikasjoner med kort levetid. (DNS)
Se under Attributes (wikipedia). streaming.
3. Virkemåte
3.1 Pakke header
Bit | 0 15 | 16 31 | 32 47 | 48 63 |
---|---|---|---|---|
Source port | Destination port | Length | Checksum |
3.1.1 Source port
Dette feltet kan spesifisere ett portnummer hos senderen av pakken, dette feltet er valgfritt. Når det ikke er i bruk skal verdien være 0.
3.1.2 Destination port
Dette feltet angir portnummeret på tjeneren som mottar pakken.
3.1.3 Length
Feltet spesifiserer lengden i bytes på pakken, inklusivt pakke-headeren og selve payload-en. Pakke-headeren er alltid 8 bytes, det vil si at 8 er minsteverdien til feltet. Siden feltet er 16-bits og beskriver lengden på pakken, er det en teoretisk øvre grense på størrelsen til en UDP-melding – nemlig 2^16 - 1 bytes –.
IPv6 Jumbograms
3.1.4 Checksum
Checksum-feltet er brukt til å sjekke at all informasjon i UDP-pakken er tilstedet og ikke har blitt korrupt. Dette feltet er valgfritt for IPv4, men obligatorisk for IPv6. Hvis ubrukt skal verdien 0 brukes.
Checksum fungerer ved å utføre en matematisk operasjon på alle bytes i pakken. Hvordan checksummen kan verifiseres og regnes ut står i neste kapittel.
3.2 Payload
Payloaden er selve innoholdet i UDP-pakken, størrelsen på payload-feltet må være lik length-feltet minus størrelsen på UDP-headeren.
4. Referanser
Når man i den løpende teksten omtaler standarder, organisasjoner eller annet skal dette refereres. Referanselisten føres her (ikke URL i den løpende teksten)
User Datagram Protocol (Wikipedia)
RFC768 (x)
http://www.postel.org/pipermail/end2end-interest/2005-February/004616.html