Перайсці да зместу

UDP

З Вікіпедыі, свабоднай энцыклапедыі
Версія ад 03:17, 6 красавіка 2024, аўтар IshaBarnes (размовы | уклад) (удакладненне)
(розн.) ← Папярэдн. версія | Актуальная версія (розн.) | Навейшая версія → (розн.)
Назва: User Datagram Protocol
Узровень (па мадэлі OSI): Транспартны

UDP (англ.: User Datagram Protocol — «пратакол датаграм карыстальніка») — адзін з асноўных сеткавых пратаколаў, выкарыстоўваецца для адпраўкі паведамленняў на іншыя вузлы ў сетцы, звязанай па пратаколе IP. Адносіцца да транспартнага ўзроўню стэка TCP/IP.

Пратакол UDP не патрабуе папярэдніх запытаў для ўсталявання канала сувязі. Ён мае патрэбны мінімум механізмаў вырашэння праблем: напрыклад, ён правярае кантрольныя сумы для гарантыі цэласнасці даных. Аднак гэты пратакол не прадастаўляе ніякай гарантыі дастаўкі, упарадкаванасці або адсутнасці дуплікацыі пакетаў. Калі патрэбныя сродкі выпраўлення памылак, праграма можа выкарыстоўваць замест UDP пратаколы TCP або SCTP, якія лепш падыходзяць для гэтай мэты.

UDP падыходзіць для сітуацый, калі праверка даных і выпраўленне памылак не патрэбныя або выконваюцца непасрэдна ў праграме. Напрыклад, анлайн-гульні або стрымінг відэа ў рэальным часе не патрабуюць гарантыі дастаўкі пакетаў, бо пропуск некалькіх пакетаў не мае значнага ўплыву для карыстальніка, а адпраўка даных зноў ужо не патрэбная.

Пратакол быў распрацаваны Дэвідам Рыдам у 1980 годзе і афіцыйна апісаны ў RFC 768.

Параўнанне UDP і TCP

[правіць | правіць зыходнік]

TCP усталёўвае двухбаковае злучэнне і патрабуе так званай працэдуры рукапаціскання (англ.: handshake) для наладжвання сувязі. Пасля ўсталявання злучэння даныя карыстальніка могуць быць адпраўлены ў двух напрамках па злучэнні. Такім чынам TCP мае наступныя характарыстыкі:

  • Надзейнасць — TCP пацвярджае атрыманне паведамленняў і кіруе паўторнай перадачай пры неабходнасці. Каб гарантавана даставіць паведамленне, могуць быць зроблены некалькі спроб. Калі даныя згубяцца па дарозе, яны будуць адпраўлены паўторна. TCP не можа атрымаць даныя часткова: або будзе перададзена усё цалкам, або пасля некалькіх спроб злучэнне будзе разарванае.
  • Упарадкаванасць — калі праз злучэнне паслядоўна адпраўляюцца два паведамленні, першае паведамленне першым дойдзе да праграмы-атрымальніка. Калі сегменты даных паступаюць у няправільным парадку, TCP захавае ў буферы неўпарадкаваныя даныя, пакуль усе даныя не будуць належным чынам упарадкаваны для дастаўкі да праграмы-атрымальніка.
  • Складанасць — перад адпраўкай любых даных карыстальніка TCP патрабуе адпраўкі трох пакетаў для ўсталявання злучэння

UDP — больш просты пратакол, які не патрабуе двухбаковага злучэння. Камунікацыя адбываецца шляхам перадачы даных ў адным напрамку ад крыніцы да атрымальніка без дадатковых праверак. Характарыстыкі UDP наступныя:

  • Ненадзейнасць — немагчыма даведацца, ці дасягне адпраўленае паведамленне атрымальніка. Яно можа згубіцца па дарозе і пратакол не мае механізма паўторнай перадачы.
  • Неўпарадкаванасць — калі два паведамленні адпраўляюцца аднаму атрымальніку, парадак іх паступлення не можа быць гарантаваны.
  • Прастата — няма механізма злучэння, не патрэбныя дадатковыя перасылкі тэхнічных даных.
  • Шырокавяшчальнасць (англ.: broadcast) — без прамога злучэння з канкрэтным вузлом сеткі UDP можа рассылаць так званыя шырокавяшчальныя пакеты, якія могуць быць адрасаваны ўсім прыладам ў падсетцы.
  • Адпраўка на некалькі вузлоў (англ.: multicast) — UDP мае рэжым шматадраснай перадачы, пры якім адзін пакет датаграм можа быць аўтаматычна накіраваны адразу цэлай групе атрымальнікаў замест паўтарэння адпраўкі для кожнага паасобку.
  • RFC 768 (англ.) — спецыфікацыя пратакола UDP