logo

UDP протокол

В компютърните мрежи UDP означава User Datagram Protocol. Дейвид П. Рийд разработи UDP протокола през 1980 г. Той е дефиниран в RFC 768 и е част от TCP/IP протокола, така че е стандартен протокол в интернет. UDP протоколът позволява на компютърните приложения да изпращат съобщенията под формата на дейтаграми от една машина на друга машина през мрежата на интернет протокола (IP). UDP е алтернативен комуникационен протокол на TCP протокола (протокол за контрол на предаването). Подобно на TCP, UDP предоставя набор от правила, които управляват как трябва да се обменят данните по интернет. UDP работи, като капсулира данните в пакета и предоставя собствена информация за заглавката на пакета. След това този UDP пакет се капсулира в IP пакета и се изпраща до местоназначението си. И двете TCP и UDP протоколите изпращат данните през мрежата на интернет протокола, така че е известен също като TCP/IP и UDP/IP. Има много разлики между тези два протокола. UDP позволява на процеса да обработва комуникация, докато TCP осигурява комуникация между хостове. Тъй като UDP изпраща съобщенията под формата на дейтаграми, това се счита за най-добрия начин на комуникация. TCP изпраща отделните пакети, така че е надеждна транспортна среда. Друга разлика е, че TCP е протокол, ориентиран към връзка, докато UDP е протокол без връзка, тъй като не изисква никаква виртуална верига за прехвърляне на данните.

UDP също така предоставя различен номер на порт за разграничаване на различни потребителски заявки и също така предоставя възможност за контролна сума, за да провери дали пълните данни са пристигнали или не; IP слоят не предоставя тези две услуги.

Характеристики на UDP протокола

Следните са характеристиките на UDP протокола:

    Протокол на транспортния слой

UDP е най-простият комуникационен протокол на транспортно ниво. Съдържа минимално количество комуникационни механизми. Счита се за ненадежден протокол и се основава на услуги за доставка с най-добри усилия. UDP не предоставя механизъм за потвърждение, което означава, че получателят не изпраща потвърждението за получения пакет, а подателят също не изчаква потвърждението за пакета, който е изпратил.

    Без връзка

UDP е протокол без връзка, тъй като не създава виртуален път за прехвърляне на данните. Той не използва виртуалния път, така че пакетите се изпращат по различни пътища между подателя и получателя, което води до загуба на пакети или получени неправилно.

Поръчаната доставка на данни не е гарантирана.

В случай на UDP, дейтаграмите се изпращат в някакъв ред, ще бъдат получени в същия ред, не е гарантирано, тъй като дейтаграмите не са номерирани.

    Портове

UDP протоколът използва различни номера на портове, така че данните да могат да бъдат изпратени до правилната дестинация. Номерата на портовете са дефинирани между 0 и 1023.

какво е регистърът на буквите в sql
    По-бързо предаване

UDP позволява по-бързо предаване, тъй като е протокол без връзка, т.е. не е необходим виртуален път за прехвърляне на данните. Но има вероятност отделният пакет да бъде загубен, което се отразява на качеството на предаване. От друга страна, ако пакетът се изгуби в TCP връзка, този пакет ще бъде изпратен повторно, така че се гарантира доставката на пакетите с данни.

    Механизъм за потвърждение

UDP има някакъв механизъм за потвърждение, т.е. няма ръкостискане между UDP подателя и UDP получателя. Ако съобщението е изпратено в TCP, тогава получателят потвърждава, че съм готов, след което подателят изпраща данните. В случай на TCP ръкостискането се осъществява между подателя и получателя, докато в UDP няма ръкостискане между подателя и получателя.

    Сегментите се обработват независимо.

Всеки UDP сегмент се обработва отделно от другите, тъй като всеки сегмент поема по различен път, за да достигне до дестинацията. UDP сегментите могат да бъдат загубени или доставени неправилно, за да достигнат до дестинацията, тъй като няма настройка на връзката между подателя и получателя.

    Без гражданство

Това е протокол без състояние, което означава, че подателят не получава потвърждението за изпратения пакет.

