Рубріки: Теорія

Протоколи передавання даних: їх типи та особливості

Андрій Денисенко

Що таке протокол передавання даних

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

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

Призначення й завдання протоколів передавання даних

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

Протоколи розробляються відповідно до моделі взаємодії відкритих систем (Open Systems Interconnection — OSI). Ця модель складається із семи рівнів, і протоколи передавання створюються на кожному з них.

Рівень Опис
7. Прикладний Найближчий до користувача рівень. На ньому здійснюється прийом інформації від користувача й виведення даних для користувача. На рівні 7 працюють веб-браузери, Telnet, FTP.
6. Рівень представлення Цей рівень не залежить від представлення даних на прикладному рівні. Він здійснює перетворення формату програми на мережевий формат і навпаки. Прикладом може бути шифрування й розшифровка даних для безпечного передавання.
5. Сеансовий Для взаємодії двох пристроїв у мережі необхідно створити сеанс зв’язку. Функції цього рівня відповідають за встановлення з’єднання, координування й припинення взаємодії між застосунками.
4. Транспортний Цей рівень забезпечує передавання даних між кінцевими системами й хостами. Він визначає обсяг даних, швидкість передавання, напрямок тощо. Найпоширенішим прикладом протоколу цього рівня є TCP. UDP також працює на 4-му рівні.
3. Мережевий На мережевому рівні здійснюється передавання пакетів, оптимізується їх маршрутизація. На цьому рівні працює протокол IP.
2. Канальний Забезпечує передавання даних між вузлами, що пов’язані між собою. Виправляє помилки, які виникають на фізичному рівні. Цей рівень складається з двох підрівнів: MAC (Media Access Control) та LLC (Logical Link Control).
1. Фізичний Нижчий рівень, на якому й відбувається передавання даних у вигляді електричних та оптичних імпульсів або радіохвиль.

Типи протоколів

Існує багато протоколів передавання. У цій статті ми розглянемо:

  • IP
  • TCP/IP
  • UDP
  • FTP
  • DNS
  • HTTP
  • NTP
  • SSH

IP — Internet Protocol

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

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

Після прибуття пакетів до пункту призначення вони по-різному обробляються. Спосіб обробки залежить від того, який протокол використовується спільно з ІР. Найпоширеніші транспортні протоколи — TCP та UDP.

TCP/IP — Transmission Control Protocol/Internet Protocol

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

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

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

Основні характеристики TCP:

  • клієнт підтверджує доставку даних з сервера;
  • у випадку настання тайм-ауту сервер намагається ще раз передати дані, які не було доставлено;
  • якщо мережа перевантажена, TCP затримує передавання даних;
  • цей протокол використовує триетапне «рукостискання» для перевірки помилок передавання даних.

Для передавання пакетів від вузла до сайту використовується IP.

UDP

Протокол транспортного рівня (User Datagram Protocol, UDP) є орієнтованим на повідомлення протоколом зв’язку. Він дає змогу пристроям і програмам передавати дані в мережі без перевірки їх доставки.

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

Як і TCP, UDP призначено для надсилання й отримання повідомлень. Але у випадку UDP перед передачею даних підключення не створюється.

Крім того, цей протокол не гарантує доставки пакетів даних з сервера. Він не перевіряє, чи доставлено дані клієнту.

Найчастіше UDP працює швидше, ніж TCP, оскільки він забезпечує доставку пакетів.

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

Основні характеристики UDP:

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

FTP

Протокол передавання (File Transfer Protocol, FTP) призначено і для передавання окремих файлів, і для пакетного передавання.

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

Недолік цього протоколу — у слабкому захисті. Тому, якщо вам потрібно дотримуватися таких законів та регламентів, як HIPAA, PCI-DSS, SOX, GLBA та EU Data Protection Directive, не користуйтеся FTP.

Обирайте його, якщо компанія:

  • НЕ працює у суворо регламентованій галузі (охорона здоров’я, фінанси, виробництво);
  • НЕ надсилає та НЕ приймає конфіденційні файли;
  • НЕ є публічною (і на неї не поширюються закон SOX).

Ще одна проблема FTP полягає в залежності від брандмауера, що може вплинути на підключення до клієнта.

Проте FTP (і HTTP) має безпечні версії. У FTP це FTPS, а у HTTP — HTTPS.

Обидва протоколи захищено за допомогою рівня захищених сокетів (Secure Sockets Layer, SSL). У випадку використання FTPS ви продовжуєте користуватися перевагами FTP і водночас використовуєте можливості SSL, зокрема шифрування даних під час передавання, а також аутентифікацію. Оскільки FTPS засновано на FTP, можуть виникати проблеми із брандмауером.

