Hoppa till innehållet

User Datagram Protocol

Från Wikipedia

User Datagram Protocol (UDP) är ett förbindelselöst protokoll i transportskiktet för att skicka datagram över ett IP-nätverk.

Med förbindelselöst (en. stateless eller connectionless) menas att ingen session upprättas mellan sändare och mottagare av protokollet i sig. Härvid kan inte sändare (på UDP-nivå) garantera att mottagaren får paketet. Mottagaren kan heller inte veta att den fått alla paket, eller att den fått paketen i rätt ordning. Jämför med TCP som är ett förbindelseorienterat (en. stateful eller connection oriented) protokoll. Således bidrar alltså UDP, till skillnad mot TCP, inte i större utsträckning med några funktioner mellan nätverksskiktet och applikationsskiktet förutom portnummer och lite enklare undersökning på mottagarsidan av eventuella fel (error checking) på segmentet, vilket sker genom undersökning av kontrollsumman. Om mottagaren (på UDP-nivå) upptäcker ett trasigt UDP-segment kastas vanligtvis segmentet bort eller skickas vidare till applikationsskiktet med en varning. Mottagaren begär alltså i detta fall inte en återsändning av segmentet vilket hade varit fallet i TCP. Återsändning kan begäras av det program i applikationsskiktet som utnyttjar UDP.

Den som skapar ett protokoll som bygger på UDP måste separat sköta om att hantera eventuella sessioner och försenade eller borttappade paket, i den mån sådan hantering behövs. UDP lämpar sig för tillämpningar med krav på låg latens och där ett förlorat paket eller omkastad ordning spelar mindre roll. Exempel på sådana tillämpningar är IP-telefoni, P2P-nätverk och datorspel. Protokollet kan också användas då sessionshanteringen i TCP inte räcker och ändå måste hanteras på en högre nivå.

UDP-paketets uppbyggnad

[redigera | redigera wikitext]

Ett UDP-paket består av en header som efterföljs av data. UDP-headerns uppbyggnad kan ses i nedanstående tabell:

UDP Header
Offset Oktett 0 1 2 3
Oktett Bit  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Avsändarport Destinationsport
4 32 Längd Kontrollsumma
Avsändarport
Anger vilken port datan skickades från.
Destinationsport
Anger vilken port datan skickas till.
Längd
Längd inklusive UDP-header, dvs det lägsta tillåtna värdet är 8 (då finns det ingen payload).
Kontrollsumma
Används för att kontrollera att paketet inte har blivit korrupt. Sätts till noll om den inte används.

Standarddokument

[redigera | redigera wikitext]

James F. Kurose, Ross, Keith W, Computer Networking: A Top-Down Approach

Tanenbaum, Andrew S; Computer networks