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
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.2 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.3 Destination port
Dette feltet angir portnummeret på tjeneren som mottar pakken.
3.4 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 –.
3.5 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.
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