Що вони таке + різниця між TCP та UDP

TCP і UDP — це протоколи підключення, які використовуються для встановлення способу обміну даними через Інтернет-з’єднання. Якщо ви вже знаєте, що означає IP (тобто Internet Protocol), то ви вже в курсі, оскільки як TCP, так і UDP були розроблені поверх нього.

Однак ви помиляєтеся, якщо думаєте, що вони практично однакові; хоча як TCP, так і UDP «мають слово» щодо того, як ваші дані надсилаються/отримуються в Інтернеті, насправді вони дуже різні, і з цієї причини вони використовуються для різних цілей.

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

Оскільки як TCP, так і UDP створені на основі протоколу Інтернету, ви можете дізнатися більше про IP, перш ніж переходити безпосередньо до вступних уроків TCP/UDP. Ви знаєте, перш ніж бігати, потрібно навчитися ходити.

Що таке IP-адреса?

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

Раніше адреса складалася тільки з цифр і десяткових знаків. Точніше, IPv4-адресу можна сформувати з чотирьох окремих чисел, кожне з яких може мати значення від 0 до 254. IPv4 дає нам загальний діапазон 4,3 мільярда унікальних IP-адрес.

Неминуче Інтернет почав доходити до того моменту, коли нові унікальні IP-адреси не могли бути згенеровані, саме тоді з’явилася система IPv6, щоб врятувати ситуацію. Загальнодоступні адреси IPv6 використовують шістнадцяткові цифри, кожна з яких містить 128 біт, що означає, що замість базису 10 (від 0 до 10) вони використовують базу 16 (від 0 до 10 плюс від «a» до «f»).

За допомогою системи IPv6 загальний діапазон загальнодоступних IPv6-адрес, які ми могли б мати, становить 340 ундецильйонів (3,4 * 10^28). Якщо це неможливо, перевірте, як виглядають адреси IPv4 та IPv6 нижче:

Приклад адреси IPv4: 10.238.126.215
Приклад адреси IPv6: fe80:0db8:0412:2001:3c5e:0000:10a9

Хоча кінцева мета полягає в тому, щоб IPv6 замінив IPv4, сьогодні ці два протоколи працюють разом.

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

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

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

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

Варто звернути увагу й на те, що той факт, що ваші дані розділені на невеликі пакети, означає, що вони не обов’язково повинні надходити в порядку чи навіть використовувати той самий маршрут. Насправді, пакети зазвичай щоразу намагаються знайти найшвидший маршрут.

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

Що таке TCP?

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

Ви можете помітити, що іноді він поєднується з IP і називається TCP/IP, але це означає те саме (тобто TCP і TCP/IP – це одне й те саме).

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

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

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

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

Якщо коротко, TCP:

Переконається, що пакети не випадають
Запитує повторно надіслати пакети, якщо виявить якісь відсутні
Відправляє пакети в порядку, щоб їх можна було легко зібрати
Найпопулярніший Інтернет-протокол
Повільніше, ніж UDP, тому що він повинен переконатися, що кожен пакет приходить
Підходить для веб-сайтів, електронної пошти, FTP (протоколу передачі файлів), обміну файлами P2P

Що таке UDP?

UDP, скорочення від User Datagram Protocol, є альтернативою TCP, тому можна з упевненістю припустити, що, по суті, вони виконують те саме завдання. Однак вони водночас дуже відрізняються, оскільки TCP досить прискіпливо перевіряє пакетні дані, тоді як UDP дещо більш необережний.

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

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

Наприклад, якщо ви використовуєте VoIP-клієнт і розмовляєте з кимось, ви можете помітити час від часу втрату кадрів або часте заїкання в аудіо, що в більшості випадків легко ігнорувати, і тому не має вирішального значення. Те ж саме стосується ігор, де час від часу ви можете помітити, що гра гальмує, або гумка. Ви просто відновлюєте гру, і на цьому все закінчується, оскільки UDP просто скидає пакети, які загубилися під час передачі.

Іншими словами, UDP:

Швидший, ніж TCP, і використовує менше ресурсів
Не обов’язково посилає пакети по порядку
Скидає всі відсутні пакети, щоб пришвидшити з’єднання
Відправник не має можливості дізнатися, чи були відкинуті пакети
В основному використовується для потокового відео, VoIP, ігор і прямих трансляцій

TCP та UDP у використанні VPN

Сьогодні все більше і більше VPN починають використовувати WireGuard або створювати власні протоколи для використання, але багато з них покладаються на OpenVPN, оскільки після всіх цих років він все ще надійний, швидкий і безпечний.

Однак ви, можливо, не знаєте, що OpenVPN працює як з TCP, так і з UDP, і в більшості випадків він дозволяє вам вибирати між цими двома протоколами. Хоча це може звучати як важливе рішення (цілісність даних проти швидкості), справжня проблема криється в іншому місці.

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

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

Різниця між TCP та UDP

TCP

UDP

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

UDP використовується для ігор, потокового відео, VoIP, прямих трансляцій
Відправник не знатиме, чи відсутній пакет (не отримано)
Пакети не обов’язково надсилаються в порядку
Потрібно менше ресурсів, швидше.

TCP проти UDP: висновок

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

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

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