К.т.н. Василенко В.С., Хак Д.А.
Функціональні
можливості базової еталонної моделі взаємодії відкритих систем ОSI
В статті висвітлюється питання особливостей,
функціональних можливостей, рівнів моделі OSI, їх призначення.
Еталонна модель OSI, яку ще називають стеком OSI являє
собою 7 – рівневу мережну ієрархію (рис. 1) розроблену Міжнародною
організацією по стандартах (International Standardization Organization – ISO. Ця модель містить у собі по суті дві різних моделі:
горизонтальну модель на базі протоколів, що забезпечує механізм взаємодії
програм і процесів на різних машинах; вертикальну модель на основі послуг,
що забезпечуються сусідніми рівнями один одному на одній машині.
У горизонтальній моделі 2-ом програмам потрібен
загальний протокол для обміну даними. У вертикальній моделі сусідні рівні
обмінюються даними з використанням інтерфейсів API.
Ðèñ.1.
Ìîäåëü OSI.
Фізичний рівень (Physical layer) має справу з передачею бітів по фізичних каналах зв'язку,
таких, наприклад, як коаксіальний кабель, вита пара, оптоволоконний кабель або
цифровий територіальний канал. До цього рівня мають відношення
характеристики фізичних середовищ передачі даних, такі як смуга пропускання,
перешкодозахищеність, хвильовий опір і інші. На цьому ж рівні визначаються
характеристики електричних сигналів, що передають дискретну інформацію,
наприклад, крутість фронтів імпульсів, рівні напруження або струму сигналу, тип
кодування, швидкість передачі сигналів. Крім цього, тут стандартизуються
типи роз'ємів і призначення кожного контакту.
Функції фізичного рівня реалізуються у всіх пристроях,
підключених до мережі. З боку комп'ютера функції фізичного рівня
виконуються мережевим адаптером або послідовним портом.
На фізичному рівні просто
пересилаються біти. При цьому не враховується, що в деяких мережах, в яких
лінії зв'язку використовуються (розділяються) поперемінно декількома парами
взаємодіючих комп'ютерів, фізичне середовище передачі може бути
зайняте. Тому однією із задач канального рівня (Data
Link layer) є перевірка доступності середовища передачі. Іншою задачею
канального рівня є реалізація механізмів виявлення і корекції помилок. Для
цього на канальному рівні біти групуються в набори, звані кадрами
(frames). Канальний рівень забезпечує коректність передачі кожного кадру,
вміщуючи спеціальну послідовність біт в початок і кінець кожного кадру, для
його виділення, а також обчислює контрольну суму, обробляючи всі байти кадру
певним способом і додаючи контрольну суму до кадру. Коли кадр приходить по
мережі, одержувач знов обчислює контрольну суму отриманих даних і порівнює
результат з контрольною сумою з кадру. Якщо вони збігаються, кадр
вважається правильним і приймається. Якщо ж контрольні суми не збігаються,
то фіксується помилка. Канальний рівень може не тільки виявляти помилки,
але і виправляти їх за рахунок повторної передачі пошкоджених
кадрів. Необхідно відзначити, що функція виправлення помилок не є
обов'язковою для канального рівня.
Мережний рівень (Network layer) служить для утворення єдиної транспортної системи, що
об'єднує декілька мереж, причому ці мережі можуть використати абсолютно різні
принципи передачі повідомлень між кінцевими вузлами і володіти довільною
структурою зв'язків.
На мережному рівні сам термін мережа наділяють
специфічним значенням. У даному випадку під мережею розуміється сукупність
комп'ютерів, які з'єднані між собою відповідно до однієї з стандартних типових
топологій і використовують для передачі даних один із протоколів канального
рівня, визначеного для цієї топології.
Мережі
з'єднуються маршрутизаторами. Маршрутизатор – це пристрій, який збирає
інформацію про топологію міжмережних з'єднань і на її основі пересилає пакети
мережного рівня в мережу призначення. Щоб передати повідомлення від
відправника, що знаходиться в одній мережі, одержувачу, що знаходиться в іншій
мережі, треба здійснити деяку кількість транзитних передач між мережами, кожний
раз вибираючи відповідний маршрут. Таким чином, маршрут являє собою
послідовність маршрутизаторів, через які проходить пакет.
На рис. 2 показані чотири мережі, пов'язані трьома
маршрутизаторами. Між вузлами А і В даній мережі пролягають 2 маршрути: перший
через маршрутизатори 1 і 3, а другий через маршрутизатори 1, 2 і 3.
Рис. 2. Приклад складеної мережі
Проблема вибору найкращого шляху називається
маршрутизацією, і її рішення є однією з головних задач мережного рівня. Ця
проблема ускладнюється тим, що найкоротший шлях не завжди найкращий. Часто
критерієм при виборі маршруту є час передачі даних по цьому маршруту; воно
залежить від пропускної спроможності каналів зв'язку та інтенсивності трафіку,
яка може змінюватися з часом. Деякі алгоритми маршрутизації намагаються
пристосуватися до зміни навантаження, в той час як інші приймають рішення на
основі середніх показників за тривалий час. Вибір маршруту може
здійснюватися і за іншими критеріями, наприклад надійності передачі.
У загальному випадку функції мережного рівня ширше, ніж
функції передачі повідомлень по зв'язках з нестандартною
структурою. Мережний рівень вирішує також задачі узгодження різних
технологій, спрощення адресації у великих мережах і створення надійних і
гнучких бар'єрів на шляху небажаного трафіка між мережами.
Повідомлення мережного рівня прийнято називати пакетами
(packets). При організації доставки пакетів на мережному рівні використовується
поняття «номер мережі». У цьому випадку адреса одержувача складається з
старшої частини - номера мережі і молодшої - номера вузла в цій
мережі. Всі вузли однієї мережі повинні мати одну й ту ж старшу частину
адреси, тому терміну "мережа" на мережному рівні можна дати й інше,
більш формальне визначення: мережа – це сукупність вузлів, мережна адреса яких
містить один і той же номер мережі.
На мережному рівні визначаються два види
протоколів. Перший вид – мережні протоколи (routed protocols) – реалізують
просування пакетів через мережу. Саме ці протоколи зазвичай мають на
увазі, коли кажуть про протоколи мережного рівня. Однак, часто до мережного
рівня відносять і інший вид протоколів, що називаються протоколами обміну
маршрутною інформацією або просто протоколами маршрутизації (routing
protocols). За допомогою цих протоколів маршрутизатори збирають інформацію
про топологію міжмережних з'єднань. Протоколи мережного рівня
реалізовуються програмними модулями операційної системи, а також програмними й
апаратними засобами маршрутизаторів.
На мережному рівні працюють протоколи ще одного типу, які
відповідають за відображення адреси вузла, що використовується на мережному
рівні, в локальну адресу мережі. Такі протоколи часто називають
протоколами дозволу адрес - Address Resolution Protocol, ARP.
На шляху від відправника до
одержувача пакети можуть бути спотворені або загублені. Хоча деякі додатки
мають власні засоби обробки помилок, існують і такі, які вважають за краще
відразу мати справу з надійним з'єднанням. Транспортний рівень
(Transport layer) забезпечує додаткам або верхнім рівням стека – прикладному і
сеансовому – передачу даних з тим ступенем надійності, яка їм
потрібна. Модель OSI визначає п'ять класів сервісу, що надаються
транспортним рівнем. Ці види сервісу відрізняються якістю наданих послуг:
терміновістю, можливістю відновлення перерваного зв'язку, наявністю засобів
мультиплексування декількох з'єднань між різними прикладними протоколами через загальний
транспортний протокол, а головне – здатністю до виявлення і виправлення помилок
передачі, таких як спотворення, втрата і дублювання пакетів.
Вибір класу сервісу транспортного рівня визначається, з
одного боку, тим, якою мірою завдання забезпечення надійності вирішується
самими додатками і протоколами більш високих, ніж транспортний, рівнів, а з
іншого боку, цей вибір залежить від того, наскільки надійною є система
транспортування даних в мережі, що забезпечується рівнями, розташованими
нижче транспортного – мережним, канальним і фізичним. Так, наприклад, якщо
якість каналів передачі зв'язку дуже висока і імовірність виникнення помилок,
не виявлених протоколами більш низьких рівнів, невелика, то розумно
скористатися одним з полегшених сервісів транспортного рівня, не обтяжених
численними перевірками, іншими прийомами підвищення надійності. Якщо ж
транспортні засоби нижніх рівнів спочатку дуже ненадійні, то доцільно
звернутися до найбільш розвиненому сервісу транспортного рівня, який працює, використовуючи
максимум засобів для виявлення та усунення помилок, за допомогою попереднього
встановлення логічного з'єднання, контролю доставки повідомлень по контрольних
сумах і циклічної нумерації пакетів, встановлення тайм-аутів доставки і т. п.
Всі протоколи, зазвичай,
починаючи з транспортного рівня і вище, реалізуються програмними засобами
кінцевих вузлів мережі – компонентами їх мережних операційних систем. Як
приклад транспортних протоколів можна привести протоколи TCP і UDP стека TCP/IP
і протокол SPX стека Novell.
Сеансовий рівень (Session layer) забезпечує керування діалогом: фіксує, яка зі сторін є
активною в даний момент, надає засоби синхронізації. Останні дозволяють
вставляти контрольні точки в довгі передачі, щоб у випадку відмови можна було
повернутися назад до останньої контрольної точки, а не починати все з
початку. На практиці деякі додатки використовують сеансовий рівень, і він
рідко реалізується у вигляді окремих протоколів, хоча функції цього рівня часто
об'єднують з функціями прикладного рівня і реалізують в одному протоколі.
Рівень представлення (Presentation layer) має справу з формою подання переданої по мережі
інформації, не змінюючи при цьому її змісту. За рахунок рівня представлення
інформація, що передається прикладним рівнем однієї системи, завжди зрозуміла
прикладному рівню іншої системи. За допомогою засобів даного рівня
протоколи прикладних рівнів можуть подолати синтаксичні відмінності в
представленні даних або ж розходження в кодах символів, наприклад кодів ASCII і
EBCDIC. На цьому рівні може виконуватися шифрування і дешифрування даних,
завдяки якому таємність обміну даними забезпечується відразу для всіх
прикладних служб. Прикладом такого протоколу є протокол Secure Socket
Layer (SSL), який забезпечує секретний обмін повідомленнями для протоколів
прикладного рівня стека TCP/IP.
Прикладний рівень (Application layer) – це насправді просто набір різноманітних протоколів,
за допомогою яких користувачі мережі отримують доступ до ресурсів, таких як
файли, принтери або гіпертекстові Web-сторінки, а також організують свою
спільну роботу, наприклад, за допомогою протоколу електронної пошти.
Одиниця даних, якою оперує прикладний рівень, зазвичай називається
повідомленням (message).
Існує дуже велике різноманіття служб прикладного рівня. Наведемо
як приклад хоча б кілька найбільш поширених реалізацій файлових служб: NCP в
операційній системі Novell NetWare, SMB у
Microsoft Windows NT, NFS, FTP і TFTP, що входять в стек TCP/IP.
Таким чином, кожний рівень має свої функціональні особливості, своє призначення, має
свої завдання, і може мати додаткові, допоміжні функціональні можливості, але
кожний попередній рівень взаємодіє з наступним і з аналогічним на іншій машині.
Література
1.
Уровни модели
OSI. Режим доступу. На сайті http://edu.dvgups.ru/
METDOC/GDTRAN/YAT/TELECOMM/PDI/METOD/PISHIKOV/Addressing/ Glava001/ 03.htm
2.
Модель OSI. 1997 Xylan Corporation. Перевод на русский язык 1998, BiLiM
Systems Ltd. Режим доступу. На сайті http://citforum.ru/
nets/switche/osi.shtml
3.
Олифер
В.Г., Олифер Н.А. Основы сетей передачи данных. - М.: Изд-во
"Интернет-университет информационных технологий - ИНТУИТ.ру", 2003. -
248 c.: ил.