Тема 9. Еталонна модель OSI
В перші роки появи міжкомп'ютерного зв'язку програмне забезпечення організації мереж створювалося безсистемно, для кожного окремого випадку. Після того, як мережі надбали достатньої популярності, більшість фахівців визнали необхідність стандартизації програмного та апаратного забезпечення комп’ютерних мереж. Очевидно, що стандартизація дозволяє постачальникам розробляти системи апаратного і програмного забезпечення, які зможуть взаємно функціонувати навіть за наявності різних архітектур.
Слід провести чітку грань між роботою програмних та апаратних засобів мережі. В мережі може працювати різноманітне за технологією устаткування, від нього залежать якісні показники мережі: продуктивність, надійність тощо. Інші характеристики мережі, такі як прозорість та безпека залежать від різноманітного програмного забезпечення: мережних операційних систем та мережних застосувань.
По суті, мережа - це з'єднання різного устаткування, різного програмного забезпечення, і тому проблеми забезпечення сумісності різних технологій обладнання або різних типів операційних систем залишаються важливими.
Звісно, що існує певна незалежність роботи апаратних і програмних засобів, які разом виконують роботу комп'ютерної мережі. Вона закладена в загальну єдину систему побудови роботи компонентів мережі. Програмні засоби «не замислюються» що відбувається «внизу», вони просто надсилають туди свої запити і отримують відповідь у зрозумілій для себе формі. З іншого боку апаратні засоби мережі, теж «не замислюються», що програмне забезпечення робить з результатами їх роботи, вони отримують запит, виконують потрібні дії і надають відповідь.
Зрозуміло, що за величезної різноманітності мережних продуктів, без ухвалення всіма виробниками в цій області, загальноприйнятих правил побудови устаткування, прогрес в «розбудові» мереж був би просто не можливий.
Розглянемо роботу двох комп'ютерів в мережі.
Рис. 9.1. Міжмережна взаємодія двох комп’ютерів.
Це узагальнена дворівнева модель взаємодії комп'ютерів в мережі, що містить два рівні: програмний і апаратний (рис. 9.1).
В такий моделі інформація перетворюється в кілька етапів: -
Користувач вводить певний запит (наприклад, знайти файл на комп'ютері 2).
-
Програма надсилає ім'я файлу і всі необхідні атрибути у вигляді запиту (у перетвореному вигляді) до апаратного рівня.
-
Апаратний рівень представляє запит у вигляді послідовності бітів даних і передає їх по лініях зв'язку (за допомогою певного мережного обладнання) до апаратного рівня комп'ютера 2.
-
Там запит розпізнається і передається до програмного рівня комп'ютера 2.
-
Програмний рівень комп'ютера 2 виконує роботу і надсилає відповідь до комп'ютера 1.
Це є абстрактна модель, яка узагальнено відображає організацію роботи в мережі. Справжня модель є значно складнішою. Загальне завдання розділяється на кілька модулів, чітко визначаються функції для кожного модуля, який вирішує певну задачу, а також інтерфейси між модулями, які забезпечують їх взаємодію.
Для створення стрункої моделі використовують багаторівневий підхід, де передбачено вищі та нижчі рівні. Всю множину модулів розподіляють на рівні чітко за функціональними обов'язками.
Модулі верхніх рівнів для виконання своїх завдань звертаються із запитами тільки до модулів безпосередньо ближніх нижніх рівнів. Результати виконання роботи модулів нижніх рівнів передаються, навпаки, до модулів сусідніх верхніх рівнів. Набір функцій, які притаманні взаємодії двох сусідніх рівнів визначають відповідні інтерфейси (рис. 9.2).
Рис. 9.2. Багаторівнева структура.
Набори функцій для всіх рівнів та інтерфейсів між рівнями є чітко визначеними і відносно незалежними. Саме тому, такі моделі мають важливу перевагу - заміна того чи іншого модуля мало відбивається на загальному функціонуванні моделі в цілому. Модулі нижнього рівня вирішують задачу передавання сигналів між двома сусідніми вузлами. Модулі середнього рівня можуть організовувати транспортування повідомлень в межах всієї мережі, користуючись засобами нижнього рівня. Модулі верхніх рівнів надають користувачам доступ до різних служб, - файлових, друку тощо.
Такий багаторівневий підхід до реалізації функцій системи застосовується не лише відносно мережних засобів. Наприклад, за такою же моделлю працюють локальні файлові системи.
Нехай, користувачу потрібно відкрити певний файл. Верхній рівень моделі розбирає «по кісточках» складене символьне ім'я цього файлу і визначає його унікальний ідентифікатор.
Наступний рівень за цим ідентифікатором з’ясовує всі основні характеристики файлу: адресу знаходження, атрибути доступу тощо.
На нижчому рівні перевіряються права доступу до файлу, і після обчислення координат області файлу, що містить необхідні дані, виконується фізичний обмін із зовнішнім пристроєм за допомогою драйвера диску.
В мережній взаємодії в процесі беруть участь два комп’ютери, тому тут потрібно змоделювати узгоджену роботу двох «ієрархій». Завдання ускладнюється багатьма узгодженостями між цими вузлами. Це угоди про рівень і форму електричних сигналів, спосіб визначення довжини інформації, методи контролю її на помилки і достовірність. Правила повинні бути застосовані для всіх рівнів, починаючи від найвищого, що реалізовує сервіс користувача мережі – до найнижчого рівня, що керує передачею бітів інформації.
Можна організовувати багато моделей, але потрібна єдина, стандартна модель, якої б дотримувалися всі виробники мережних продуктів, щоб, як мінімум, забезпечити сумісність нових розробок та розробок, що вже існують і працюють в комп'ютерних мережах.
Така модель була створена на початку 80-х років фахівцями провідних організацій зі стандартизації і була розроблена на підставі великого досвіду, отриманого при створенні комп'ютерних мереж, в основному глобальних. Вона зіграла значну роль в розвитку мереж і дотепер все, що стосується мережної взаємодії, прямо або побічно використовує цю модель.
OSI - Базова Еталонна модель взаємодії відкритих систем
Еталонну модель OSI (Open System Interconnection Reference Model), розроблено Міжнародною організацією зі стандартизації (International Organization for Standardization, ISO).
В широкому сенсі відкритою системою може бути названа будь-яка система (комп'ютер, обчислювальна мережа, ОС, програмний пакет, інші апаратні чи програмні продукти), яка побудована відповідно до відкритих специфікацій.
Під терміном «специфікація» в обчислювальній техніці розуміють опис апаратних або програмних компонентів: способи їх функціонування, взаємодія з іншими компонентами, умови експлуатації, обмеження і особливі характеристики.
Під відкритими специфікаціями розуміють опубліковані, загальнодоступні специфікації, що відповідають стандартам і є прийнятими в результаті досягнення згоди після всебічного обговорення всіма зацікавленими сторонами.
Для реальних систем повна відкритість є недосяжним ідеалом, «відкритими» є лише деякі частини, що підтримують зовнішні інтерфейси. Наприклад, відкритість сімейства операційних систем Unix полягає у наявності стандартизованого програмного інтерфейсу між ядром і застосуваннями, що дозволяє легко переносити застосування з середовища однієї версії Unix в середовище іншої версії. Чим більше відкритих специфікацій використано при розробці системи, тим більш відкритою вона є.
В моделі OSI під відкритою системою розуміють мережний пристрій, що може взаємодіяти з іншими мережними пристроями з використанням стандартних правил, які визначають формат, зміст і значення прийнятих чи відправлених повідомлень.
Переваги побудови мереж з дотриманням принципів відкритості: -
Можливість побудови мережі з апаратних і програмних засобів від різних виробників, що дотримуються єдиного стандарту.
-
Можливість легкої заміни окремих компонентів мережі на інші, більш досконалі, що дозволяє розвивати мережу з мінімальними витратами.
-
Можливість легкого об'єднання кількох мереж.
-
Простота освоєння і обслуговування мережі.
Модель OSI визначає різні рівні взаємодії систем, надає їм стандартні імена і вказує, які функції повинен виконувати кожен рівень. Повний опис цієї моделі займає більше 1000 сторінок тексту, тому коротко розглянемо суть моделі.
В моделі OSI засоби взаємодії поділяються на сім рівнів:
7 - Прикладний (Application Layer)
6 - Представницький (Presentation Layer)
5 - Сеансовий (Session Layer)
4 - Транспортний (Transport Layer)
3 - Мережний (Network Layer)
2 - Канальний (Data Link Layer)
1 - Фізичний (Physical Layer)
Модель OSI описує взаємодію двох мережних комп'ютерів. Передача даних від одного комп'ютера до іншого починається з верхнього сьомого рівня, дані передаються з рівня на рівень до самого нижнього першого рівня. При прийомі одержувачем дані передаються вгору від першого рівня. Два комп'ютери встановлюють мережну взаємодію тоді, коли їх програмне забезпечення відповідного рівня моделі OSI може взаємодіяти між собою.
Узагальнений опис функціонування моделі OSI.
Наприклад, нехай застосування звертається із запитом до прикладного рівня, скажемо до файлової служби. На підставі цього запиту програмне забезпечення прикладного рівня формує повідомлення стандартного формату. Звичайне повідомлення складається із заголовка і поля даних. Заголовок містить службову інформацію (інформацію про місце знаходження файлу і про те, що з ним потрібно зробити). Цю інформацію необхідно передати через мережу до прикладного рівня тієї машини, до якої адресовано повідомлення (комп'ютера-одержувача), щоб повідомити його, яку роботу комп’ютеру треба виконати.
Прикладний рівень направляє повідомлення вниз до представницького рівня. Програмні засоби представницького рівня читають заголовок отриманої інформації з прикладного рівня, виконують необхідні дії, потім додають до повідомлення власну службову інформацію - заголовок представницького рівня. У заголовку представницького рівня містяться вказівки для представницького рівня комп'ютера-адресата (рис. 9.3).
Рис. 9.3. Модель OSI.
Отримане повідомлення передається вниз до сеансового рівня, який у свою чергу додає свій заголовок, і т.д. Деякі засоби рівнів поміщають службову інформацію не лише на початку повідомлення у вигляді заголовка, але і в кінці.
Нарешті, повідомлення сягає нижнього, фізичного рівня, який власне і передає його по лініях зв'язку до комп'ютера-адресата. До цього моменту повідомлення «обростає» заголовками всіх рівнів (рис. 9.4).
Рис. 9.4. Просування повідомлення по рівнях.
Для того, щоб доставити цю інформацію за призначенням належить виконати ще багато завдань. Відповідальність за ці завдання несуть нижні рівні моделі OSI.
Отже, повідомлення по мережі поступає до комп'ютера-одержувача. Воно приймається його нижнім рівнем і послідовно переміщається вгору з рівня на рівень. Кожен рівень аналізує і обробляє заголовок свого рівня, виконує відповідні до даного рівня функції, а потім видаляє цей заголовок і передає повідомлення до вищого рівня. У результаті повідомлення, послане джерелом в чистому вигляді, досягає відповідного рівня системи одержувача. Віддалений комп'ютер-одержувач виконує дії, які були вказані в отриманому повідомленні, і надсилає відповідь-результат, і тепер він вже не комп'ютер-одержувач, а комп'ютер-відправник і так далі.
Службова інформація в заголовках керує процесом передачі і призначена для контролю його успішності і достовірності. При виникненні проблем може бути зроблена спроба вирішити їх на тому рівні, де вони були виявлені. При неможливості рішення проблеми рівень повідомляє про неї вищестоящі рівні.
На кожному рівні виконується контроль достовірності і обробка помилок. При цьому може бути ініційований повтор передачі даних.
Термін повідомлення (message) має багато синонімів, які застосовують мережні фахівці для позначення одиниць даних в процедурах обміну. В стандартах ISO для позначення одиниць даних, з якими мають справу протоколи різних рівнів, використовується загальна назва протокольний блок даних (Protocol Data Unit, PDU). Для позначення блоків даних певних рівнів часто використовуються спеціальні назви: кадр (frame), пакет (packet), дейтаграма (datagram), сегмент (segment). Ці терміни використовують для опису роботи окремого рівня моделі OSI.
Поняття про протоколи, інтерфейси, стеки протоколів
Модель OSI чітко представляє процедуру взаємодії двох вузлів. Інформація кожного рівня за певними правилами передається від одного вузла до іншого, починаючи від найвищого, який реалізовує сервіс для користувачів мережі до найнижчого, який реалізовує передачу бітів. Кожна пара відповідних рівнів двох вузлів також взаємодіє один з одним за встановленими певними правилами.
Формалізовані правила, які визначають, в якій послідовності і в якому форматі повинні обмінюватися повідомленнями мережні компоненти, що належать до одного рівня, але в різних вузлах, називаються протоколом.
В моделі OSI модуль любого з рівнів одного вузла реалізує не лише взаємодію з сусідніми рівнями, які знаходяться в цьому вузлі, але ще і дозволяє взаємодіяти з відповідними рівнями іншого вузла.
Сусідні рівні в одному вузлі взаємодіють між собою за допомогою чітких певних правил і стандартизованих форматів повідомлень, які називаються інтерфейсом.
Таким чином, протоколи займаються визначенням правил взаємодії модулів одного рівня в різних вузлах, а інтерфейси - модулів сусідніх рівнів в одному вузлі.
Кожен рівень повинен мати засоби, які зможуть, по-перше, обробляти свій власний протокол, а по-друге, реалізовувати інтерфейси з сусідніми рівнями.
Ієрархічно організований набір протоколів, що є достатнім для організації взаємодії вузлів в мережі, називається стеком комунікаційних протоколів.
Комунікаційні протоколи можуть бути реалізовані як програмно, так і апаратно. Протоколи нижніх рівнів реалізуються комбінацією програмних і апаратних засобів, а протоколи верхніх рівнів - суто програмними засобами.
Програмний модуль, що реалізовує певний протокол, часто скорочено також називають «протоколом». Зрозуміло, що програмний протокол може мати різні реалізації. Важливо враховувати при порівнянні протоколів не лише логіку їх роботи, але і якість та ступінь ефективності їх програмної реалізації. На ефективність взаємодії пристроїв в мережі впливає якість всієї сукупності протоколів, що складають стек, зокрема, наскільки раціонально розподілено функції між протоколами різних рівнів і наскільки добре визначено інтерфейси між ними.
Зв'язок комп'ютерів в мережі здійснюється не безпосередньо, а через різні комунікаційні пристрої - концентратори, мости, комутатори, маршрутизатори. Залежно від типу пристрою в ньому повинні бути вбудовані засоби, що реалізовують той або інший набір протоколів.
Поняття «протокол» і «інтерфейс» на аналогічному прикладі
Торгова фірма «На здоров'я» займається продажем-розповсюдженням молока торгової марки «На здоров'я». Ось вже більше шести років її постійним клієнтом є магазин «Смак». Природно, що з часом між ними склалися чіткі і визначені угоди та домовленості, які можна описати наступною моделлю їх взаємодії.
На початку кожного місяця директор магазина Іван Іванович посилає офіційне повідомлення до менеджера торгової фірми Василя Васильовича. У цій заявці Іван Іванович вказує, скільки йому потрібно молока цього місяця. У відповідь на цей запит менеджер фірми "На здоров'я" надсилає платіжну відомість певного зразка на відвантажену кількість молока. Таку взаємодію можна назвати протоколом рівня начальників.
Начальники надсилають свої повідомлення через своїх секретарів. Порядок такої взаємодії можна визначити як міжрівневий інтерфейс «начальник-секретар». При цьому ці інтерфейси можуть бути зовсім не однаковими в двох організаціях - скажімо, в магазині начальник для обміну даними з секретарем користується спеціально відведеною папкою, а в торговій фірмі менеджер спілкується з секретарем за факсом. Отже, начальників не турбує, яким чином ці повідомлення передаються, їм потрібним є результат, а не спосіб його реалізації: поштою, електронною поштою, факсом, кур’єром.
Спосіб передачі повідомлень вибиратимуть секретарі, вони можуть навіть і не повідомляти про це начальників, оскільки протокол взаємодії секретарів пов'язаний суто з передачею інформації, яка поступає зверху, при цьому вони зовсім не читають її. Це можна назвати протокол «секретар-секретар».
При вирішенні інших питань, начальники можуть домовлятися за іншими правилами-протоколами, але це не впливає на роботу секретарів. Секретарям не важливо, які повідомлення потрібно посилати, головне, щоб вони дійшли до місця призначення.
Отже, ця модель взаємодії є дворівневою: рівень начальників і рівень секретарів. Кожен рівень має власний протокол, який може змінюватися незалежно від протоколу іншого рівня
Така незалежність протоколів один від одного і робить ефективним багаторівневий підхід.
Мережезалежні та мереженезалежні протоколи
Функції всіх рівнів моделі OSI можуть бути віднесені до однієї з двох груп: або до функцій, що залежать від конкретної технічної реалізації мережі, або до функцій, що орієнтовані на роботу із застосуванями.
Три нижніх рівні фізичний, канальний і мережний є мережезалежними. Протоколи цих рівнів тісно пов'язані з технічною реалізацією мережі та з використаним комунікаційним устаткуванням. Наприклад, перехід на устаткування FDDI означає зміну протоколів фізичного і канального рівня у всіх вузлах мережі.
Ці протоколи мають узагальнену назву – транспортна підсистема або мережний транспорт. Вони повністю вирішують задачу транспортування повідомлень з заданим рівнем якості в складених мережах, що складаються з мереж з довільною топологією та різними технологіями.
Три верхні рівні сеансовий, представницький і прикладний вирішують задачі надання прикладних сервісів на підставі існуючої транспортної підсистеми.
Вони орієнтовані на застосування і мало залежать від технічних особливостей побудови мережі. На протоколи цих рівнів не впливають жодні зміни в топології мережі, заміна устаткування або перехід на іншу мережну технологію. Так, перехід від Ethernet на високошвидкісну технологію 100VG-AnyLAN не потребує жодних змін в програмних засобах, що реалізовують функції прикладного, представницького і сеансового рівнів.
Транспортний рівень є проміжним, він приховує всі деталі функціонування протоколів нижніх рівнів від протоколів верхніх рівнів. Це дозволяє розробляти застосування, що не залежать від технічних засобів передавання повідомлень, які безпосередньо займаються транспортуванням.
Один кінцевий вузол взаємодіє з іншим кінцевим вузлом за допомогою протоколів всіх сімох рівнів.
Цю взаємодію кінцеві вузли здійснюють через різні комунікаційні пристрої:
-
Модеми, мережні адаптери.
-
Повторювачі, концентратори
-
Мости, комутатори.
-
Маршрутизатори.
-
Шлюзі.
Залежно від типу комунікаційний пристрій може працювати: -
Тільки на фізичному рівні (повторювач, концентратор).
-
На фізичному і канальному рівнях (міст, комутатор).
-
На фізичному, канальному і мережному рівнях, іноді захоплюючи і транспортний рівень (маршрутизатор).
Контрольні запитання -
Яку систему називають «відкритою»?
-
Що розуміють під терміном «специфікація» в обчислювальній техніці?
-
Що називають стеком комунікаційних протоколів?
-
Які функції покладено на мережні протоколи та мережні інтерфейси?
-
Скільки рівнів взаємодії закладено в моделі OSI?
-
Протоколи яких рівнів є мереженезалежними та мережезалежними?
-
Яким чином закладається службова інформація у пакети, що будуть передаватися по мережі? Для чого вона призначена?
-
Протоколи яких рівнів вирішують проблеми передачі сигналів між двома сусідніми вузлами?
-
Протоколи яких рівнів безпосередньо спілкуються з програмами-клієнтами?
-
Протоколи яких рівнів забезпечують доступ користувача до різних мережних служб?
Достарыңызбен бөлісу: |