Еталонна модель взаємодії відкритих систем.

Ця модель заснована на розробці Міжнародної організації по стандартизації (Іnternatіonal Organіzatіon for Standardіzatіon, ІSO) і є першим кроком до міжнародної стандартизації протоколів, використовуваних на різних рівнях. Відповідно називається вона еталонною моделлю взаємодії відкритих систем ІSO (ІSO OSІ (Open System Іnterconnectіon) Reference Model), оскільки вона зв'язує відкриті системи, тобто системи, відкриті для зв'язку з іншими системами. Для стислості ми будемо називати цю модель просто "модель OSІ".

Модель OSІ має сім рівнів. Поява саме такої структури було обумовлено наступними міркуваннями.

1. Кожен рівень повинен виконувати строго певну функцію.

2. Вибір функцій для кожного рівня повинен здійснюватися з урахуванням створення стандартизованих міжнародних протоколів.

3. Границі між рівнями повинні вибиратися так, щоб потік даних між інтерфейсами був мінімальним.

4. Кількість рівнів повинна бути настільки великою, щоб різні функції не поєднувалися в одному рівні без необхідності, але щоб архітектура не ставала громіздкою.

Далі ми обговоримо кожен рівень моделі, починаючи із самого нижнього. Зверніть увагу: модель OSІ не є мережевою архітектурою, оскільки вона не описує служби й протоколи, які використовуються на кожному рівні. Вона просто визначає, що повинен робити кожен рівень.

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

Прикладом протоколу фізичного рівня є специфікація 100Base-TX технології Ethernet, яка визначає як середовище передачі виту пару UTP Cat 5 або STP Type 1, максимальну довжину сегмента – 100 м, кодування інформації для передачі по кабелю за допомогою коду 4В/5B.

Рівень передачі даних (канальний).Основне завдання рівня передачі даних - бути здатним передавати "сирі" дані фізичного рівня по надійній лінії зв'язку. Рівень виконує це завдання за допомогою розбивки вхідних даних на кадри, звичайний розмір яких коливається від декількох сотень до декількох тисяч байт. Кадри даних передаються послідовно з обробкою кадрів підтвердження, що відсилають назад одержувачем. Коректність передачі забезпечується додавання спеціальної послідовності біт в заголовок та кінець кожного кадру. При цьому в послідовність включається обчислена контрольна сума, яка перевіряється приймачем. Канальний рівень забезпечує передачу даних в рамках мережі з простою топологією та однорідними технологіями (як правило в локальній мережі).

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


 
 

Рис. 1. Еталонна модель OSІ (PDU – Protocol Data Unit, message)

 

У широкомовних мережах існує ще одна проблема рівня передачі даних: як управляти доступом до спільно використовуваного каналу. Ця проблема дозволяється введенням спеціального додаткового підрівня - підрівня доступу до носія.

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

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

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

Прикладом протоколів мереженого рівня є протокол IP протокольного стеку TCP/IP.

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

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

Транспортний рівень є дійсним наскрізним рівнем, тобто рівнем, який доставляє повідомлення від джерела адресатові. Інакше кажучи, програма на джерелі підтримує зв'язок з подібною програмою на іншій машині за допомогою заголовків повідомлень і керуючих повідомлень. На більше низьких рівнях для підтримки цього з'єднання встановлюються з'єднання між всіма сусідніми машинами, через які проходить маршрут повідомлень. Відмінності між рівнями з 1-го по 3-й, що діють за принципом ланок ланцюга, і рівнями з 4-го по 7-й, що є наскрізними, проілюстровані на мал. 1.16.

Прикладом протоколів транспортного рівня є протоколи TCP та UDP протокольного стеку TCP/IP.

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

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

Прикладний рівень містить набір популярних протоколів, необхідних користувачам. Одним з найпоширеніших є протокол передачі гіпертексту HTTP (HyperText Transfer Protocol), який покладений в основу технології Internet. Коли браузер запитує веб-сторінку, він передає її назву і адресу і розраховує на те, що сервер теж використовує HTTP. Сервер у відповідь присилає сторінку. Інші прикладні протоколи використовуються для передачі файлів FTP, електронної пошти і ін.