Організаціям з юридичного, урядового та фінансового сектору краще користуватися FTPS.

DNS

Система доменних імен (Domain Name System, DNS) є протоколом прикладного рівня, що визначає, у який спосіб процеси застосунків виконуються в різних системах, передають одне одному повідомлення.

DNS забезпечує перетворення між іменами хостів мережі та числовими адресами. Кожен вузол дерева має доменне ім’я.

Повне доменне ім’я є послідовністю символів, розділених точками.

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

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

Якщо на DNS-сервері немає IP-адреси, пов’язаної з ім’ям хоста, він передає запит іншому DNS-серверу. Коли перетворювач отримує IP-адресу, виконується запит з використанням протоколу IP.

HTTP

Протокол передавання гіпертексту (HyperText Transfer Protocol, HTTP) призначено для передавання гіпертекстових документів і пов’язаних із ними мультимедійних файлів. Це протокол прикладного рівня: у ньому застосунок-клієнт взаємодіє із застосунком-сервером.

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

  • стартовий рядок із описом запитів або кодом стану;
  • необов’язковий набір заголовків HTTP, у яких вказано запит або описано тіло повідомлення;
  • порожній рядок, який означає, що всю метаінформацію запиту надіслано;
  • необов’язкове тіло повідомлення з даними або документом, який пов’язано з запитом.

TCP використовується як транспортний протокол для HTTP.

NTP

Точний час для всіх пристроїв у комп’ютерній мережі важливий з багатьох причин. Різниця навіть у секунду може викликати проблеми.

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

Синхронізація проводиться в чотири етапи:

  1. NTP-клієнт ініціює запит до NTP-сервера на отримання даних про час.
  2. Після цього клієнт може обчислити тривалість затримки зв’язку й локальне зміщення, щоб підлаштувати локальний годинник під годинник на сервері.
  3. Для початкового налаштування годинника зазвичай потрібно провести шість обмінів даними за 5-10 хвилин.
  4. Після синхронізації клієнт оновлює годинник кожні 10 хвилин, для чого зазвичай потрібно обмінятися лише одним повідомленням (крім синхронізації клієнта з сервером). Транзакція проводиться протоколом UDP через порт 123.

Нижче наведено деякі приклади застосування протоколу NTP:

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

SSH

Безпечна оболонка (Secure SHell, SSH) є протоколом, який використовує шифрування для захисту з’єднання між клієнтом та сервером. Усі команди, виведення, файли, що передаються, і дані для аутентифікації шифруються, щоб запобігти мережевим атакам.

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

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

Цей протокол замінює ті протоколи, які не захищено з використанням віддаленого входу, зокрема Telnet, rlogin, rsh і подібні, а також протокол передавання файлів FTP.

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

Протокол SSH захищає мережу від різних атак на кшталт спуфінгу DNS, маршрутизації від джерела та спуфінгу IP.

Висновок

Протоколи передавання потрібні для того, щоб пристрої «розуміли», у якому форматі має відбуватися взаємодія.

Знайомство з цими протоколами буде корисним всім, хто працює з даними у світі взаємозалежних пристроїв. Це допоможе правильно обирати протоколи для вирішення конкретних завдань.

Останні статті

Українські програмісти створили Lağoda QT — гру-головоломку кримськотатарською мовою

Українські програмісти створили безплатну гру-головоломку Lağoda QT.  Кожен рівень — вірш одного з видатних кримськотатарських…

07.05.2024

В Copilot для Microsoft 365 додали українську мову

Корпорація Microsoft оголосила про підтримку української мови у Copilot для Microsoft 365. Українська мова входить…

07.05.2024

Google безплатно навчатиме створювати чат-боти за допомогою Gemini. Потрібно тільки знання Python

Корпорація Google запустила реєстрацію задля участі в безплатній програмі Startup School: Gen AI. Програма безплатна…

07.05.2024

Вакансій і наймів більше, а зарплати — менше: що відбувалося на ринку праці у квітні

В квітні на ринку праці збільшилася кількість вакансій для IT-фахівців. На DOU та Djinni спостерігались…

07.05.2024

І всього лише $300. Китайці представили ноутбук на базі RISC-V для ШІ-девелоперів

Китайський стартап SpacemiT представив MuseBook — ноутбук на базі восьмиядерного процесора K1 RISC-V, орієнтований на…

06.05.2024

Учасники Brave1 створили ШІ-платформу HARVESTER для органів держбезпеки

Учасники Brave1, українська команда MATHESIS, розробила для органів держбезпеки платформу HARVESTER на основі штучного інтелекту.…

06.05.2024