Защо се нуждаем от UDP протокол?

Тъй като знаем, че UDP е ненадежден протокол, но все пак изискваме UDP протокол в някои случаи. UDP се използва там, където пакетите изискват голяма честотна лента заедно с действителните данни. Например, при стрийминг на видео, признаването на хиляди пакети е обезпокоително и губи много честотна лента. В случай на поточно видео, загубата на някои пакети не може да създаде проблем и може също да бъде игнорирана.

UDP формат на заглавката

UDP протокол

В UDP размерът на заглавието е 8 байта, а размерът на пакета е до 65 535 байта. Но този размер на пакета не е възможен, тъй като данните трябва да бъдат капсулирани в IP дейтаграмата, а размерът на заглавката на IP пакет може да бъде 20 байта; следователно максимумът на UDP ще бъде 65 535 минус 20. Размерът на данните, които UDP пакетът може да носи, ще бъде 65 535 минус 28 като 8 байта за заглавката на UDP пакета и 20 байта за IP заглавката.

UDP заглавката съдържа четири полета:

    Номер на порт източник:Това е 16-битова информация, която идентифицира кой порт няма да изпрати пакета.Номер на порт на местоназначение:Той идентифицира кой порт ще приеме информацията. Това е 16-битова информация, която се използва за идентифициране на услуга на ниво приложение на целевата машина.Дължина:Това е 16-битово поле, което определя цялата дължина на UDP пакета, който включва и заглавката. Минималната стойност ще бъде 8 байта, тъй като размерът на заглавката е 8 байта.Контролна сума:Това е 16-битово поле и е незадължително поле. Това поле за контролна сума проверява дали информацията е точна или не, тъй като има възможност информацията да бъде повредена по време на предаване. Това е незадължително поле, което означава, че зависи от приложението дали иска да напише контролната сума или не. Ако не иска да запише контролната сума, тогава всичките 16 бита са нула; в противен случай записва контролната сума. В UDP полето за контролна сума се прилага към целия пакет, т.е. заглавката, както и към частта с данни, докато в IP полето за контролна сума се прилага само към полето за заглавка.

Концепция за опашка в UDP протокол

UDP протокол

В UDP протокола числата се използват за разграничаване на различните процеси на сървър и клиент. Знаем, че UDP предоставя процес за обработка на комуникация. Клиентът генерира процесите, които се нуждаят от услуги, докато сървърът генерира процесите, които предоставят услуги. Опашките са налични и за двата процеса, т.е. две опашки за всеки процес. Първата опашка е входящата опашка, която получава съобщенията, а втората е изходящата опашка, която изпраща съобщенията. Опашката функционира, когато процесът се изпълнява. Ако процесът бъде прекратен, опашката също ще бъде унищожена.

UDP управлява изпращането и получаването на UDP пакети с помощта на следните компоненти:

частично производно в латекс
    Опашка за въвеждане:UDP пакетите използват набор от опашки за всеки процес.Входен модул:Този модул взема потребителската дейтаграма от IP и след това намира информацията от таблицата на контролния блок на същия порт. Ако намери запис в таблицата на контролния блок със същия порт като потребителската дейтаграма, той поставя данните в опашка.Модул на контролния блок:Той управлява таблицата на контролния блок.Таблица на контролния блок:Таблицата на контролния блок съдържа въвеждане на отворени портове.Изходен модул:Изходният модул създава и изпраща потребителската дейтаграма.

Няколко процеса искат да използват услугите на UDP. UDP мултиплексира и демултиплексира процесите, така че множеството процеси да могат да се изпълняват на един хост.

Ограничения

  • Предоставя ненадеждна услуга за доставка на връзка. Той не предоставя никакви услуги на IP, освен че осигурява комуникация процес към процес.
  • UDP съобщението може да бъде изгубено, забавено, дублирано или може да не работи.
  • Не предоставя надеждна транспортна услуга за доставка. Той не предоставя механизъм за потвърждение или контрол на потока. Въпреки това, той осигурява до известна степен контрол на грешките.

Предимства

  • Той произвежда минимален брой режийни разходи.