Кіріспе
IP желісі арқылы дерекграммаларды беруге арналған негізгі протокол. Компьютерлік желілердегі Пайдаланушы дерекграммасы протоколы (UDP) – Интернет протоколы жиынтығының негізгі байланыс протоколдарының бірі болып табылады. Ол Интернет протоколы (IP) желісіндегі басқа хосттарға хабарламаларды (пакеттердегі дерекграммалар түрінде тасымалданады) жіберу үшін қолданылады. IP желісінде UDP байланыс арналарын немесе деректер жолдарын орнату үшін алдын ала байланысқа мұқтаж болмайды. UDP протоколдық механизмдердің минималды жиынтығын қолдана отырып, қарапайым байланыссыз байланыс моделін пайдаланады. UDP деректердің бүтіндігін тексеру үшін бақылау сомаларын және дерекграмманың бастапқы және түнгі нүктелеріндегі әртүрлі функцияларды анықтау үшін порт нөмірлерін ұсынады. Онда қол тітіктесу диалогтары жоқ, сондықтан пайдаланушы бағдарламасы негізгі желінің сенімсіздігіне ұшырайды; деректерді жеткізуге, реттілігіне немесе дубликаттан қорғауға кепілдік берілмейді. Егер желілік интерфейс деңгейінде қателерді түзету қажет болса, қолданба орнына осы мақсатқа арналған Трансмиссиялық басқару протоколын (TCP) немесе Ағындық басқаруды тарату протоколын (SCTP) пайдалана алады. UDP қателерді тексеру және түзету қажет емес немесе қолданбада орындалатын жағдайлар үшін қолайлы; UDP протокол стегіндегі осындай өңдеуге байланысты қосымша шығындарды болдырмайды. Уақытқа сезімтал қолданбалар көбінесе UDP-ді пайдаланады, себебі пакеттерді түсіру қайта таратудан туындаған кешігу салдарынан пакеттерді күтуден жақсы, бұл нақты уақыт жүйесінде мүмкін болмайды. Протокол 1980 жылы Дэвид П. Рид жасаған және ресми түрде анықталған.
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths. UDP uses a simple connectionless communication model with a minimum of protocol mechanisms. UDP provides checksums for data integrity, and port numbers for addressing different functions at the source and destination of the datagram. It has no handshaking dialogues and thus exposes the user's program to any unreliability of the underlying network; there is no guarantee of delivery, ordering, or duplicate protection. If error correction facilities are needed at the network interface level, an application may instead use Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) which are designed for this purpose. UDP is suitable for purposes where error checking and correction are either not necessary or are performed in the application; UDP avoids the overhead of such processing in the protocol stack. Time sensitive applications often use UDP because dropping packets is preferable to waiting for packets delayed due to retransmission, which may not be an option in a real time system. The protocol was designed by David P. Reed in 1980 and formally defined in .
Атрибуттары
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 жіберілген пакеттерді субжелідегі барлық құрылғылар қабылдай алатындай етіп жібере алады. Көпте тарату – бір дерекграммалық пакетті қайталамасыз бірнеше абоненттер тобына автоматты түрде бағыттай алатын көпте тарату режимі қолдау көрсетіледі.