Модель мережевої взаємодії

Що таке рівні взаємодії

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

рівень користувачів, які обмінюються листами, і використовують для цієї мети поштову службу;

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

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

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

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

Приклад рівневого взаємодії

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

Взаємодія в комп'ютерних мережах також можна описувати за допомогою рівнів. В даний час для цих цілей широко використовується так звана модель взаємодії відкритих систем (Open Systems Interconnection, OSI).

Модель мережевої взаємодії

У 1984 році Міжнародною Організацією по Стандартизації (International Standard Organization, ISO) була розроблена модель взаємодії відкритих систем (Open Systems Interconnection, OSI). Модель являє собою міжнародний стандарт для проектування мережевих комунікацій і передбачає рівневий підхід до побудови мереж. Кожен рівень моделі обслуговує різні етапи процесу взаємодії. За допомогою поділу на рівні мережева модель OSI спрощує спільну роботу обладнання і програмного забезпечення. Модель OSI поділяє мережеві функції на сім рівнів: прикладний, рівень уявлення, сесійний, транспортний, мережевий, канальний і фізичний.

Рівні моделі OSI

Нижче дається коротка характеристика рівнів моделі:

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

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

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

Рівень представлення (Presentation layer) здійснює проміжне перетворення даних вихідного повідомлення в загальний формат, який передбачений засобами нижніх рівнів, а також зворотне перетворення вхідних даних із загального формату в формат, зрозумілий одержує програмі.

Прикладний рівень (Application layer) надає високорівневі функції мережевого взаємодії, такі, як передача файлів, відправка повідомлень по електронній пошті і т.п.

Основні принципи рівневого взаємодії

При рівневої організації процесу взаємодії необхідно дотримуватися таких вимог:

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

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

Порядок рівневого взаємодії

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

Практична реалізація рівневого взаємодії

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

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

функції деяких рівнів можуть об'єднуватися одним протоколом і навпаки, - функції одного рівня можуть ділитися між різними протоколами;

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

Тому розробка практичних методів мережевого взаємодії, як правило, має на увазі розробку не окремих протоколів, а цілих наборів протоколів. Такі набори зазвичай включають в себе протоколи, які належать до окремих суміжних рівнях еталонної моделі OSI, і називаються стеками (або сімействами, наборами) протоколів (protocol stack, protocol suite). Найбільш відомим стеком протоколів, що забезпечує взаємодію в мережі Інтернет, є стек протоколів TCP / IP

Оскільки при реалізації протоколів допускаються відхилення від еталонної моделі, стеки протоколів можуть припускати власну схему поділу на рівні. Зокрема, стек протоколів TCP / IP розділяє весь процес мережевої взаємодії на чотири рівні. На запропонованому нижче малюнку показано відповідність рівнів моделі OSI і рівнів стека TCP / IP.

Рівні моделі OSI

Опис процесу мережевої взаємодії передбачає виділення рівнів;

в даний час рівневий підхід до опису та проектування мережевої взаємодії систем описується за допомогою моделі ISO OSI;

модель OSI передбачає виділення семи рівнів: прикладного, рівня уявлення, сесійного, транспортного, мережевого, канального і фізичного;

взаємодія компонентів різних рівнів регламентуються спеціальними наборами правил - протоколами і інтерфейсами;

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