Функції та принципи роботи протоколу udp - комп'ютерні мережі

Функції та принципи роботи протоколу UDP

Уявіть собі, що вам необхідно розробити максимально простий, без зайвих функцій, протокол транспортного рівня. Як би ви стали вирішувати цю задачу? Найбільш простим мислимим способом є створення такого протоколу, який не виробляє ніяких дій з даними. На передавальній стороні повідомлення додатків без змін передаються мережному рівню, а на приймальній стороні виконується передача повідомлень від мережевого рівня прикладного. Ясно, що такий протокол не є життєздатним: з попереднього розділу випливає, що протоколу як мінімум необхідно виконувати операції мультиплексування і демультиплексування, що забезпечують коректний обмін даними між мережним рівнем і прикладними процесами.







Протокол UDP, описаний в документі RFC 768, виконує мінімум дій, необхідних для протоколу транспортного рівня. Фактично функції UDP зводяться до операцій мультиплексування і демультиплексування, а також нескладної перевірки наявності помилок в даних. Таким чином, при використанні U DP додаток майже безпосередньо взаємодіє з протоколом мережевого рівня IP.

UDP отримує повідомлення від прикладного рівня, додає до них поля номерів портів відправника і одержувача для демультиплексування приймальні стороною, а також два інших спеціальних поля і передає отриманий сегмент мережному рівню. Мережевий рівень укладає сегмент в дейтаграмму і «по можливості» передає її хосту призначення. Якщо останній успішно отримує сегмент, протокол UDP за допомогою поля номера порту одержувача направляє дані сегмента потрібному процесу. Зверніть увагу на те, що протокол UDP не передбачає процедури рукостискання перед початком передачі сегментів. Тому кажуть, що UDP здійснює передачу даних без встановлення з'єднання.







Після наведених вище міркувань цілком доречним стає питання: чи є у протоколу UDP такі переваги перед TCP, які можуть змусити розробника створювати свій додаток з підтримкою UDP, а не TCP? Тож не дивно, що відповідь на це питання позитивний, і нижче перераховані чотири головні переваги протоколу UDP.

□ Відсутність інформації про стан з'єднання. Протокол TCP підтримує інформацію про стан TCP-з'єднання, що викликає необхідність в наявності буферів для проміжного зберігання інформації про прийом і передачу, параметрів контролю перевантаження, порядкових номерів і номерів квитанцій. Як ми побачимо в розділі «Протокол TCP - передача з встановленням з'єднання», інформація про стан з'єднання необхідна для реалізації протоколом TCP служб надійної передачі даних і контролю перевантаження. UDP не підтримує інформацію про стан з'єднання, а отже, не вимагає обліку перерахованих параметрів. Це дозволяє UDP-сервера одночасно обслуговувати набагато більше клієнтів, ніж ТСР-сервера.

□ Невеликий розмір заголовка. Заголовок UDP-сегмента має довжину всього лише 8 байт, в той час як довжина заголовка TCP становить 20 байт.

Функції та принципи роботи протоколу udp - комп'ютерні мережі

Перед тим як перейти до вивчення структури UDP-сегмента, відзначимо, що надійна передача даних програми можлива навіть при використанні UDP. Це досягається шляхом включення механізмів забезпечення надійної передачі (наприклад, квітірованія і повторних передач, які ми розглянемо трохи пізніше) в сам додаток. На практиці дана задача часто виявляється вельми нетривіальним, і для створення коректно функціонує додатки може знадобитися багато часу. Разом з тим забезпечення надійної передачі даних додатком дозволяє «вбити двох зайців», задовольняючи вимога до обслуговування процесу і надаючи можливість подолати недоліки протоколу TCP (наприклад, більш низьку швидкість передачі). Подібним чином будується більшість сучасних потокових додатків.

Відповідальність, за все зміни, внесені в систему за порадами даної статті, Ви берете на себе.







Схожі статті