Кіріспе

IP желісі арқылы дерекграммаларды беруге арналған негізгі протокол. Компьютерлік желілердегі Пайдаланушы дерекграммасы протоколы (UDP) – Интернет протоколы жиынтығының негізгі байланыс протоколдарының бірі болып табылады. Ол Интернет протоколы (IP) желісіндегі басқа хосттарға хабарламаларды (пакеттердегі дерекграммалар түрінде тасымалданады) жіберу үшін қолданылады. IP желісінде UDP байланыс арналарын немесе деректер жолдарын орнату үшін алдын ала байланысқа мұқтаж болмайды. UDP протоколдық механизмдердің минималды жиынтығын қолдана отырып, қарапайым байланыссыз байланыс моделін пайдаланады. UDP деректердің бүтіндігін тексеру үшін бақылау сомаларын және дерекграмманың бастапқы және түнгі нүктелеріндегі әртүрлі функцияларды анықтау үшін порт нөмірлерін ұсынады. Онда қол тітіктесу диалогтары жоқ, сондықтан пайдаланушы бағдарламасы негізгі желінің сенімсіздігіне ұшырайды; деректерді жеткізуге, реттілігіне немесе дубликаттан қорғауға кепілдік берілмейді. Егер желілік интерфейс деңгейінде қателерді түзету қажет болса, қолданба орнына осы мақсатқа арналған Трансмиссиялық басқару протоколын (TCP) немесе Ағындық басқаруды тарату протоколын (SCTP) пайдалана алады. UDP қателерді тексеру және түзету қажет емес немесе қолданбада орындалатын жағдайлар үшін қолайлы; UDP протокол стегіндегі осындай өңдеуге байланысты қосымша шығындарды болдырмайды. Уақытқа сезімтал қолданбалар көбінесе UDP-ді пайдаланады, себебі пакеттерді түсіру қайта таратудан туындаған кешігу салдарынан пакеттерді күтуден жақсы, бұл нақты уақыт жүйесінде мүмкін болмайды. Протокол 1980 жылы Дэвид П. Рид жасаған және ресми түрде анықталған.

Атрибуттары

UDP – қарапайым хабарға бағытталған тасымалдау қабатының протоколы, ол құжатталған. UDP бас және пайдалы жүктеменің тұтастығын (тексеру сомасы арқылы) қамтамасыз етеді, бірақ хабарламаның жеткізілуіне жоғарғы қабат протоколы үшін кепілдік бермейді және UDP қабаты жіберілгеннен кейін UDP хабарламаларының күйін сақтамайды. Осы себепті UDP кейде «сенімсіз датаграмма протоколы» деп аталады. Егер берілістің сенімділігі қажет болса, ол пайдаланушының қолданбасында іске асырылуы тиіс. UDP-нің бірқатар қасиеттері оны белгілі бір қолданбалар үшін ерекше қолайлы етеді. Ол транзакцияға бағытталған, домендік атаулар жүйесі немесе желілік уақыт протоколы сияқты қарапайым сұраныс-жауап протоколдары үшін жарамды. Ол басқа протоколдарды, мысалы IP туннельдеу, қашықтан процедура шақыру және Желілік файл жүйесін модельдеуге арналған датаграммаларды ұсынады. Ол қарапайым, жүктеуге немесе DHCP және Trivial File Transfer Protocol сияқты толық протокол стегі жоқ басқа мақсаттарға да жарамды. Ол күйсіз, сондықтан көптеген клиенттерге, мысалы IPTV сияқты ағынмен берілетін медиа қолданбаларына қолайлы. Қайта таратудың кешігуі болмағандықтан, ол IP арқылы дауыс беру, онлайн ойындар және Нақты уақыт ағыны протоколын пайдаланатын көптеген протоколдар сияқты нақты уақыт қолданбалары үшін де қолайлы. Ол мультикастты қолдайтындықтан, көптеген қызметтерді іздеу және Precision Time Protocol және Routing Information Protocol сияқты ортақ ақпараттарды тарату үшін де жарамды.

Сенімділік және тығындар бақылау

