UDP vs TCP: Що вони таке і чим вони відрізняються?

UDP vs TCP_ Що вони таке і чим вони відрізняються_

Щоб зрозуміти відмінності TCP від ​​UDP, спершу потрібно мати базове розуміння базового протоколу IP. Ця стаття пояснить, що це за всі ці протоколи, різницю між UDP та TCP, а також деякі приклади того, як кожен використовується.

IP-протокол

tcp udp ip протоколи

Кожному пристрою, підключеному до Інтернету, присвоюється унікальна IP-адреса, що складається з чисел і десяткових знаків. Як і фізичні адреси вулиць, IP-адреси дозволяють комп’ютерам, підключеним до Інтернету, знаходити один одного та надсилати речі вперед і назад, функція під назвою “маршрутизація”. Без протоколу IP у нас не було б Інтернету.

Інтернет-протокол працює, розбиваючи дані на невеликі фрагменти, що називаються дейтаграми або пакети. Потім шматки надсилаються через Інтернет з однієї IP-адреси на іншу.

На додаток до самих даних, IP-пакети містять інформацію про маршрутизацію, наприклад IP-адресу призначення, куди вони спрямовані. Ця інформація називається “заголовок.”

Як тільки пакет залишає ваш пристрій, він переходить до а шлюз. Цей шлюз – це ще один комп’ютер, який може бачити частину IP-адрес в Інтернеті. Якщо IP-адреса призначення пакета не така, яку може бачити шлюз, пакет передається на наступний шлюз вгору по лінії. Цей процес повторюється, поки пакет не досягне шлюзу, який розпізнає IP-адресу призначення як належну йому домен. Цей шлюз пересилає пакет на комп’ютер, адреса якого вказана у заголовку.

Оскільки дані розбиті на пакети, не потрібно все проходити тим самим маршрутом по Інтернету або навіть надходити в порядок.

Кожен раз, коли ви користуєтесь Інтернетом, швидше за все, ви використовуєте протокол IP. Це агресивність типу обміну даними, тому він використовується майже для всього, включаючи текст, зображення, аудіо, відео, ігри, електронну пошту, обмін повідомленнями, файли тощо.

Більшість програм сьогодні використовують четверту версію Інтернет-протоколу, відому як IPv4. Можливо, ви також чули про заміну IPv4, IPv6. В даний час обидві версії працюють паралельно, але прийняття IPv6 зростає і в кінцевому підсумку замінить IPv4 взагалі. Причина полягає в тому, що у світі не вистачає IPv4-адрес – його винахідники не передбачили поширення Інтернету настільки, наскільки це існує сьогодні. IPv6 дозволяє набагато більше IP-адрес, а також деякі інші технічні оновлення, про які ми тут не будемо заглиблюватися.

Дивись також: IPV6 проти IPV4

TCP

TCP вийшов перед UDP. Це означає протокол управління передачею. Ви часто будете бачити це TCP / IP, хоча між цим і TCP немає різниці.

Протокол IP розбиває дані на пакети та надсилає їх до пункту призначення через Інтернет, але як ви з’єднаєте ці пакети разом, коли вони надійдуть? Саме для цього був придуманий TCP. Як тільки пакети дістаються до місця призначення, приймаючий пристрій їх знову збирає в початковий вигляд.

TCP вимагає від обох сторін спілкуватися, щоб встановити з’єднання та надіслати дані. TCP гарантує, що одержувач отримає пакети в порядку відповідно до порядкові номери включені в заголовок. Одержувач відправить повідомлення назад відправника для кожного пакету, визнання що вони отримали Будь-які пакети, не підтверджені одержувачем, надсилаються знову. Пакети перевіряються на наявність помилок за допомогою контрольна сума, який також входить до заголовка.

TCP_header

Через все це назад і назад між клієнтом і сервером, TCP може надійно забезпечити цілісність обміну даними через Інтернет. Простіше кажучи, він може гарантувати, що дані надходять саме так, як вони були надіслані без змін та відсутніх частин. Це робить TCP корисним для широкого кола програм, і це найпоширеніший протокол в Інтернеті. Щоразу, коли ви натискаєте посилання, завантажуєте файл у веб-браузері, оновлюєте програму чи відкриваєте електронний лист, TCP, ймовірно, використовується.

Однак все це спілкування назад і назад сповільнює TCP. Якщо пакет відсутній, вся операція тримається, доки її знову не надсилають. Хоча це в реальному житті означає лише мілісекунди, це може вплинути на продуктивність для додатків, які вимагають великої пропускної здатності. Введіть UDP.

UDP

UDP розшифровується як User Datagram Protocol. Нагадаємо, що дейтаграма та пакет – це більш-менш одне і те ж. UDP, також побудований поверх протоколу IP, працює аналогічно TCP, але є простіше і швидше.

Основна відмінність полягає в тому UDP не вимагає від одержувача підтвердження що кожен пакет був отриманий. Будь-які пакети, які втрачаються в дорозі, не обурюються. Це дозволяє комп’ютерам швидше спілкуватися, однак отримані дані можуть не точно відповідати надісланим даним.

Пакети UDP не мають порядкових номерів, тому вони можуть вийти з ладу. Однак вони мають контрольні суми, тому пакети, які прибувають, захищені від корупції чи модифікації під час транзиту.

UDP_header

З цієї причини UDP використовується, коли швидкість віддається перевазі цілісності та виправленню помилок. Деякі поширені програми включають потокове відео та музику, прямі трансляції, голосові та відеодзвінки (VoIP) та онлайн-ігри. У цих сценаріях це не має значення, якщо ви втрачаєте випадковий кадр відео чи натискання кнопок, що сприяє UDP. DNS-трафік зазвичай обмінюється через протокол UDP.

Дивись також: Посібник з UDP

OpenVPN через UDP та TCP

Багато популярних програм VPN, які покладаються на протокол OpenVPN, дозволяють користувачам обирати між протоколом UDP і TCP. Вони не є особливо кращими, ніж інші, і більшість кінцевих користувачів не помітять великої різниці. Як ми вже згадували раніше, UDP, як правило, пропонує кращі швидкості, але це залежить від конкретного випадку.

У деяких випадках для обходу брандмауера може знадобитися той чи інший. UDP і TCP можуть працювати на різних портах, і деякі брандмауери можуть, наприклад, переглядати звичайний порт UDP OpenVPN. Якщо ви виявите, що ваше з’єднання OpenVPN блокується через цензуру, спробуйте переключитися на інший протокол. TCP, як правило, краще для цього.

UDP проти TCP

Ось підсумок деяких основних відмінностей між UDP та TCP:

UDP:

  • Використовується для трансляції відео, ігор, VoIP, прямих трансляцій
  • Швидше і вимагає менше ресурсів
  • Пакети не обов’язково надходять в порядок
  • Дозволяє відсутні пакети; відправник не може знати, чи отримано пакет

TCP:

  • Найбільш широко використовується протокол в Інтернеті
  • TCP гарантує, що відсутні пакети, і всі надіслані дані роблять це одержувачу
  • TCP надсилає пакети для того, щоб їх можна було легко зшити назад
  • Повільніше і вимагає більше ресурсів

Якщо ви розумієте наступний жарт, то ви розумієте відмінності TCP від ​​UDP.

tcp udp жарт

“Breitling Wingwalkers” від Агн Фун, ліцензований за CC BY 2.0

“Інтернет-розшарування” від Jsoon eu, що має ліцензію CC CC-SA 3.0