Тема 10. Функції рівнів моделі OSI Тема 10. Функції рівнів моделі OSI Фізичний рівень (Physical Layer) Цей рівень керує передачею бітів по фізичних каналах, таких, як коаксіальний кабель, скручена пара або оптоволоконний кабель. На цьому рівні визначаються електричні, механічні, функціональні і процедурні параметри для фізичного зв'язку в системах.На цьому рівні визначаються характеристики електричних сигналів – рівень напруги або струму сигналу, тип кодування, швидкість передавання даних тощо. Тут стандартизуються типи роз’ємів і призначення кожного контакту. Фізичний рівень отримує пакети даних від канального рівня і перетворює їх в оптичні або електричні сигнали, що відповідають «0» та «1» бінарного потоку. Ці сигнали посилаються через середовище передачі на приймальний вузол. Функції фізичного рівня реалізуються у всіх пристроях, що під’єднані до мережі. В комп'ютері функції фізичного рівня виконують мережний адаптер, модем або послідовний порт.Фізичний рівень виконує наступні функції: Встановлення і роз'єднання фізичних з'єднань.Передача і прийом сигналів в послідовному коді.Прослуховування, в потрібних випадках, каналів.Ідентифікація каналів.Сповіщення про появу несправностей і відмов.Прикладом протоколу фізичного рівня може служити специфікація 10Base-T технології Ethernet, яка визначає як використаний кабель неекрановану скручену пару категорії 3 з хвильовим опором 100 Ом, роз’єм RJ-45, максимальну довжину фізичного сегменту 100 метрів, манчестерський код для представлення даних на кабелі, та інші характеристики середовища і електричних сигналів.Канальний рівень (Data Link Layer) На фізичному рівні просто пересилаються біти. При цьому не враховується, що в певних мережах, де лінії зв'язку використовуються (розділяються) по черзі кількома парами взаємодіючих комп'ютерів, фізичне середовище передачі може бути зайнятим. Тому одним із завдань канального рівня є перевірка доступності середовища передачі. Іншим завданням канального рівня є реалізація механізмів виявлення і корекції помилок. Для цього на канальному рівні біти групуються в набори, що називають кадрами (frames). Канальний рівень забезпечує коректність передачі кожного кадру: На початку і наприкінці кожного кадру поміщається спеціальна послідовність бітів для відзначення кадру як окремої одиниці.Обчислюється контрольна сума: підсумовуються всі байти кадру в певний спосіб і контрольна сума додається до кадру. Коли кадр сягає одержувача, з його боку знову обчислюється контрольна сума отриманих даних, а результат порівнюється з контрольною сумою з кадру. Якщо вони збігаються, то кадр вважається правильним і приймається. Якщо ж контрольні суми не збігаються, то фіксується помилка.В протоколах канального рівня, що використовуються в локальних мережах, закладено певну структуру зв'язків між комп'ютерами та способи їх адресації. Хоча канальний рівень і забезпечує доставку кадру між любими двома вузлами локальної мережі, він це робить тільки в мережі з певною типовою топологією зв'язків, саме тією топологією, для якої його було розроблено. До типових топологій, що підтримуються протоколами канального рівня локальних мереж, відносяться «загальна шина», «кільце» і «зірка». В локальних мережах протоколи канального рівня втілено в комп'ютери, мости, комутатори і маршрутизатори. В комп'ютерах функції канального рівня реалізовано у мережних адаптерах та їх драйверах.В глобальних мережах, які рідко мають регулярну топологію, канальний рівень забезпечує обмін повідомленнями між двома сусідніми комп'ютерами, що сполучені індивідуальною лінією зв'язку. Функції канального рівня: Організація (встановлення, управління, розірвання) канальних з'єднань і ідентифікація їх портів.Організація і передача кадрів.Виявлення і виправлення помилок.Управління потоками даних.Забезпечення прозорості логічних каналів (передача по них даних, що закодовані в певний спосіб).Прикладами протоколів канального рівня є протоколи Ethernet, Token Ring, FDDI, 100VG-AnyLAN.Мережний рівень (Network Layer) Цей рівень призначено для утворення єдиної транспортної системи, що об'єднує кілька мереж з різними принципами передачі інформації між кінцевими вузлами. Розглянемо функції мережного рівня на прикладі локальних мереж. Протокол канального рівня локальних мереж забезпечує доставку даних між будь-якими вузлами лише в мережі з відповідною типовою топологією. Це дуже жорстке обмеження, яке не дозволяє розбудовувати мережі з розвиненою структурою, наприклад, мережі, що об'єднують кілька мереж підприємства в єдину мережу, або високонадійні мережі, в яких існують надмірні зв'язки між вузлами. Для того, щоб, з одного боку, зберегти простоту передачі даних у типових топологіях, а з іншого боку, допустити використання довільних топологій, використовується додатковий мережний рівень. На цьому рівні вводиться поняття «мережа». В даному випадку під «мережею» розуміють сукупність комп'ютерів, які сполучені між собою відповідно до однієї із стандартних типових топологій і використовують для передачі даних один з протоколів канального рівня, що визначений для цієї топології.Таким чином, всередині мережі передача даних регулюється на канальному рівні, а передачею даних між мережами займається мережний рівень.Повідомлення мережного рівня називають пакетами (packets). При організації доставки пакетів на мережному рівні використовується поняття «номер мережі». В цьому випадку адреса одержувача складається з номера мережі і номера комп'ютера в цій мережі.Мережі об'єднуються між собою за допомоги спеціальних пристроїв, що називаються маршрутизаторами (рис. 10.1). Маршрутизатор - це пристрій, який збирає інформацію про топологію міжмережних з'єднань і на її підставі пересилає пакети мережного рівня до мережі призначення. Рис. 10.1. Передача інформації через маршрутизатори. Для того, щоб передати повідомлення від відправника, що знаходиться в одній мережі, до одержувача, що знаходиться в іншій мережі, потрібно зробити певну кількість транзитних передач (hops) між мережами, кожного разу вибираючи відповідний маршрут. Таким чином, маршрут є послідовністю маршрутизаторів, через які проходить пакет.Проблема вибору самого кращого шляху називається маршрутизацією і її вирішення є головним завданням мережного рівня, бо найкоротший шлях не завжди є найкращим. Часто, критерієм при виборі маршруту є час передачі даних за цим маршрутом. Він залежить від пропускної здатності каналів зв'язку і інтенсивності трафіку, яка може змінюватися з часом. Деякі алгоритми маршрутизації намагаються пристосуватися до зміни навантаження, в той час, як інші приймають рішення на підставі середніх показників за тривалий час. Вибір маршруту може здійснюватися і за іншими критеріями, наприклад, надійності передачі.На мережному рівні застосовано два види протоколів. Перший вид відноситься до визначення правил передачі пакетів з даними кінцевих вузлів від вузла до маршрутизатора та між маршрутизаторами. Саме ці протоколи зазвичай мають на увазі, коли говорять про протоколи мережного рівня. Інший вид протоколів називають протоколами обміну маршрутною інформацією. За допомогою цих протоколів маршрутизатори збирають інформацію про топологію міжмережних з'єднань. Протоколи мережного рівня реалізовані як програмні модулі операційної системи, а також як програмні та апаратні засоби маршрутизаторів.Функції мережного рівня: Створення мережних з'єднань та ідентифікація їх портів.Виявлення і виправлення помилок, що виникають при передачі через комунікаційну мережу.Управління потоками пакетів.Організація (впорядкування) послідовностей пакетів.Маршрутизація і комутація.Сегментація і об'єднання пакетів. Прикладами протоколів мережного рівня є протокол міжмережної взаємодії IP стека TCP/IP і протокол міжмережного обміну пакетами IPX стека Novell.Транспортний рівень (Transport Layer) Протоколи транспортного рівня призначені для передачі пакетів через комунікаційну мережу. На транспортному рівні повідомлення, що надходить з верхніх рівнів розбивається на блоки. На шляху від відправника до одержувача блоки можуть бути спотворені або загублені. Хоча деякі застосування мають власні засоби обробки помилок, існують і такі, які вважають за краще відразу мати справу з надійним з'єднанням. Транспортний рівень забезпечує для застосувань або для верхніх рівнів моделі (прикладного та сеансового) передачу даних з відповідним ступенем надійності. Модель OSI визначає п'ять класів сервісу, що надаються транспортним рівнем. Класи сервісу різняться за якістю наявних послуг: Терміновістю.Можливістю відновлення перерваного зв'язку.Наявністю засобів мультиплексування кількох з'єднань між різними прикладними протоколами через загальний транспортний протокол.Здатністю до виявлення і виправлення помилок передачі, таких як спотворення, втрата і дублювання пакетів. Вибір класу сервісу транспортного рівня визначається, з одного боку ступенем забезпечення надійності, що вирішується самими застосуваннями і протоколами вищими за транспортний рівень, а з іншого боку, цей вибір залежить від того, наскільки надійною є вся система транспортування даних в мережі. Так, наприклад, якщо якість каналів передачі зв'язку є дуже високою, і вірогідність виникнення помилок, не виявлених протоколами нижчих рівнів є невеликою, то розумно скористатися одним з полегшених сервісів транспортного рівня, що необтяжений численними перевірками, квотуванням і іншими прийомами підвищення надійності. Якщо транспортні засоби відразу є ненадійними, то доцільно звернутися до найбільш розвиненого сервісу транспортного рівня, який працює з використанням максимальної кількості засобів для виявлення і виправлення помилок - за допомогою попереднього встановлення логічного з'єднання, контролю доставки повідомлень за допомогою контрольних сум і циклічної нумерації пакетів, встановлення тайм-аутів доставки тощо.Транспортний рівень визначає адреси фізичних пристроїв у мережі, гарантує доставку блоків інформації до адресатів і керує цією доставкою. Його головним завданням є забезпечення ефективних, зручних і надійних форм передачі інформації між системами. Якщо під час обробки виявлено кілька блоків, транспортний рівень контролює черговість їх проходження. Якщо надходить дублікат прийнятого раніше повідомлення, то даний рівень це розпізнає і проігнорує повідомлення.Починаючи з транспортного рівня, всі вищі протоколи реалізовано суто програмними засобами, які зазвичай, містяться у складі мережної операційної системи.Функції транспортного рівня: Управління передачею по мережі і забезпечення цілісності блоків даних.Виявлення помилок, їх часткова ліквідація і повідомлення про невиправлені помилки.Відновлення передачі після відмов і несправностей.Укрупнення або розділення блоків даних.Надання пріоритетів при передачі блоків (звичайна або термінова).Підтвердження передачі.Ліквідація блоків при складних ситуаціях в мережі. Відомим транспортним протоколом є TCP (Transmission Control Protocol) - протокол управління передачею зі стеку TCP/IP.Сеансовий рівень (Session Layer) Сеансовий рівень відповідає за організацію сеансів обміну даними між кінцевими вузлами. Протоколи сеансового рівня керують взаємодією суб’єктів: фіксують активні на даний момент комп’ютери і надають засоби синхронізації передачі. У випадку довгих передач вони дозволяють зберігати інформацію про стан передач у вигляді контрольних точок. Тому, у випадку відмови з’являється можливість повернення назад до контрольної точки, і не потрібно починати передачу від початку.На практиці протокол сеансового рівня рідко реалізовано як окремий протокол. Функції сеансового рівня зазвичай об’єднуються з функціями прикладного рівня і втілюються в одному протоколі.Функції сеансового рівня: Встановлення і завершення на сеансовому рівні з'єднання між взаємодіючими системами.Виконання звичайного і термінового обміну даними між прикладними процесами.Управління взаємодією прикладних процесів.Синхронізація сеансових з'єднань.Сповіщення прикладних процесів про виняткові ситуації.Встановлення в прикладному процесі контрольних точок, що дозволяють у разі переривання сеансу відновити його виконання від найближчої мітки.Переривання в потрібних випадках прикладного процесу і його коректне відновлення.Припинення сеансу без втрачання даних.Передача службових повідомлень про хід проведення сеансу.Представницький рівень (Presentation Layer) Цей рівень забезпечує гарантію того, що інформація, яка передається прикладним рівнем, буде зрозумілою для прикладного рівня в іншій системі. За потребою представницький рівень виконує перетворення форматів даних в певний загальний формат представлення, а на прийомі, відповідно, виконує зворотне перетворення. Таким чином, прикладні рівні можуть подолати, наприклад, відмінності в представленні різних кодувань даних (ASCII чи КОИ8). На цьому рівні може виконуватися шифрування і дешифрування даних, завдяки цьому для всіх прикладних сервісів відразу забезпечується секретність обміну даними. Протоколи представницького рівня зазвичай є складовою частиною прикладних протоколів і реалізуються разом з ним.Функції представницького рівня: Генерація запитів на встановлення сеансів взаємодії прикладних процесів.Узгодження представлення даних між прикладними процесами.Реалізація форм представлення даних.Стиснення та розпаковування даних.Шифрування та дешифрування даних.Передача запитів на встановлення чи припинення сеансів. Прикладом протоколу представлення є протокол SSL (Secure Socket Layer), який забезпечує секретний обмін повідомленнями для протоколів прикладного рівня стека TCP/IP.Прикладний рівень (Application Layer) Прикладний рівень - це набір різноманітних протоколів, за допомогою яких користувачі мережі мають доступ до роздільних ресурсів, таких як файли, принтери, веб-сторінки, а також організовують спільну роботу, наприклад, за допомогою протоколу електронної пошти. Одиниця даних, якою оперує прикладний рівень, зазвичай називається повідомленням (message).Прикладний рівень відповідає за доступ застосувань у мережу і користувач отримує інформацію у зручному та зрозумілому вигляді.Функції прикладного рівня Ідентифікація користувачів по їх паролях, адресах, електронних підписах.Визначення функціонуючих абонентів і можливості доступу до нових прикладних процесів.Визначення достатності наявних ресурсів.Організація запитів на з'єднання з іншими прикладними процесами.Передача заявок до представницького рівня на необхідні методи опису інформації.Вибір процедур планованого діалогу процесів.Управління даними, якими обмінюються прикладні процеси і синхронізація взаємодії прикладних процесів.Визначення якості обслуговування (час доставки блоків даних, допустимої частоти помилок).Угода про виправлення помилок і визначення достовірності даних.Узгодження обмежень, що накладаються на синтаксис (набори символів, структура даних).Поширені прикладні протоколи: Протокол для роботи в службі WWW ^ Протокол HTTP (Hyper Text Transfer Protocol). Забезпечує передачу запитів до віддалених серверів, їх обробку і пересилання на локальний комп’ютер документів у форматі HTML – веб-сторінок. Протокол постачає інформацію для спеціалізованих програм-клієнтів – браузерів. Протокол НТТР окрім ІР-адрес використовує символьні доменні адреси ресурсів. Адреса конкретного елементу (сторінки, зображення, медіафайлу) сайту називається URL (Uniform Resourse Locator).http://www.site.ua/page.htmlПротоколи для роботи з електронною поштою Призначені для організації доставки та передачі повідомлень електронної пошти.SMTP (Simple Mail Transfer Protocol). Відповідає за відправлення листів. Дозволяє:Відправляти повідомлення на кілька адрес.Проміжне збереження поштових повідомлень.Пересилання копій повідомлень на інші адреси.РОР3 (Post Office Protocol). Відповідає за доставку листів. Має вбудовані механізми розпізнавання адрес електронної пошти, а також модулі підвищення надійності отримання повідомлень. Протокол для роботи зі службою FTP ^ Протокол FTP (File Transport Protocol). Призначений для передачі даних через мережу. Протокол FTP дозволяє переносити дані (файли, папки, підпапки) з віддаленого вузла на локальний і навпаки. Це відбувається за допомогою системи команд служби FTP, що описують функції протоколу.Взаємодія різних рівнів Отже, це сім рівнів моделі OSI. В моделі відокремлено програмну і апаратну частини структури мережі. Перші два нижніх рівні моделі OSI – фізичний та канальний працюють з апаратними засобами мережі, вони залежать від топології мережі та мережного устаткування. Решта верхніх п'ять рівнів мало залежать від технічних особливостей побудови мережі. Можна перейти на іншу мережну технологію і це не потребує жодних змін в програмних засобах верхніх рівнів.Тепер чіткіше розкривається картина взаємодії комп'ютерів в мережі: Користувач набирає в адресному полі браузера, який працює в ОС Windows доменну адресу www.site.ua.Оскільки браузер за замовченням є клієнтом для служби Веб, тому прикладним протоколом, до якого передусім скеровується запит є протокол HTTP. Що і буде зазначено в адресному полі http://www.site.ua На прикладному рівні формується повідомлення запиту клієнта. Це повідомлення послідовно опускається вниз і обробляється на верхніх рівнях моделі OSI: представницькому і сеансовому.На транспортному рівні повідомлення розбивається на дрібні частини – пакети, які містять адресу призначення і всі необхідні атрибути. На транспортному рівні також вибираються необхідна ступінь надійності передачі.На мережному рівні виконуються всі дії для скерування пакетів за певним маршрутом в певне місце, в певну мережу певної топології. Протоколи нижніх рівнів: канальний і фізичний рівні передають цю інформацію, у вигляді електромагнітних сигналів певної форми, з певною частотою, по певних лініях зв'язку до певного вузла певнії мережі. Після надходження потоку бітів до вузла-одержувача, першим приймає інформацію його протокол фізичного рівня, в подальшому інформація послідовно передається до канального рівня і вище. Кожен рівень виконує вказівки, що зазначено у відповідному службовому заголовку, відкидає його і скеровує до вищого протоколу. В результаті запит потрапляє на самий верхній рівень моделі OSI віддаленого вузла, і від нього до програмного застосування, що обробляє запит. Там формується відповідь, яка посилається по всіх рівнях до комп'ютера-клієнта (до його відповідних рівнів), і в результаті на екрані формується сторінка з віддаленого сервера.Контрольні запитання Які функції покладено на протоколи фізичного рівня?Протоколи якого рівня перевіряють доступність середовища передачі? На якому рівні регулюється передача даних всередині одної мережі стандартної типової топології?На протоколи якого рівня покладено організацію маршрутизації і комутації?Протоколи якого рівня призначені для утворення єдиної транспортної системи, що об'єднує кілька мереж з різними принципами передачі інформації?На якому рівні вибирається класу сервісу передачі даних в мережі?На якому рівні надаються засоби синхронізації передачі?На якому рівні здійснюється переривання і коректне відновлення прикладного процесу?Протоколи якого рівня здійснюють засекречування даних, що будуть передаватися?Протоколи якого рівня забезпечують доступ клієнта до мережних служб?