Основні протоколи Мережі. Навіщо вони використовуються?
Напевно, Ви не раз чули терміни ICMP, TCP, UDP і їм подібні. У цій статті описано основні мережеві протоколи. Що вони означають, де використовуються та яка різниця між ними. Я спробувала систематизувати цю інформацію, щоб ретельніше розібратися з нею.
Протокол мережі - це набір правил, який дозволяє обмін даними між пристроями, це основа забезпечення доставки пакета, певні дії реалізації конкретного процесу.
В основі функціонування Інтернету покладено роботу кількох протоколів, які розташовуються один поверх іншого. Які основні з них і що означають ці абревіатури? Розглянемо основні види протоколів (мережеві протоколи).
MAC (Media Access Control)
Протокол MAC – це протокол низького рівня, унікальний ідентифікатор пристрою. Його застосовують як ідентифікацію пристроїв у локальній мережі. Кожен пристрій, який підключено до Інтернету, має свою унікальну MAC адресу. Ця адреса задана виробником. Це протокол рівня з'єднання, з яким часто доводиться стикатися кожному користувачеві. Це фізична адреса обладнання або інтерфейсу деяких мереж.
Ця адреса видається безкоштовно на кожен пристрій. Основна частина мережевих протоколів використовують одне з трьох просторів MAC, під керуванням IEEE: MAC-48, EUI-48, EUI-64. Пример написання МАС адреси: 00-50-B6-5B-CA-6A. Перші 6 знаків позначають виробника, а друга частина адреси – це серійний номер інтерфейсу.
Навіщо потрібна МАС адреса? Даний протокол використовується для ідентифікації вузла мережі та відповідно доставки інформації саме у цей вузол.
IP (Internet Protocol)
IP (Internet Protocol) - в порівнянні з MAC, розташовується на рівень вище.
Для того щоб визначити IP , ви можете скористатися безкоштовним онлайн інструментом.
Мережі зв'язуються в складні структури, а за допомогою даного протоколу машини визначають можливі шляхи до цільового пристрою (ці шляхи можуть змінюватися під час роботи).
Наведемо порівняльну таблицю для ipv6 та ipv4, щоб побачити їх основні відмінності:
ipv4
ipv6
Розмір пакета: 576 байт
Розмір пакета: 1280 байт
Включено автентифікацію та шифрування
Використання у мережах: 99%
Використання в мережах: 1%
Доступний у всіх хостинг-провайдерів
Доступний не у всіх хостинг-провайдерів
Чотири десяткові числа, що розділяються точкою
Шестизначне число з поділом двокрапкою
IP адреса може бути як динамічним (тимчасовим), так і статичним, який прикріплюється на комп'ютер при підключенні до інтернету. Наприклад, на VPS ви отримаєте статичну IP-адресу, а при використанні деяких VPN - динамічну IP-адресу.
Поняття IP адреси (виділеної адреси) дуже часто використовується у сфері хостингу та оренди серверів, адже кожен сервер має свою унікальну виділену IP адресу або навіть свою підмережу адрес.Протоколи передачі даних для чайників, у тому числі IP адреси, можна використовувати на хостинг послугах для сайтів.
ICMP (Internet control message protocol)
Цей протокол з'єднання призначений для того, щоб пристрої могли обмінюватися повідомленнямиДані, наприклад, можуть бути повідомлення про помилки або інформаційні оповіщення.
TCP (Transmission control protocol)
Один із основних протоколів мережі internet, який знаходиться на одному рівні з попереднім протоколом ICMP.
Бувають ситуації, коли пакети можуть надходити не в тому порядку або взагалі губитися. Але протокол TCP забезпечує правильний порядок доставки і дає можливість виправити помилки передачі пакетів. надсилання запиту та підтвердження відкриття з'єднання двома комп'ютерами. Мінус роботи даного протоколу - низька швидкість, тому що для надійної передачі даних необхідно більше часу.
Багато додатків використовують TCP, сюди відносять SSH, WWW, FTP та інші. Як правило, TCP протокол вбудований в ядро операційної системи.
Роль TCP протоколу (web протоколу): забезпечення надійної доставки сегментів та його впорядкування, контроль швидкості передачі, робота із сесіями.
UDP (User Datagram Protocol)
UDP - відомий протокол, чимось схожий на TCP, який також функціонує на транспортному рівні. Основна відмінність - ненадійна передача даних: дані не проходять перевірку при отриманні.
Протокол udp принцип роботи: за рахунок відправки меншої кількості пакетів, UDP працює швидше ніж TCPНемає необхідності встановлювати з'єднання, і протокол використовується для відправлення пакетів відразу на кілька пристроїв або IP телефонії.
HTTP (hypertext transfer protocol)
Протокол програми HTTP (Hypertext Transfer Protocol) лежить в основі роботи всіх сайтів у Мережі. налаштування шифрування.
HTTP – порт 80, HTTPS – порт 443, останній використовується для конфіденційної передачі даних у Мережі.
HTTPS забезпечується наявністю сертифіката захисту SSL, що підключається на стороні хостинг-провайдера.
SSL є безкоштовними, наприклад, від Lets Encrypt і платними від різних постачальників послуг, наприклад, Sectigo.
FTP (file transfer protocol)
FTP (file transfer protocol) – використовується для передачі даних. замість FTP використовувати протокол SSH як основний тип протоколів передачі даних.
Для з'єднання FTP використовуються спеціальні програми, наприклад, Far Manager, Total Commander, FileZilla. Незважаючи на свою небезпеку, ФТП протокол все одно є найбільш популярним серед вебмайстрів. На послугах віртуального хостингу ФТП надається за замовчуванням для з'єднання з серверами та передачі даних.
FTP - один із найстаріших прикладних протоколів, який використовується для доступу до віддалених хостів. Саме завдяки ФТП відбувається організація обміну файлами.
DNS (domain name system)
DNS (domain name system) - використовується для перетворення зрозумілих адрес, що легко читаються, в складні ip адреси, які важко запам'ятати і навпаки. За допомогою DNS ми отримуємо доступ до інтернет-ресурсу за його доменним ім'ям.
Поняття DNS часто можна зустріти під час роботи з доменом. Наприклад, при зміні хостингу або реєстратора домену відбувається процес оновлення DNS зони, який може тривати від 2 до 72 годин.
DNS сервер має кілька типів записів:
✓CNAME - часто використовується для прив'язки субдомену, вказує альтернативний варіант основному домену,
✓NS - адреса DNS-сервера (наприклад, dns1.hyperhost.ua),
✓А запис - IP-адреса сайту,
✓MX запис - адреса поштового сервера,
✓TXT запис - текстова інформація про домен, часто додається для проходження різноманітних верифікацій домену,
✓SPF - список серверів, які можуть надсилати пошту від конкретного домену;
✓SOA - запис з інформацією про сервер.
SSH (secure shell)
SSH (secure shell) також відноситься до протоколу рівня додатків. Він розроблений для забезпечення віддаленого керування системою захищеного каналу. Цей протокол використовується для багатьох додаткових технологій.SSH - насамперед безпечний протокол передачі, тому якщо є можливість використовувати саме його, то не варто користуватися іншими протоколами такими як ФТП.
В основному ССШ використовують для віддаленої роботи із серверами, а також для надійного перенесення великої кількості даних. Наприклад, при зміні хостинг-провайдера та переносі сайту від одного хостера до іншого, для швидкої організації процесу вам знадобиться саме SSH доступ до старого хостингу.
SSH працює за допомогою спеціальних командякі запускаються з командного рядка. Ця команда може трохи відрізнятися в залежності від використаної ОС, а також SSH клієнта.
Детальніше всі особливості роботи з протоколом SSH ми описали в цій статті на блозі:
POP3 (Post Office Protocol)
POP3 (Post Office Protocol) - це стандартний протокол, який використовується для отримання електронних листів. Протокол поштового з'єднання призначено для обробки запитів на отримання пошти від клієнтських поштових програм.
POP3 призначений для отримання пошти з будь-якої точки доступу до Інтернету. POP3 – найпопулярніший тип облікового запису електронної пошти. POP3 дозволяє завантажувати листи на пристрої, а потім видаляти їх із сервера.
Мінуси використання POP3: листи на сервері не зберігаються, у тому числі надіслані. Подивитися надіслані можна тільки з пристрою, з якого користувач надіслав листа. Усі налаштування зберігання листів налаштовуються окремо в поштовому клієнту користувача.
SMTP (Simple Mail Transfer Protocol)
SMTP (Simple Mail Transfer Protocol) протокол передачі пошти. Основне завдання SMTP-сервера: повернення або підтвердження про прийом, або оповіщення про помилку, або запит на додаткові дані. За допомогою протоколу SMTP перевіряється коректність системи, в якій надсилається вихідне повідомлення. За цим протоколом закріплено два порти: 25 та 587. Другий варіант протоколу із захищеним SSL, хоча 25 на практиці використовується набагато частіше.
Використання особистого SMTP сервера дуже просто застосувати, в мережі дуже багато доступних інструкцій та фахівців по роботі з цим типом протоколу.
Особистий SMTP сервер в основному використовують для організації масових розсилок, особистих листування або транзакційних листів.
Всі протоколи забезпечують налагоджену роботу Інтернету, яким ми користуємося щодня. Розуміння роботи мереж на базовому рівні є дуже важливим для кожного адміністратора сервера або вебмайстра. Це використовується для правильного настроювання ваших сервісів в інтернет, а також легкого виявлення проблем і вирішення неполадок. А які мережеві протоколи ви знаєте? Додайте їх у коментарях під статтею.
Основи мережевої моделі OSI для початківців
На зорі становлення інтернету, наприкінці 1970-х років, міжнародна організація зі стандартизації ISO (International Organization for Standartization) зробила масштабну спробу навести лад у комп'ютерних мережах і створила набір правил, яким мають слідувати підключені один до одного мережні пристрої під час обміну даними. Так на світ з'явилася еталонна мережева модель OSI (The Open Systems Interconnection model, модель взаємодії відкритих систем).
Чому модель OSI є важливою?
OSI описує всі типи мережевої взаємодії, починаючи з програмного забезпечення та закінчуючи апаратними компонентами. На стандартах архітектури OSI засновані інші мережеві моделі, такі як стек TCP/IP, який фактично став основою сучасного інтернету. OSI описує, як саме пристрої в локальних та глобальних мережах обмінюються даними, як будуються мережеві маршрути та як взаємодіють усі пристрої на шляху передачі інформації. Принципи, закладені в OSI, так чи інакше використовуються в кожному пристрої, підключеному до мережі — у комп'ютерах, телефонах, планшетах, мережевих принтерах, камерах відеоспостереження, компонентах «розумного дому», маршрутизаторах, модемах, точках доступу, роутерах і таке інше. Розуміння цих принципів необхідне вирішення завдань на всіх рівнях передачі та отримання даних і в інтернеті, і в локальних мережах. Знання OSI стане в нагоді мережевим інженерам, розробникам мережевих компонентів, програмістам, тестувальникам, системним адміністраторам та інженерам DevOps. Знання моделі OSI значно полегшує діагностику та налагодження комп'ютерних мереж, пошук та усунення несправностей.
Історія появи OSI
Перші комп'ютерні мережі почали з'являтися наприкінці 1960-х років в університетах, державних установах та армії. Вони розроблялися, переважно, приватними компаніями і призначалися лише власного устаткування. Найвідомішою з таких компаній була американська корпорація IBM, яка запропонувала багаторівневу мережеву архітектуру SNA (Systems Network Architecture). Тоді ж міністерство оборони США запустило власну мережу ARPANET (Advanced Research Projects Agency Network).Але всі ці розробки мали фундаментальні недоліки, які не дозволяли комп'ютерам різних виробників, які розташовані в різних мережах, спілкуватися між собою. Тому 1977 року незалежна неурядова організація ISO залучила групу вчених із США, Великобританії та Франції під керівництвом Чарльза Бакмана (Charles Bachman) для створення концепції універсальної відкритої мережевої взаємодії. У процес боротьби за цифрову єдність було залучено тисячі інженерів по всьому світу. Створення стандарту активно підтримували виробники комп'ютерного обладнання та телефонів, дослідники, регулятори, агенції, міністерства та уряди різних країн. Після семи років напруженої роботи, 1984 року, вчені нарешті опублікували документ, відомий як стандарт ISO 7498 або базова еталонна модель взаємодії відкритих систем - OSI.
Принципи роботи OSI
- рівні. OSI поділяє функції та протоколи мережного обміну на абстрактні рівні, кожен із яких незалежно виконує певну роботу.
- Абстракції. Кожен рівень приховує деталі реалізації своїх протоколів від сусідніх рівнів, що дозволяє змінювати та розвивати кожен протокол окремо, не порушуючи роботу мережевого стека загалом.
- Ієрархія. Рівні OSI дозволяють дотримуватися єдиної логіки та порядку обробки при передачі та прийомі даних.
- Протоколи. OSI визначає протоколи, які мають бути реалізовані на кожному рівні для обміну даними із сусідніми рівнями, забезпечуючи узгоджену роботу моделі.
- Універсальність. Модель OSI може застосовуватися в різних типах мереж: локальних та глобальних, дротових та бездротових.
Завдяки універсальним базовим принципам та поділу на рівні еталонна модель OSI забезпечує сумісність найрізноманітніших пристроїв та узгодженість різних технологій, ставши основою при створенні сучасних мережевих стандартів.
Рівні OSI
У модель OSI входить сім рівнів, або шарів (layers):
Кожен рівень працює зі своїми протоколами і не повинен знати нічого про влаштування інших шарів. Такий поділ виявився дуже зручним, оскільки дозволило розвивати технології кожного рівня незалежно від інших. Наприклад, коли на зміну модемам, коаксіальним кабелям і кручений парі прийшли оптоволоконні мережі, взаємодія комп'ютерів по мережі продовжилася як ні в чому не бувало.
1. Фізичний рівень (physical layer)
Дані цьому рівні є сигнали — електричні, світлові чи радіохвилі. Фізичний рівень визначає кодування сигналів у набори одиниць та нулів, модуляцію, частоту, амплітуду, напругу та інші фізичні параметри. Сигнали передаються по дротах, оптоволоконних кабелях або через радіоефір. Цей шар працює з проводами, конекторами, мікросхемами та іншими електронними компонентами.
Прикладом протоколу фізичного рівня може бути Ethernet, який визначає передачу сигналів по проводах. Бездротову передачу даних, або, як кажуть мережеві інженери, з'єднання «по повітрю» може здійснювати Wi-Fi, Bluetooth або GSM, а світлові сигнали можуть бути передані через оптичні кабелі або інфрачервоні порти.
В інтернеті з фізичним рівнем працюють мережеві адаптери, концентратори, повторювачі, медіаконвертери та інші пристрої.Таке обладнання не займається логікою обробки даних, його завдання прийняти і передати сигнал далі.
2. Канальний рівень (data link layer)
Займається фізичною адресацією та контролем під час передачі інформації. Тут замість сигналів у гру вступають біти - набори логічних нулів та одиниць. Дані, одержувані чи передані на фізичний рівень, містяться у кадри (frame). Кадри додають до даних адреси відправника і одержувача:
За адресацію пристроїв відповідає рівень MAC (Media Access Control, контроль доступу до середовища). MAC-адреса – це фізична адреса пристрою, присвоєна йому на заводі виробником:
Контроль передачі на канальному рівні здійснюється під рівнем LLC (Logical Link Control, контроль логічного зв'язку), що гарантує правильність відправлення та отримання інформації.
Прикладом пристроїв канального рівня можуть бути комутатори та мости, які використовуються для підключення пристроїв у локальних мережах, оперуючи лише фізичними MAC-адресами.
3. Мережевий рівень (Network Layer)
Знаходить шляхи передачі даних, тобто відповідає за маршрутизацію між пристроями мережі. На цьому рівні використовуються IP-адреси (Internet Protocol address). Зіставленням IP-адрес і MAC-адрес займається протокол ARP (Address Resolution Protocol - протокол визначення адреси). Пакет даних на мережному рівні схожий на кадр канального рівня, за винятком адрес, що використовуються:
На мережному рівні працюють маршрутизатори, які використовуються інтернет-провайдерами, та звичайні домашні роутери.
4. Транспортний рівень (transport layer)
Призначений для доставки даних. На цьому рівні відбувається передача інформації через мережу.Найчастіше як протоколи транспортного рівня використовуються TCP (Transmission Control Protocol, протокол управління передачею) і UDP (User Datagram Protocol, протокол користувальницьких датаграм).
Протокол TCP гарантує доставку даних одержувачу, але працює повільніше, тоді як UDP швидко надсилає дані, не переймаючись їх отриманням. Тому протокол UDP часто використовується для відео та звукового мовлення, де часткові втрати кадрів не такі важливі, як швидкість. Для передачі без втрат в інтернеті зазвичай використовується TCP, контролює кожен переданий біт рахунок використання різних алгоритмів перевірки цілісності даних.
Для зниження трафіку у разі втрати пакетів протокол TCP поділяє дані на сегменти. Якщо окремий сегмент не вдається доставити одержувачу, його буде передано знову. Крім того, сегментація даних дозволяє адаптувати швидкість передачі залежно від пропускної спроможності мережі.
Також для доставки блоків даних до конкретної служби на додаток до IP-адреси на транспортному рівні використовуються порти — числові ідентифікатори мережевих служб.
5. Сеансовий рівень (session layer)
Відповідає за встановлення та підтримку сеансу зв'язку (сесії), а також забезпечує перевірку необхідних засобів для правильної обробки даних, наприклад, наявність потрібних кодеків під час передачі відео або звуку. Прикладом сесій може бути підключення одного сайту декількох користувачів, кожного з яких потрібно авторизувати окремо і обробити запит в залежності від персонального профілю.
6. Рівень подання даних (presentation layer)
Відповідає за перетворення форматів даних, стиснення та кодування. За потреби цьому рівні також відбувається шифрування даних.Прикладом формату даних може бути звичайний текст у кодуванні UTF, зображення JPEG або відео MPEG, тобто на рівні представлення дані набувають вигляду, зрозумілого людині.
7. Прикладний рівень (application layer)
Визначає взаємодію мережі та додатків користувача (запити до інтернет-ресурсів, файлів та електронної пошти). На цьому рівні використовуються такі протоколи, як HTTP(S) для серфінгу в інтернеті, FTP для передачі файлів, SMTP для надсилання електронної пошти тощо. Іншими словами, кінцевий користувач надсилає і отримує дані, не переймаючись транспортними механізмами.
Також на прикладному рівні працюють різні мережеві служби, що відповідають за передачу файлів, друк, взаємодію з базами даних, відправлення та отримання повідомлень і так далі.
Переваги моделі OSI
- Стандартизація. Завдяки загальному набору правил та протоколів пристрої різних типів та виробників можуть працювати разом.
- Масштабованість. Можливість додавати або змінювати окремі рівні та протоколи дозволяє мережам на основі OSI легко адаптуватися до змін технологій.
- Гнучкість. Незалежність рівнів дозволяє легко змінювати загальну конфігурацію мережі, побудованої за принципами OSI.
- Керованість. Базові принципи моделі дозволяють повністю контролювати процес передачі на всіх етапах.
- Надійність. Поділ на рівні допомагає легко локалізувати та усувати проблеми та помилки.
- Спрощення навчання. Структурування стека протоколів дозволяє легко зрозуміти мережеві технології в цілому.
Недоліки моделі OSI
- Довга розробка. На створення моделі OSI було витрачено невиправдано багато часу, причому розробники не приділили належної уваги іншим існуючим на той момент технологіям.Це дозволило моделі TCP/IP, яка працювала на момент завершення OSI, фактично стати основою сучасного інтернету.
- Нечіткий поділ шарів. Одні й самі завдання можуть бути вирішені на різних рівнях, що робить технологію в цілому неоднозначною.
- Закрита технологія. На відміну від TCP/IP, модель OSI була вільної, а її використання передбачалося стягувати плату.
Альтернативи
Модель OSI є чудовою теоретичною базою для побудови комп'ютерних мереж, хмарних обчислень і спільного використання мережевих ресурсів. Але практичне застосування знайшли інші варіанти:
- Модель TCP/IP. Ця модель складається лише з чотирьох рівнів (прикладного, транспортного, міжмережевого та канального), але реалізує всі можливості OSI. Завдяки своїй простоті та своєчасному впровадженню в даний час стек протоколів TCP/IP так чи інакше використовується при взаємодії багатьох сучасних мережевих пристроїв. Докладніше про модель TCP/IP.
- Стек протоколів IBM SNA. Ґрунтується на семирівневій моделі, схожій на OSI. Використовується для передачі даних між високопродуктивними серверами (мейнфреймами) та іншим обладнанням та програмами IBM.
- NetWare. Закрита мережева операційна система розроблена американською компанією Novell. Заснована на стеку протоколів Xerox Network Systems (XNS), але зараз також підтримує стек TCP/IP. Передбачає наявність виділеного сервера, до якого підключаються клієнти спільного використання дискового простору.
- Мережа ARPANET. Була запущена у 1969 році агентством Міністерства оборони США з перспективних досліджень (DARPA) та проіснувала до 1990 року.Логічна схема ARPANET була однією з перших спроб створити єдину концепцію взаємодії різноманітного мережевого обладнання та фактично стала прототипом сучасного інтернету.
Висновок
Побудова комп'ютерних мереж – складне завдання. На сьогоднішній день налічується понад сім тисяч мережевих протоколів, і навіть досвідчені інженери не знають на згадку про всі тонкощі та особливості їх роботи. Але мережеві моделі, такі як OSI, роблять це завдання вирішуваним. Маючи таку базу та розуміючи основні принципи роботи обладнання та програм цілком можна почати працювати з конкретними рівнями в галузі міжмережевої взаємодії та хмарних обчислень.