Все про модель OSI за 7 хвилин
Коли ми замовляємо щось в улюбленому онлайн-магазині — все просто: обрали, додали в кошик, оплатили. Але що відбувається між клацом на кнопку «Замовити» та бажаним результатом?
У 1980-ті роки Міжнародна організація зі стандартизації ISO розробила стандарт, який пояснює, як мають взаємодіяти програми та обладнання.
Модель OSI — це модель взаємодії відкритих систем. Вона описує сім рівнів, які комп’ютерні системи використовують для зв’язку через мережу.
Її мета в тому, щоб надати стандарти для постачальників технологій і розробників, щоб обладнання та програмне забезпечення, яке вони створюють, могло взаємодіяти між собою. Модель визначає ієрархію логіки розподілу функцій, необхідні для підтримки зв’язку між системами.
OSI стала першою стандартною моделлю мережевих комунікацій, яку прийняли всі великі комп’ютерні та телекомунікаційні компанії. Розібравшись із нею, ви зрозумієте основи мережевої архітектури. Тож розгляньмо детальніше модель OSI та її рівні.
Більше контексту
Модель взаємодії відкритих систем передбачає, що кожен з семи рівнів обслуговує свою частину процесу взаємодії. На одному рівні мова йде про маршрутизатори, на другому про ретранслятори, а на третьому — про комутатори. Така структура спрощує спільну роботу обладнання і ПЗ та робить її зрозумілішою.
Проте сучасний Інтернет базується не на OSI, а на більш ранній моделі TCP/IP. Причина в тому, що перша модель — про те, як взаємодія має бути побудована. В той час як друга — це стандарти, на яких базується Інтернет, тобто більш практична.
За весь час існування моделі OSI її так і не реалізували. Зараз використовується тільки деяка її підмножина. Все це тому, що вона занадто складна, а її реалізація зайняла б забагато часу.
З усім тим вона все одно широко використовується, адже допомагає показати та пояснити, як працюють мережі, а також ізолювати та розв’язувати проблеми з нею.
Перейдемо до рівнів моделі. Вони розташовуються вертикально і розглядати її варто, починаючи з верхнього рівня.
7. Прикладний рівень: взаємодія користувача з програмою
Рівень забезпечує взаємодію користувача з мережею та дає прикладним програмам доступ до мережних служб. Він зазвичай виконує такі функції як спільний доступ до файлів, обробка повідомлень і доступ до бази даних. На цьому рівні працюють браузери та електронна пошта.
Прикладний рівень передає службову інформацію, повідомляє про помилки та надсилає запити на наступний рівень моделі.
Його особливість в тому, що він надає корисні функції для користувача. Інші ж рівні доставляють дані, але їхні функції користувач не бачить.
6. Рівень представлення: переклад та шифрування даних
Протоколи з прикладного рівня надходять сюди у формі слів, символів, літер, цифр тощо. Тут вони перетворюються у двійковий формат, зрозумілий для передачі мережею. Цей процес називається перекладом.
На цьому етапі запити застосунків з символів ASCII — американського стандартного коду для обміну інформації — перетворюються на розширений двійковий десятковий код обміну (EBCDIC). Проте, щоб перейти на наступний рівень цього недостатньо. Задля безпеки дані також кодуються та шифруються. Це відбувається за допомогою протоколу SSL для шифрування та дешифрування.
Рівень представлення забезпечує абстракцію та припускає, що наступні рівні подбають про надіслані ним дані. Вони також можуть стискатися або розпакуватися, а ще перенаправлятися іншому ресурсу, якщо їх не можна обробити локально.
5. Сеансовий рівень: встановлення сесії
Допомагає встановлювати з’єднання та керувати ними. Він дозволяє програмам взаємодіяти між собою певний час. Основна задача цього рівня — встановити сесію.
Сеансовий рівень створює та завершує сеанси, керує обміном інформацією та синхронізацією завдань. А також визначає права на передавання даних та підтримує сеанси, поки програма неактивна.
Для того, щоб встановити сесію, спочатку проходить автентифікація, а потім авторизація. Цей рівень так само передбачає, що наступні рівні правильно оброблять дані.
4. Транспортний рівень: передача даних
Цей рівень транспортує дані та керує своїм набором протоколів для їх передачі. Його задача — проконтролювати потік або обсяг даних, що він передає в певний момент часу. При цьому неважливо, які дані передаються, куди та звідки, адже транспортний рівень сам визначає механізм передачі.
Дані з сеансового рівня тут діляться на менші одиниці даних — сегменти. Їх розмір залежить від протоколу. Сам процес відповідно називається сегментацією.
В кожному сегменті є номери портів джерела та призначення. Вони визначають ту програму, до якої потрібно ці дані надіслати. Важливо, що в такому випадку вони передаються частинами.
Сегмент також має порядковий номер. Він потрібен для того, щоб скласти ці сегменти у правильному порядку.
На додачу цей рівень дбає про помилки на кшталт втрати даних або їх пошкодження. Для цього він використовує таке значення як контрольна сума. Працює це так: до кожного сегмента даних транспортний рівень додає контрольну суму, щоб перевірити, чи правильно дані дійдуть на мережевий рівень.
3. Мережевий рівень: визначення фізичного шляху даних
Цей рівень допомагає спілкуватися з іншими мережами. Він передає сегменти даних, що отримав з транспортного рівня, від одного комп’ютера до комп’ютера, розташованого в іншій мережі. Тут працює маршрутизатор.
Задача мережевого рівня полягає у логічній адресації — IP-адресації. Кожному пакету даних призначаються IP-адреси відправника та одержувача. Це потрібно для того, щоб впевнитись, що дані отримають там, де потрібно.
Рівень визначає найкоротші маршрути, комутацію, відстежує проблеми чи затримки в мережі. Тут також балансується навантаження. Потім мережевий рівень направляє пакети даних на канальний рівень.
2. Канальний рівень: визначення формату даних у мережі
Забезпечує прямий зв’язок з іншими комп’ютерами та хостами. На цьому рівні працюють комутатори, мости й мережеві адаптери.
Коли канальний рівень отримує дані з IP-адресами з попереднього рівня, він виконує фізичну адресацію. Він призначає пакету даних адреси керування доступом до середовища (MAC) відправника та одержувача. Це потрібно для формування кадру даних.
1. Фізичний рівень: передача необроблених бітів
Фізичний рівень — це все «залізо» та механічні елементи системи з врахуванням конфігурації проводів, адаптерів та іншого. На цьому рівні працюють концентратори й ретранслятори сигналу.
Дані, що надходять на цей рівень, представлені як 0 та 1. Фізичний рівень перетворює їх та передає на локальні носії в залежності від середовища передавання. Наприклад, електричними сигналами для мідних кабелів, світловими для оптоволоконних та радіосигналами для бездротових мереж.
Фізичний рівень — остання ланка приймача. Він передає отриманий сигнал вгору, на канальний рівень, у вигляді кадру. Для цього він перетворює сигнал назад у біти. При цьому він передає кадр не як єдине ціле, а як послідовність сигналів.
Кадр даних підіймається на вищі рівні та в результаті надходить на прикладний рівень.
Що нам дає модель OSI?
Хоч модель OSI так і не реалізували, а Інтернет базується на моделі TCP/IP, її знання допоможе розібратися, як обладнання взаємодіє із мережею. А також — який шлях дані проходять для того, щоб ми з вами могли користуватися всіма благами цивілізації.
Якщо ви хочете не тільки розуміти як це працює, а й вміти працювати із мережею та розв’язувати проблеми, пов’язані із нею — записуйтеся на курси від IT Education Center.
Якщо не маєте досвіду, почніть з курсу Адміністрування Linux для новачків, де ви познайомитеся з основними нюансами роботи мережі та налаштуєте свій перший сервер. Тут ви зробите свій другий крок на професійному шляху системного адміністратора.
Так-так, адже перший крок ви вже зробили — дочитали текст до кінця, а це означає, що сфера вам цікава.
Бажаємо успіхів та чекаємо зустрічі на заняттях 😉