Сенімділік болмаған жағдайда, UDP қолданбалары пакеттердің жоғалуына, ретінің бұзылуына, қателерге немесе дубликатталуына ұшырауы мүмкін. Егер UDP пайдаланылса, соңғы пайдаланушы қолданбалары хабарламаның қабылданғанын растау сияқты, қажетті қол алысу процедураларын өздігінен жүзеге асыруы керек. TFTP сияқты қолданбалар қажет болған жағдайда қосымша қабатқа қарапайым сенімділік механизмдерін қоса алады. OpenVPN сияқты кейбір VPN жүйелері UDP-ні пайдаланып, сенімді қосылымдарды іске асыра отырып, қолданба деңгейінде қателерді тексеруді жүзеге асыруы мүмкін. QUIC – UDP протоколының үстіне құрылған тасымалдау протоколы. QUIC сенімді және қауіпсіз қосылымды қамтамасыз етеді. HTTP/3, сенімділік пен қауіпсіздікті қамтамасыз ету үшін TCP және TLS комбинациясын пайдаланған HTTPS-тің бұрынғы нұсқаларынан өзгеше, QUIC-ті пайдаланады. Бұл HTTP/3 қосылымды орнату үшін TCP және TLS үшін екі жеке қол алысудың орнына, бір қол алысуды қолданады дегенді білдіреді, нәтижесінде қосылымды орнатуға кеткен жалпы уақыт қысқарады.

UDP және TCP салыстыруы

Трансмиссияны басқару протоколы – байланысқа бағытталған протокол және аяқ-аяқ байланысты орнату үшін қол алысуды қажет етеді. Байланыс орнатылғаннан кейін пайдаланушы деректері екі бағытта берілуі мүмкін. Сенімді – TCP хабарламаның түскенін растауды, қайта жіберуді және уақыттың өтуін басқарады. Хабарламаны жеткізуге бірнеше рет әрекет жасалады. Егер деректер жол бойында жоғалса, олар қайта жіберіледі. TCP-де деректердің жоғалғаны болмайды, немесе егер көп рет уақыт өтсе, байланыс үзіледі. Реттелген – Егер екі хабарлама бір байланыс арқылы тізбектеп жіберілсе, бірінші хабарлама алдымен қабылдаушы қолданбаға жетеді. Деректер сегменттері дұрыс емес ретпен келген жағдайда, TCP барлық деректерді дұрыс ретке келтіріп, қолданбаға жеткізгенше ретсіз деректерді сақтайды. Салмақты – TCP кез келген пайдаланушы деректерін жіберуден бұрын сокет байланысын орнату үшін үш пакет қажет. TCP сенімділікті және қосылысты басқарады. Ағынды – Деректер байт ағыны ретінде оқылады, хабарламаның (сегменттің) шекараларын белгілейтін ерекше көрсеткіштер берілмейді. User Datagram Protocol – бұл қарапайым хабарламаға негізделген, байланыссыз протокол. Байланыссыз протоколдар арнайы аяқ-аяқ байланысын орнатпайды. Байланыс, алушының дайындығын немесе күйін тексермей, ақпаратты көзден мақсатына бір бағытта жіберу арқылы жүзеге асырылады. Сенімсіз – UDP хабарламасы жіберілген кезде, оның мақсатына жететініне кепілдік жоқ; ол жолда жоғалуы мүмкін. Растау, қайта жіберу немесе уақыттың өтуі туралы түсінік жоқ. Ретсіз – Егер бір алушыға екі хабарлама жіберілсе, олардың келу реті кепілдендірілмейді. Жеңіл – Хабарламаларды реттеу, байланыстарды қадағалау және т.б. жоқ. Бұл IP-нің үстіне құрылған өте қарапайым тасымалдау қабаты. Дерекграммалар – Пакеттер жеке-жеке жіберіледі және келіп түскенде олардың саяқтылығы тексеріледі. Пакеттердің нақты шекаралары бар, олар қабылдау кезінде сақталады; қабылдаушы сокетіндегі оқу операциясы бастапқыда жіберілгендей толық хабарламаны береді. Қосылысты басқару жоқ – UDP өзі қосылыстың тоқтауын болдырмайды. Қосылысты басқару шаралары қолданба деңгейінде немесе желіде іске асырылуы тиіс. Жарнамалау – байланыссыз болғандықтан, UDP жіберілген пакеттерді субжелідегі барлық құрылғылар қабылдай алатындай етіп жібере алады. Көпте тарату – бір дерекграммалық пакетті қайталамасыз бірнеше абоненттер тобына автоматты түрде бағыттай алатын көпте тарату режимі қолдау көрсетіледі.