Ви, мабуть, бачили посилання на TCP та UDP під час налаштування переадресації портів на маршрутизаторі або під час налаштування програмного забезпечення брандмауера. Ці два протоколи використовуються для різних типів даних.
TCP / IP - це набір протоколів, що використовуються пристроями для зв'язку через Інтернет та більшість локальних мереж. Він названий на честь двох оригінальних протоколів - Протоколу управління передачею (TCP) та Інтернет-протоколу (IP). TCP надає програмам спосіб доставки (та отримання) упорядкованого та перевіреного помилками потоку інформаційних пакетів через мережу. Протокол користувальницьких датаграм (UDP) використовується програмами для швидшого передавання інформації, позбавляючись перевірки помилок. Під час налаштування деякого мережевого обладнання чи програмного забезпечення, можливо, вам доведеться знати різницю.
Що спільного у них
ПОВ'ЯЗАНІ: Як знайти власні та приватні IP-адреси
І TCP, і UDP - це протоколи, що використовуються для надсилання бітів даних - відомих як пакети - через Інтернет. Обидва протоколи будуються поверх протоколу IP. Іншими словами, незалежно від того, надсилаєте ви пакет через TCP або UDP, цей пакет надсилається на адресу IP-адреса . Ці пакети трактуються подібним чином, оскільки вони пересилаються з вашого комп’ютера на посередницькі маршрутизатори та до місця призначення.
TCP та UDP - не єдині протоколи, які працюють поверх IP. Однак вони використовуються найбільш широко.
Як працює TCP
TCP - це найбільш часто використовуваний протокол в Інтернеті.
Коли ви запитуєте веб-сторінку у своєму браузері, ваш комп’ютер надсилає TCP-пакети на адресу веб-сервера з проханням надіслати веб-сторінку назад вам. Веб-сервер відповідає, надсилаючи потік TCP-пакетів, які ваш веб-браузер з’єднує, щоб сформувати веб-сторінку. Коли ви натискаєте посилання, входите в систему, публікуєте коментар або робите щось інше, ваш веб-браузер надсилає TCP-пакети на сервер, а сервер повертає TCP-пакети назад.
TCP - це все про надійність - пакети, відправлені за допомогою TCP, відстежуються, тому дані не втрачаються та не пошкоджуються під час передачі. Ось чому завантаження файлів не пошкоджуються, навіть якщо в мережі виникають гикавки. Звичайно, якщо одержувач повністю офлайн, ваш комп’ютер здасться, і ви побачите повідомлення про помилку із повідомленням, що він не може зв’язатися з віддаленим хостом.
TCP досягає цього двома шляхами. Спочатку він замовляє пакети, нумеруючи їх. По-друге, він перевіряє помилки, вимагаючи, щоб одержувач надіслав відповідь назад відправнику, сказавши, що отримав повідомлення. Якщо відправник не отримав правильної відповіді, він може повторно відправити пакети, щоб переконатися, що одержувач отримав їх правильно.
ПОВ'ЯЗАНІ: Розуміння Провідника процесів
Провідник процесів та інші системні утиліти можуть показувати тип з'єднань, які встановлює процес - тут ми можемо побачити браузер Chrome з відкритими TCP-з'єднаннями з різними веб-серверами.
Як працює UDP
ПОВ'ЯЗАНІ: Як затримка може зробити навіть швидкі з’єднання з Інтернетом повільними
Протокол UDP працює подібно до TCP, але він викидає всі матеріали для перевірки помилок. Всі зворотні та вперед спілкування вводять латентність , сповільнюючи ситуацію.
Коли програма використовує UDP, пакети просто надсилаються одержувачу. Відправник не чекає, щоб переконатися, що одержувач отримав пакет - він просто продовжує надсилати наступні пакети. Якщо одержувач пропускає кілька UDP-пакетів там і там, вони просто втрачаються - відправник не буде їх повторно відправляти. Втрата всіх цих накладних витрат означає, що пристрої можуть швидше спілкуватися.
UDP використовується, коли бажана швидкість, а корекція помилок не потрібна. Наприклад, UDP часто використовується для прямих трансляцій та онлайн-ігор.
Наприклад, скажімо, ви переглядаєте прямий відеопотік, який часто транслюється за допомогою UDP замість TCP. Сервер просто надсилає постійний потік пакетів UDP на комп'ютери, які спостерігають. Якщо ви втратите зв’язок на кілька секунд, відео може на мить замерзнути або перестрибнути, а потім перейти до поточного біту трансляції. Якщо ви відчуваєте незначну втрату пакетів, відео або аудіо можуть на деякий час спотворитися, оскільки відео продовжує відтворюватися без відсутніх даних.
Це працює аналогічно в онлайн-іграх. Якщо ви пропустите деякі пакети UDP, символи гравця можуть телепортуватися по карті, коли ви отримуєте новіші пакети UDP. Немає сенсу запитувати старі пакети, якщо ви їх пропустили, оскільки гра триває без вас. Важливо лише те, що відбувається зараз на ігровому сервері, а не те, що сталося кілька секунд тому. Вирішення проблеми з виправленням помилок TCP допомагає пришвидшити підключення до гри та зменшити затримку.
І що?
ПОВ'ЯЗАНІ: Як використовувати Wireshark для збору, фільтрації та перевірки пакетів
Чи використовує програма TCP або UDP, залежить від розробника, і вибір залежить від того, що потрібно додатку. Більшість програм потребують виправлення помилок і надійності TCP, але деякі додатки потребують швидкості та зменшення накладних витрат на UDP. Якщо ви стріляєте інструмент аналізу мережі, такий як Wireshark , Ви можете бачити різні типи пакетів, які рухаються туди-сюди.
Якщо ви не адміністратор мережі або розробник програмного забезпечення, це не повинно сильно впливати на вас. Якщо ви налаштовуєте програмне забезпечення маршрутизатора або брандмауера і не впевнені, чи використовує програма TCP або UDP, загалом ви можете вибрати параметр «Обидва», щоб ваш маршрутизатор або брандмауер застосовував одне і те ж правило як до трафіку TCP, так і UDP.