Рівні керування моделі OSI
№ | Рівень | Призначення | Приклади протоколів |
Прикладний | забезпечує інтерфейс користувача з комунікаційною системою, його доступ до розподілених ресурсів (забезпечує послуги, що безпосередньо підтримують додатки користувача, наприклад, програмні засоби передачі файлів, доступу до баз даних, засоби електронної пошти, службу реєстрації на сервері; забезпечує прикладним процесам користувача засоби доступу до мережевих ресурсів); управляє рештою рівнів | Х.400, NCP, HTTP, SMTP, FTP, FTAM, SAP, DNS, Telnet | |
Представницький (представлення даних) | встановлює стандартні способи представлення даних, зручні для всіх взаємодіючих об'єктів прикладного рівня; визначає і перетворює формати даних і їх синтаксис у форму, зручну для мережі, а також здійснює шифрування / дешифрування даних; має інтерфейс із прикладними програмами | X.226 | |
Сесійний (сеансовий) | управляє сеансом обміну даними між процесами (задачами), які взаємодіють між собою (встановлює, оддержує і припиняє зв'язок) в одному з передбачених режимів; забезпечує засоби, необхідні мережевим об'єктам для організації синхронізації та адміністративного управління обміном даних між ними | X.225, RPC, NetBEUI | |
Транспортний | зв'язує наскрізним віртуальним каналом взаємодіючі об'єкти сеансового рівня, забезпечує надійну, економічну і «прозору» передачу даних між ними | Х.224, TCP, UDP, NSP, SPX, SPP, RH |
Продовження таблиці 5.2
Мережевий | забезпечує маршрутизацію передачі даних в мережі, встановлює логічний канал між об'єктами для реалізації протоколів транспортного рівня | X.25, X.75, IP, IPX, IDP, TH, DNA-4 | |
Канальний | забезпечує безпосередній зв'язок об'єктів мережевого рівня, функціональні, процедурні і т.д. засоби її підтримки для ефективної реалізації протоколів мережевого рівня | LAP-B, HDLC, SNAP, SDLC, IEEE 802.2 | |
Фізичний | формує фізичне середовище передачі даних; відповідає за кодування передаваної інформації в рівні сигналів, прийняті у використовуваному середовищі передачі, і зворотне декодування; встановлює з'єднання об'єктів мережі з цим середовищем | Ethernet, ARCNet, Token Ring, IEEE,802.3 |
Рівні еталонної моделі можна за різними ознаками об'єднувати в групи:
· рівні 1, 2 і ,частково, 3 реалізуються переважно апаратними засобами;
· верхні рівні з 4 по7 і, частково, 3 забезпечуються програмними засобами;
· рівні 1 і 2 обслуговують абонентську підмережу, рівні 3 і 4 - комунікаційну підмережу, рівні 5-7 - прикладні процеси, що виконуються в мережі;
· рівні 1 і 2 відповідальні за фізичні з'єднання;
· рівні 3-6 забезпечують організацію передавання, власне передавання і перетворення інформації в зрозумілу для абонентської апаратури форму;
· рівень 7 забезпечує виконання прикладних програм користувача.
Детальний опис рівнів еталонної моделі наведено нижче.
Прикладний рівень (Application layer) — забезпечує інтерфейс користувачів з комунікаційною системою – відповідає за ініціалізацію і завершення сеансів зв'язку, розподіл програмних і апаратних засобів для реалізації процесу, управління терміналами мережі і прикладними процесами, які є джерелами і споживачами інформації, що передається в мережі. Іноді цей рівень називають рівнем управління процесами. Залежно від призначення і типу, термінальний пристрій може здійснювати реалізацію декількох прикладних процесів і користувач може скористатися будь-яким з протоколів. На цьому рівні забезпечується надання користувачам різних послуг, пов'язаних із запуском його програм, починаючи від простого передавання даних і до формування технології віртуальної реальності. Прикладний рівень містить набір різноманітних протоколів, за допомогою яких користувачі мережі отримують доступ до розподілених ресурсів, таких як файли, принтери або гіпертекстові Web-сторінки, а також організують свою спільну роботу. Одиниця даних, якою оперує прикладний рівень, зазвичай називається повідомленням (message). На цьому рівні функціонують технології, що є, нібито, надбудовою над інфраструктурою власне передачі даних: електронної пошти, теле- та відеоконференцій, віддаленого доступу до ресурсів, роботи всесвітньої інформаційної мережі тощо.
Представницький рівень (Presentation layer) — забезпечує загальний формат представлення даних для прикладного рівня. Він здійснює структуризацію і представлення даних за узгодженими форматами і синтаксисом, трансляцію і інтерпретацію програм з різних мов і перетворення символьних потоків, засекречування і розсекречування інформації шляхом шифрування і дешифрування даних, а також необхідні перетворення даних для відображення їх на дисплеях або друкуючих пристроях, інтерпретацію та перетворення даних, які передаються в мережі, до вигляду, зручного для прикладних процесів. На практиці багато функцій цього рівня задіяно на прикладному рівні, тому протоколи рівня представлень не отримали розвитку і в багатьох мережах практично не використовуються. Цей рівень працює з формою подання інформації, що передається по мережі, не торкаючись її змісту, і забезпечує зрозумілість (коректну інтерпретацію) інформації, яка передається прикладним рівнем одного вузла, для прикладного рівню іншого вузла. За допомогою засобів даного рівня протоколи прикладних рівнів можуть подолати синтаксичні відмінності в представленні даних або ж відмінності в кодах символів, наприклад кодів ASCII і EBCDIC. На цьому рівні може виконуватися шифрування і дешифрування даних, завдяки якому секретність обміну даними забезпечується відразу для всіх прикладних служб. Прикладом такого протоколу є протокол Secure Socket Layer (SSL), який забезпечує секретний обмін повідомленнями для протоколів прикладного рівня стека TCP/IP.
Сесійний (сеансовий) рівень (Session layer) – забезпечує організацію і проведення сеансів зв'язку між прикладними процесами (ініціалізація і підтримка сеансу між абонентами мережі), управління черговістю і режимами передачі даних (симплекс напівдуплекс, дуплекс). На цьому рівні створюється стандарт сеансу та контролюється його виконання, регламентуються правила ведення діалогу. Рівень забезпечує управління діалогом шляхом надання додаткових сервісів, зокрема, управління маркерами. Завдяки маркерам фіксується, яка з сторін є активною в даний момент, і лише їй надається право виконання критичної операції. У разі переривання сеансу на цьому рівні забезпечується його відновлення або сповіщення про неможливість подальшої роботи. Для спрощення відновлення сеансу рівень також надає сервіс синхронізації. Останній дозволяє вставляти контрольні точки в довгі потоки даних, щоб у разі розриву звязку можна було повернутися назад до останньої контрольної точки і з неї поновити передачу даних, не передаючи повторно успішно передані блоки даних.
Багато функцій цього рівня в частині встановлення з'єднання і підтримки впорядкованого обміну даними на практиці реалізуються на транспортному рівні, тому протоколи сеансового рівня мають обмежене застосування. Функції цього рівня часто об'єднують з функціями суміжних рівнів і реалізовують в одному протоколі.
Оскільки три вищеописані нижні рівні визначають роботу безпосередньо мережі зв'язку при обслуговуванні користувачів, то їх називають підсистемою мережі (рис.5.6 ).
Транспортний рівень (Transport layer) — забезпечує управління транспортуванням повідомлення, включаючи: управління сегментацією даних, тобто розбиттям на блоки даних транспортного рівня; управління крізною передачею (транспортуванням) даних від джерела до споживача; обмін керуючою інформацією і встановлення між абонентами логічного каналу. На цьому рівні оптимізується використання послуг, що надаються на мережевому рівні, в частині забезпечення максимальної пропускної спроможності при мінімальних затратах, виконуються завдання контролю цілісності повідомлень, оптимізації використання засобів зв'язку, вибір вигляду і якості обслуговування процесу. На цьому рівні вибирається тип комутації (каналів, повідомлень, пакетів і так далі), формується стандартне транспортне повідомлення із вхідних даних, проводиться формування початку і кінця одиниць даних, що транспортувалися. Протоколи транспортного рівня розвинені дуже широко та інтенсивно використовуються на практиці.
Головна функція транспортного рівня полягає у тому, щоб прийняти дані з сесійного рівня, розділити їх при необхідності на невеликі частини (сегменти), передати мережевому рівню і гарантувати, що ці частини потраплять за призначенням у правильному вигляді. Більше того, все це має бути здійснено ефективно і таким чином, щоб ізолювати вищі рівні від будь-яких апаратних змін. Доставка сегментів можлива як із встановленням з'єднання (віртуального каналу), так і без.
Переважно транспортний рівень формує окреме мережеве з’єднання для кожного транспортного з’єднання, потрібного сеансовому рівню. Проте, залежно від вимог до пропускної здатності та витрат на підтримання транспортного з’єднання, транспортний рівень може створити кілька мережевих з’єднань, розділивши потік даних між ними, чи навпаки, обєднати кілька транспортних з’єднань в одному мережевому.
Транспортний рівень визначає також тип сервісу, який надається сеансовому рівню і, як наслідок, користувачам інформаційної мережі. Модель OSI визначає п'ять типів сервісу, що надаються транспортним рівнем. Ці види сервісу відрізняються якістю послуг, терміновістю, можливістю відновлення перерваного зв'язку, наявністю засобів мультиплексування дкількох з'єднань між різними прикладними протоколами через загальний транспортний протокол, здатністю виявлення і виправлення помилок передачі, таких, як спотворення, втрата і дублювання пакетів. Найбільш популярним різновидом транспортного з'єднання є захищений від помилок канал між двома точками, за яким повідомлення чи байти постачаються в порядку їх надання, хоча транспортний рівень може надавати й інші типи сервісів, наприклад, пересилання повідомлень без гарантії дотримання порядку їх доставки тощо. Вибір класу сервісу транспортного рівня визначається, з одного боку, тим, в якій мірі задача забезпечення надійності вирішується самими додатками і протоколами вищого за транспортний рівнів. З іншого боку, цей вибір залежить від того, наскільки надійною є система транспортування даних в мережі, що забезпечується рівнями, розташованими нижче транспортного – мережевим, канальним і фізичним. Так, наприклад, якщо якість каналів передачі зв'язку є дуже високою і ймовірність виникнення помилок, не виявлених протоколами більш низьких рівнів, невелика, то доцільно скористатися одним з полегшених сервісів транспортного рівня, не обтяжених численними перевірками, квотуванням та іншими прийомами підвищення надійності. Якщо ж транспортні засоби нижніх рівнів дуже ненадійні, то варто звернутися до найбільш розвиненого сервісу транспортного рівня, який працює, використовуючи максимум засобів для виявлення і усунення помилок, за допомогою попереднього встановлення логічного з'єднання, контролю доставки повідомлень за контрольними сумами і циклічною нумерацією пакетів, встановлення тайму-аутів доставки тощо. Окрім того, транспортний рівень підтримує управління адресацією повідомлень у випадку одночасного підтримання з’єднань з багатьма вузлами та управління потоками інформації, яке забезпечує врахування різних швидкостей передавання та приймання даних на різних машинах.
Транспортний рівень є справжнім наскрізним рівнем, тобто рівнем, який доставляє повідомлення від джерела до адресата. Всі протоколи, починаючи з транспортного рівня і вище, реалізуються переважно програмними засобами кінцевих вузлів мережі, компонентами їх мережевих операційних систем.
Три верхні рівні еталонної моделі визначають і реалізують процеси взаємодії користувачів, тому їх інколи називають підсистемою користувача (рис. 5.6). Протоколи нижніх чотирьох рівнів узагальнено називають транспортною мережею або транспортною підсистемою, оскільки вони повністю вирішують задачу транспортування повідомлень із заданим рівнем якості в мережах з довільною топологією і різними технологіями. Три верхніх рівні вирішують задачі надання прикладних сервісів на основі існуючої транспортної підсистеми.
Транспортний рівень є пограничним. Він пов'язує три верхні рівні, сильно залежні від додатків, з трьома нижніми рівнями, сильно прив'язаними до конкретної мережі.
Мережевий рівень (Network layer) забезпечує реалізацію доставки даних між довільними вузлами мережі і займається управлінням операціями підмереж. На цьому рівні формуються фізичні і віртуальні канали, здійснюється структуризація даних — розділення їх на блоки даних мережевого рівня (пакети чи дейтаграми) та присвоєння пакетам мережевих адрес, визначаються маршрути просування даних. Цей рівень відповідає за правильність складання повідомлення із мережевих одиниць, керує логічним каналом передачі даних в мережі (адресація і маршрутизація даних, комутація каналів, повідомлень, пакетів і мультиплексування). На цьому рівні реалізується головна телекомунікаційна функція мереж — забезпечення зв'язку її користувачів. Кожен користувач мережі обов'язково використовує протоколи цього рівня і має свою унікальну мережеву адресу, яка використовується протоколами мережевого рівня
Мережевий рівень забезпечує утворення єдиної транспортної системи, що об'єднує декілька підмереж, причому ці підмережі можуть використовувати різні моделі обміну даними між кінцевими вузлами, мати різні способи адресації, протоколи та довільну структуру зв'язків. Мережевий рівень повинен усувати всі ці проблеми, забезпечуючи об’єднання різнорідних мереж.
На мережевому рівні під підмережею розуміють сукупність комп'ютерів, обєднанних за однією із стандартних типових топологій у мережу, яка використовує для передачі даних один з протоколів канального рівня, визначений для цієї топології. Всередині підмережі доставка даних забезпечується відповідним канальним рівнем, а передачею даних між підмережами займається мережевий рівень, який і підтримує можливість правильного вибору маршруту передачі повідомлення навіть в тому випадку, коли структура зв'язків між підмережами має характер, відмінний від прийнятого в протоколах канального рівня. Підмережі з'єднуються між собою спеціальними пристроями - маршрутизаторами. Для передачі повідомлення від відправника, що знаходиться в одній підмережі, адресату в іншій мережі, треба здійснити певну кількість транзитних передач між підмережами, обираючи кожного разу відповідний маршрут. Маршрут являє собою послідовність маршрутизаторів, через які проходить пакет. Між двома вузлами може існувати багато маршрутів.
Проблема вибору найкращого шляху називається маршрутизацією, і її розв'язання є однією з головних задач мережевого рівня. Ця проблема ускладнюється тим, що найкоротший шлях не завжди є найкращим. Часто критерієм обрання маршруту є час передачі даних за ним, який залежить від пропускної здатності каналів зв'язку і інтенсивності трафіка, яка може змінюватися з часом. Марщрути можуть бути задані жорстко, а можуть бути динамічними, тобто обраховуватися для кожного пакету з урахуванням завантаженості мережі. Деякі алгоритми маршрутизації передбачають пристосування до зміни завантаження, в той час як інші базуються на середніх показниках за тривалий час. Вибір маршруту може здійснюватися і за іншими критеріями, наприклад, за надійністю передачі.
Функції мережевого рівня досить різноманітні. Так, якщо в підмережі занадто багато пакетів, то вони можуть заважати просуватися один одному, формуючи корки. Попередження такого «закоркування» також є завданням мережевого рівня.
Використання мереж переважно не є безкоштовним, тому мережевому рівню додаються різноманітні функції обліку, зокрема, обліку кількості бітів чи пакетів , переданих кожному клієнту, обліку довжини підмереж з різними тарифами на трафік тощо.
На мережевому рівні діють кілька видів протоколів. Перший - це мережеві протоколи, за якимиі реалізується перусування пакетів через мережу. Переважно саме ці протоколи і розглядаються як протоколи мережевого рівня. Проте часто до мережевого рівня відносять і інший різновид протоколів, званих протоколами обміну маршрутною інформацією або просто протоколами маршрутизації (routingprotocols). За допомогою цих протоколів маршрутизатори збирають інформацію про топологію міжмережевих з'єднань. На мережевому рівні працюють протоколи ще одного типу, які відповідають за відображення адреси вузла, що використовується на мережевому рівні, на локальну адресу підмережі. Такі протоколи часто називають протоколами дозволу адрес (Address Resolution Protocol, ARP). Протоколи мережевого рівня реалізовуються програмними модулями операційної системи, а також програмними і апаратними засобами маршрутизаторів.
Канальний рівень, який називаютьще рівнем передачі даних (Data Link layer) визначає правила передачі модуля даних по фізичній ланці зв'язку. Цей рівень забезпечує формування і управління фізичним каналом передачі даних між об'єктами мережевого рівня (встановлення, підтримка і роз'єднання логічних каналів); відповідає за прозорість фізичних з'єднань, виявлення і виправлення помилок, що виникають із-за перешкод в каналі зв'язку, формування повідомлень вищому рівню про неусунуті помилки, стеження за швидкістю обміну.
Основним завданням цього рівня є перетворення здатності фізичного рівня передавати дані у вигляді бітів у надійну лінію звязку, вільну від помилок з погляду вищого мережевого рівня. Це завдання рівень вирішує, розбиваючи пакети на кадри чи обєднуючи у них набори бітів розміром від ста до тисяч байт. Кадри передаються послідовно з обробкою кадрів підтвердження, які надаються отримувачем. Оскілки фізичний рівень просто приймає і передає потік бітів без урахування їх структури чи семантики, то функцію створення і розпізнання меж кадрів виконує канальний рівень, додаючи спеціальну послідовність бітів в початок і кінець кожного кадру. Канальний рівень забезпечує коректність передачі кожного кадру, а також обчислює контрольну суму, обробляючи всі байти кадру певним способом і додаючи контрольну суму до кадру. Коли кадр приходить по мережі, одержувач знов обчислює контрольну суму отриманих даних і порівнює результат з контрольною сумою з кадру. Якщо вони співпадають, кадр вважається правильним і приймається. Якщо ж контрольні суми не співпадають, то фіксується помилка. Канальний рівень може не тільки виявляти помилки, але і виправляти їх за рахунок повторної передачі пошкоджених кадрів. Функція виправлення помилок не є обов'язковою для канального рівня, тому в деяких протоколах цього рівня вона відсутня.З механізмом обробки помилок часто обєднується також механізм регулювання доставки даних від швидкого передавача до повільного приймача, який забезпечує інформування передавача про наявність вільного місця у буфері приймача.
У нанальному рівні деколи виділяють два підрівна (sublayers):
· верхнійй підрівень (LLC – Logical Link Control), який здійснює управління логічним зв'язком, тобто встановлює віртуальний канал зв'язку і відповідає за взаємодію з мережевим рівнем;
· нижній підрівень (MAC – Media Access Control), який забезпечує безпосередній доступ до середовища передачі інформації (каналу зв'язку) і здійснює взаємодію з фізичним рівнем. MAC безпосередньо зв'язаний з апаратурою мережі; на ньому проводиться контроль стану мережі, повторне передавання пакетів при колізіях, приймання пакетів і перевірка правильності передачі.
Протоколів канального рівня досить багато, і вони істотно відрізняються один від одного своїми функціональними можливостями. На цьому рівні діють, наприклад, протоколи доступу до моноканалу. У протоколах канального рівня, що використовуються в локальних мережах, закладена певна структура зв'язків між комп'ютерами і способи їх адресації. Хоч канальний рівень і забезпечує доставку кадру між будь-якими двома вузлами локальної мережі, він це робить тільки в мережі з певною топологією зв'язків, для якої він був розроблений.
Фізичний рівень (Physical layer) — керує засобами організації фізичного з'єднання (встановлення, підтримка і розірвання з'єднань з фізичним каналом мережі), забезпечує підключення до фізичного каналу потрібними фізичними реквізитами, ідентифікує канали, виявляє їх пошкодження і передає інформацію об'єктам канального рівня.
Фізичний рівень займається передаванням необроблених («сирих») двійкових розрядів за каналом звязку. Керування передаванням здійснюється на рівні бітів, як (переважно) цифрових (амплітуда, форма, частота імпульсів), так і аналогових (амплітуда, частота, фаза неперервного сигналу). При розробці та функціонуванні мережі необхідно бути впевненим, що значення переданого біту збігається зі значенням прийнятого. Цей рівень визначає, яка напруга має використовуватися для відображення 1 та 0; скільки часу має тривати біт; чи можлива передача в двох напрямках одночасно; як встановлюється і як завершується зв'язок, яким має бути середовище передачі, яке лежить нижче фізичного рівня; якими будуть механічні, електричні та процедурні інтерфейси.
Оскільки фізичний рівень обмежується процесами і механізмами, необхідними для передачі сигналів в передавальне середовище і прийому сигналів із цього середовища, то деколи в еталонну модель OSI вводять «нульовий уровень». У моделі OSI однакові рівні різних систем спілкуються між собою за допомогою протоколів. Однак це спілкування для вищих шести рівнів віртуальне: ці однакові рівні різних систем не зв'язуються між собою безпосередньо, а лише через фізичний рівень, що забезпечує повну сумісність будь-яких систем різного типу.
Засоби кожного рівня відпрацьовують протокол свого рівня і інтерфейси з усідніми рівнями. Нижчі рівні забезпечують можливість функціонування вищих; при цьому кожен рівень має інтерфейс тільки з сусідніми рівнями і на кожному рівні управління обумовлюється специфікація послуг (що робить рівень) та специфікація протоколів (як це робиться).
Набор протоколів, достатній для організації взаємодії в мережі, називається стеком комунікаційних протоколів. Стеки протоколів найбільш поширених мереж — мережі Х.25, глобальної мережі Інтернет і локальної обчислювальній мережі Novell NetWare — показані на рис. 5.7 нижче.
Рис. 5.7. Стеки протоколів найвідоміших мереж