Osi протоколи рівнів. Канальний рівень мережевої моделі OSI

Олександр Горячов, Олексій Нісковський

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

Існує еталонна модель взаємодії відкритих систем (Open System Interconnection Reference Model), яка часто називається моделлю OSI. Ця модель розроблена Міжнародною організацією зі стандартизації (International Organization for Standardization, ISO). Модель OSI визначає схему взаємодії мережевих об'єктів, визначає перелік завдань та правила передачі даних. Вона включає сім рівнів: фізичний (Physical - 1), канальний (Data-Link - 2), мережевий (Network - 3), транспортний (Transport - 4), сеансовий (Session - 5), подання даних (Presentation - 6) ) та прикладної (Application - 7). Вважається, що два комп'ютери можуть взаємодіяти один з одним на конкретному рівні моделі OSI, якщо їх програмне забезпечення, що реалізує мережеві функції цього рівня, однаково інтерпретує ті самі дані. У цьому випадку встановлюється пряма взаємодія між двома комп'ютерами, яка називається «точка-точка».

Реалізації моделі OSI протоколами називаються стеками (наборами) протоколів. В рамках одного конкретного протоколу неможливо реалізувати всі функції OSI. Зазвичай завдання конкретного рівня реалізуються одним чи кількома протоколами. На одному комп'ютері мають працювати протоколи з одного стека. При цьому комп'ютер одночасно може використовувати декілька стеків протоколів.

Розглянемо завдання, розв'язувані кожному з рівнів моделі OSI.

Фізичний рівень

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

Реалізації протоколів фізичного рівня моделі OSI координують правила передачі бітів.

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

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

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

Першою у базовому наборі є шинна (bus) топологія. У цьому випадку всі мережні пристрої та комп'ютери підключаються до загальної шини передачі даних, яка найчастіше формується за допомогою коаксіального кабелю. Кабель, який формує загальну шину, називається магістральним (backbone). Від кожного пристрою, підключеного до шини, сигнал передається в обидві сторони. Для видалення сигналу з кабелю на кінцях шини слід використовувати спеціальні переривники (terminator). Механічне пошкодження магістралі позначається роботі всіх пристроїв, підключених до неї.

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

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

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

Розглянуті топології найчастіше будуються із застосуванням кабельних з'єднань.

Існує ще одна топологія, що використовує бездротові з'єднання - стільникова (cellular). У ній мережеві пристрої та комп'ютери об'єднуються в зони - комірки (cell), взаємодіючи тільки з приймально-передавальним пристроєм комірки. Передача інформації між осередками здійснюється приймально-передаючими пристроями.

Канальний рівень

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

Протоколами канального рівня визначаються:

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

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

З канальним рівнем зазвичай пов'язані такі мережні з'єднувальні пристрої:

  • мости;
  • інтелектуальні концентратори;
  • комутатори;
  • мережні інтерфейсні плати (мережеві інтерфейсні карти, адаптери тощо).

Функції канального рівня поділяються на два підрівні (табл. 1):

  • керування доступом до середовища передачі (Media Access Control, MAC);
  • керування логічним з'єднанням (Logical Link Control, LLC).

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

Абревіатура MAC також використовується при визначенні фізичної адреси мережного пристрою: фізична адреса пристрою (яка визначається всередині мережевого пристрою або мережної карти на етапі виробництва) часто називають MAC-адресою цього пристрою. Для великої кількості мережевих пристроїв, особливо мережевих карток, існує можливість програмно змінити MAC-адресу. При цьому необхідно пам'ятати, що канальний рівень моделі OSI накладає обмеження на використання MAC-адрес: в одній фізичній мережі (сегмент більше за розміром мережі) не може бути двох або більше пристроїв, що використовують однакові MAC-адреси. Для визначення фізичної адреси мережного об'єкта можна використовувати поняття «адреса вузла» (node ​​address). Адреса вузла найчастіше збігається з MAC-адресою або логічно визначається при програмному перепризначенні адреси.

Підрівень LLC визначає правила синхронізації передачі та сервісу з'єднань. Цей рівень канального рівня тісно взаємодіє з мережевим рівнем моделі OSI і відповідає за надійність фізичних (з використанням MAC-адрес) сполук. Логічна топологія (logical topology) мережі визначає спосіб і правила (послідовність) передачі між комп'ютерами в мережі. Мережеві об'єкти передають дані залежно від логічної топології мережі. Фізична топологія визначає фізичний шлях даних; у деяких випадках фізична топологія не відбиває спосіб функціонування мережі. Фактичний шлях даних визначається логічною топологією. Для передачі даних логічним шляхом, який може відрізнятися від шляху у фізичному середовищі, використовуються мережні пристрої підключення та схеми доступу до середовища передачі. Хороший приклад відмінностей між фізичною та логічною топологіями – мережа Token Ring фірми IBM. У локальних мережах Token Ring часто використовується мідний кабель, який прокладається у зіркоподібну схему із центральним розгалужувачем (хабом). На відміну від нормальної зіркоподібної топології хаб не пересилає вхідні сигнали всім іншим підключеним пристроям. Внутрішня схема хаба послідовно відправляє кожен вхідний сигнал наступного пристрою заздалегідь визначеному логічному кільці, тобто за круговою схемою. Фізичною топологією цієї мережі є зірка, а логічною – кільце.

Ще одним прикладом відмінностей між фізичною та логічною топологіями може бути мережа Ethernet. Фізична мережа може бути побудована з використанням мідних кабелів та центрального хаба. Утворюється фізична мережа, виконана за топологією зірки. Однак технологія Ethernet передбачає передачу інформації від одного комп'ютера до інших, що знаходяться в мережі. Хаб повинен ретранслювати прийнятий з одного порту сигнал на всі інші порти. Утворена логічна мережа із шинною топологією.

Щоб визначити логічну топологію мережі, необхідно зрозуміти, як приймаються сигнали:

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

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

Доступ до середовища передачі

Логічні топології використовують спеціальні правила, що керують дозволом на передачу інформації іншим мережевим об'єктам. Процес керування контролює доступ до середовища передачі даних. Розглянемо мережу, де всім пристроям дозволено функціонувати без будь-яких правил отримання доступу до середовища передачі. Всі пристрої в такій мережі передають інформацію з готовністю даних; ці передачі можуть іноді накладатися у часі. В результаті накладання сигнали спотворюються, відбувається втрата даних, що передаються. Така ситуація називається колізією (collision). Колізії не дозволяють організувати надійну та ефективну передачу інформації між мережевими об'єктами.

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

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

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

Перед тим як вибрати протокол, в якому реалізовано один із цих методів доступу до середовища передачі даних, слід звернути особливу увагу на такі фактори:

  • характер передач - безперервний чи імпульсний;
  • кількість передачі даних;
  • необхідність передачі в суворо певні інтервали часу;
  • кількість активних пристроїв у мережі.

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

Змагання.Системи з урахуванням змагання (конкуренції) припускають, що доступом до середовища передачі реалізується з урахуванням принципу «перший прийшов - першим обслужений». Іншими словами, кожен мережевий пристрій виборює контроль над середовищем передачі. Системи, що використовують метод змагання, розроблені таким чином, щоб усі пристрої в мережі могли передавати дані лише за необхідності. Ця практика зрештою призводить до часткової або повної втрати даних, тому що насправді відбуваються колізії. У міру додавання до мережі кожного нового пристрою кількість колізій може зростати у геометричній прогресії. Збільшення кількості колізій знижує продуктивність мережі, а разі повного насичення середовища передачі - знижує працездатність мережі до нуля.

Для зниження кількості колізій розроблено спеціальні протоколи, у яких реалізовано функцію прослуховування середовища передачі до початку передачі даних станцією. Якщо станція, що прослуховує, виявляє передачу сигналу (від іншої станції), то вона утримується від передачі інформації і намагатиметься повторити її пізніше. Ці протоколи називаються протоколами множинного доступу з контролем несучої (Carrier Sense Multiple Access, CSMA). Протоколи CSMA значно знижують кількість колізій, але не усувають їх повністю. Колізії проте відбуваються, коли дві станції опитують кабель: не виявляють жодних сигналів, вирішують, що середовище передачі вільне, а потім одночасно починають передачу даних.

Прикладами таких змагальних протоколів є:

  • множинний доступ із контролем несучої/виявленням колізій (Carrier Sense Multiple Access/Collision Detection, CSMA/CD);
  • множинний доступ з контролем несучої/запобігання колізій (Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA).

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

Прикладами протоколів CSMA/CD є Ethernet version 2 (Ethernet II, розроблений у корпорації DEC) та IEEE802.3.

Протоколи CSMA/CA. CSMA/CA використовує такі схеми, як доступ із квантуванням часу (time slicing) або надсилання запиту отримання доступу до середовища. При використанні квантування часу кожна станція може передавати інформацію тільки в певні для цієї станції моменти часу. При цьому в мережі має реалізовуватись механізм управління квантами часу. Кожна нова станція, що підключається до мережі, повідомляє про свою появу, тим самим ініціюючи процес перерозподілу квантів часу для передачі інформації. У разі використання централізованого управління доступом до середовища передачі кожна станція формує спеціальний запит на передачу, який адресується керуючій станції. Центральна станція регулює доступ до середовища передачі всім мережевих об'єктів.

Прикладом CSMA/CA є протокол LocalTalk фірми Apple Computer.

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

Системи із передачею маркера.У системах з передачею маркера (token passing) невеликий кадр (маркер) передається у порядку від одного пристрою до іншого. Маркер - це спеціальне повідомлення, яке передає тимчасове керування середовищем передачі пристрою, що володіє маркером. Передача маркера розподіляє керування доступом між пристроями мережі.

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

Є кілька протоколів передачі маркера. Двома стандартами мереж, що використовують передачу маркера, є IEEE 802.4 Token Bus та IEEE 802.5 Token Ring. У мережі Token Bus використовується керування доступом із передачею маркера та фізична чи логічна шинна топологія, тоді як у мережі Token Ring використовується керування доступом із передачею маркера та фізична чи логічна кільцева топологія.

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

Опитування.Опитування (polling) - це метод доступу, у якому виділяється один пристрій (званий контролером, первинним, чи «майстер»-пристроєм) як арбітра доступу до середовища. Цей пристрій опитує всі інші пристрої (вторинні) в певному порядку, щоб дізнатися, чи мають вони інформацію для передачі. Щоб отримати дані від вторинного пристрою, первинний пристрій надсилає йому відповідний запит, а потім отримує дані від вторинного пристрою і направляє їх одержувачу пристрою. Потім первинний пристрій опитує інший вторинне пристрій, приймає дані від нього, і так далі. Протокол обмежує кількість даних, яку може передати після опитування кожен вторинний пристрій. Опитувальні системи ідеальні для мережних пристроїв, чутливих до часу, наприклад, автоматизації обладнання.

Цей рівень також забезпечує обслуговування з'єднань. Існує три типи сервісу з'єднань:

  • сервіс без підтвердження та без встановлення з'єднань (unacknowledged connectionless) - посилає та отримує фрейми без управління потоком та без контролю помилок чи послідовності пакетів;
  • сервіс, орієнтований на з'єднання (connection-oriented), - забезпечує управління потоком, контроль помилок та послідовності пакетів у вигляді видачі квитанцій (підтверджень);
  • сервіс з підтвердженням без встановлення з'єднання (acknowledged connectionless) – використовує квитанції для управління потоком та контролю помилок при передачах між двома вузлами мережі.

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

Мережевий рівень

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

Головною метою мережного рівня є вирішення задачі переміщення (доставки) даних у задані точки мережі. Доставка даних на мережному рівні взагалі схожа на доставку даних на канальному рівні моделі OSI, де для передачі даних використовується фізична адресація пристроїв. Однак адресація на канальному рівні відноситься лише до однієї логічної мережі, діє тільки всередині цієї мережі. Мережевий рівень описує методи і засоби передачі між багатьма незалежними (і часто різнорідними) логічними мережами, які, з'єднані разом, формують одну велику мережу. Така мережа називається об'єднаною мережею (internetwork), а процеси передачі між мережами - міжмережевим взаємодією (internetworking).

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

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

Елементи та методи реалізації мережного рівня визначаються таким:

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

На цьому рівні моделі OSI працюють маршрутизатори і деякі комутатори.

Мережевий рівень визначає правила формування логічних адрес (logical network address) мережевих об'єктів. У рамках великої об'єднаної мережі кожен мережевий об'єкт повинен мати унікальну логічну адресу. У формуванні логічної адреси беруть участь два компоненти: логічна адреса мережі, яка є спільною для всіх об'єктів мережі, та логічна адреса мережного об'єкта, яка є унікальною для цього об'єкта. При формуванні логічної адреси мережного об'єкта може використовуватися фізична адреса об'єкта, або визначатися довільна логічна адреса. Використання логічної адресації дозволяє організувати передачу даних між різними логічними мережами.

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

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

Мережевий рівень визначає правила передачі між двома мережевими об'єктами. Ця передача може здійснюватися за допомогою комутації або маршрутизації.

Розрізняють три методи комутації передачі даних: комутація каналів, комутація повідомлень і комутація пакетів.

При використанні комутації каналів встановлюється канал передачі між відправником і одержувачем. Цей канал буде задіяний протягом сеансу зв'язку. При використанні цього методу можливі тривалі затримки виділення каналу, пов'язані з відсутністю достатньої смуги пропускання, завантаженістю комутаційного обладнання або зайнятістю одержувача.

Комутація повідомлень дозволяє передавати ціле (нерозбите на частини) повідомлення за принципом «зберегти та передати далі» (store-and-forward). Кожен проміжний пристрій приймає повідомлення, локально його зберігає і при звільненні каналу зв'язку, яким це повідомлення має бути відправлено, відправляє його. Цей метод добре підходить для передачі електронної пошти та організації електронного документообігу.

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

Щоразу при визначенні подальшого шляху даних необхідно вибрати найкращий маршрут. Завдання визначення найкращого шляху називається маршрутизацією (routing). Це завдання виконують маршрутизатори (router). Завдання маршрутизаторів - визначення можливих шляхів передачі, підтримка маршрутної інформації, вибір найкращих маршрутів. Маршрутизація може здійснюватися статичним чи динамічним методом. При завданні статичної маршрутизації мають бути задані всі взаємозв'язки між логічними мережами, які залишаються незмінними. Динамічна маршрутизація передбачає, що маршрутизатор може сам визначати нові шляхи чи модифікувати інформацію про старих. Динамічна маршрутизація використовує спеціальні алгоритми маршрутизації, найбільш поширеними є вектор дистанції (distance vector) і стан каналу (link state). У першому випадку маршрутизатор використовує інформацію про структуру мережі сусідніх маршрутизаторів, з інших рук. У другому випадку маршрутизатор оперує інформацією про власні канали зв'язку та взаємодіє зі спеціальним представницьким маршрутизатором для побудови повної карти мережі.

На вибір найкращого маршруту найчастіше впливають такі чинники, як кількість переходів через маршрутизатори (hop count) і кількість тиків (одиниць часу), необхідні досягнення мережі призначення (tick count).

Сервіс з'єднань мережного рівня працює тоді, коли сервіс з'єднань LLC-підрівня канального рівня моделі OSI не використовується.

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

Транспортний рівень

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

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

Багато протоколів у обчислювальних мережах забезпечують користувачам можливість роботи з простими іменами природною мовою замість складних і важких для запам'ятовування алфавітно-цифрових адрес. Перетворення адрес на імена і назад (Address/Name Resolution) є функцією ідентифікації або відображення імен та алфавітно-цифрових адрес один в одного. Ця функція може виконуватися кожним об'єктом у мережі або постачальниками спеціального сервісу, які називаються каталоговими серверами (directory server), серверами імен (name server) тощо. Наступні визначення класифікують методи перетворення адрес/імен:

  • ініціація споживачем сервісу;
  • ініціація постачальником сервісу.

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

Методи адресації

Адреси сервісу ідентифікують конкретні програмні процеси, які виконуються на мережевих пристроях. На додаток до цих адрес постачальники сервісу відстежують різні діалоги, які вони ведуть з пристроями, що запитують послуги. Два різні методи діалогу використовують такі адреси:

  • ідентифікатор з'єднання;
  • ідентифікатор транзакції.

Ідентифікатор з'єднання (connection identifier), також званий ID з'єднання (connection ID), портом (port) або сокетом (socket), ідентифікує кожен діалог. За допомогою ідентифікатора з'єднання постачальник з'єднання може зв'язуватися з більш ніж одним клієнтом. Постачальник сервісу звертається до кожного об'єкта комутації за номером, а координації інших адрес нижнього рівня покладається на транспортний рівень. Ідентифікатор з'єднання пов'язаний із конкретним діалогом.

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

Сеансовий рівень

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

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

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

Сеансовий рівень реалізує управління діалогом з використанням одного із трьох способів спілкування - симплекс (simplex), напівдуплекс (half duplex) та повний дуплекс (full duplex).

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

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

Рівень представлення даних

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

Під перетворенням розуміється зміна порядку бітів у байтах, порядку байтів у слові, кодів символів та синтаксису імен файлів.

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

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

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

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

Локальні та мережні операційні системи часто шифрують дані для захисту від несанкціонованого використання. Шифрування – це загальний термін, який описує деякі методи захисту даних. Захист часто виконується за допомогою перемішування даних (data scrambling), при якому використовується один або кілька методів з трьох: перестановка, підстановка, метод алгебри.

Кожен із подібних методів – це просто особливий спосіб захисту даних таким чином, щоб вони могли бути зрозумілі лише тим, хто знає алгоритм шифрування. Шифрування даних може виконуватися як апаратно, і програмно. Однак, наскрізне шифрування даних зазвичай виконується програмним способом і вважається частиною функцій рівня подання даних. Для оповіщення об'єктів про метод шифрування зазвичай застосовується 2 методи - секретні ключі і відкриті ключі.

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

Мережеві об'єкти, що використовують методи шифрування з відкритим ключем, забезпечуються секретним ключем та деяким відомим значенням. Об'єкт створює відкритий ключ, маніпулюючи відомим значенням за допомогою секретного ключа. Об'єкт, який ініціює комунікацію, посилає свій відкритий ключ приймачеві. Інший об'єкт потім математично комбінує власний секретний ключ із переданим йому відкритим ключем для встановлення взаємоприйнятного значення шифрування.

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

Прикладний рівень

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

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

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

Сервери здійснюють пасивне подання сервісу (Passive service advertisement) шляхом реєстрації свого сервісу та адреси в каталозі. Коли клієнти хочуть визначити доступні види сервісу, вони просто запитують каталог про місцезнаходження потрібного сервісу та його адресу.

Перш ніж мережевий сервіс може бути використаний, він повинен стати доступним для локальної операційної системи комп'ютера. Існує кілька методів розв'язання цього завдання, однак кожен такий метод може бути визначений положенням або рівнем, на якому локальна операційна система розпізнає мережну операційну систему. Сервіс, що надається, можна підрозділити на три категорії:

  • перехоплення дзвінків операційної системи;
  • віддалений режим;
  • спільна обробка даних.

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

В іншому випадку, при віддаленому режимі (Remote Operation) роботи локальна операційна система знає про мережу і відповідальна за передачу запитів до мережного сервісу. Однак сервер нічого не знає про клієнта. Для операційної системи сервера всі запити до сервісу виглядають однаково, незалежно від того, чи вони є внутрішніми або передані через мережу.

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

Комп'ютерПрес 6"1999

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

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

Поясню на прикладі: відкриваючи будь-яку сторінку в інтернеті, сервер (де знаходиться сторінка) пересилає у Ваш браузер дані (гіпертекстовий документ) за протоколом HTTP. Завдяки протоколу HTTP Ваш браузер, отримуючи дані з сервера, знає, як їх потрібно обробити, та успішно обробляє їх, показуючи Вам запитувану сторінку.

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

Не сильно відволікатимемося, "Мережева модель" потрібна тема для тих, хто хоче стати фахівцем. Ця стаття складається з 3х частин і для Вас, Я постарався написати не нудно, тямуще і коротко. Для отримання подробиць, або отримання додаткового роз'яснення, відпишіться в коментарях внизу сторінки, і я неодмінно допоможу Вам.

Ми, як і в Мережевій Академії Cisco, розглянемо дві мережеві моделі: модель OSI і модель TCP/IP (іноді її називають DOD), а заразом і порівняємо їх.

OSI розшифровується як Open System Interconnection. Російською мовою це звучить так: Мережева модель взаємодії відкритих систем (еталонна модель). Цю модель можна назвати стандартом. Саме цією моделлю дотримуються виробники мережевих пристроїв, коли розробляють нові продукти.

Мережева модель OSI складається з 7 рівнів, причому прийнято починати відлік із нижнього.

Перерахуємо їх:

  • 7. Прикладний рівень (application layer)
  • 6. Представницький рівень чи рівень подання (presentation layer)
  • 5. Сеансовий рівень (session layer)
  • 4. Транспортний рівень (transport layer)
  • 3. Мережевий рівень (network layer)
  • 2. Канальний рівень (data link layer)
  • 1. Фізичний рівень (physical layer)

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

Прикладний рівень

Прикладний рівень або рівень додатків (application layer) – це найвищий рівень моделі. Він здійснює зв'язок додатків користувача з мережею. Ці програми нам усім знайомі: перегляд веб-сторінок (HTTP), передача та прийом пошти (SMTP, POP3), прийом та отримання файлів (FTP, TFTP), віддалений доступ (Telnet) тощо.

Представницький рівень

Представницький рівень або рівень подання даних (presentation layer) – він перетворює дані на відповідний формат. На прикладі зрозуміти простіше: ті картинки (всі зображення) які ви бачите на екрані передаються при пересиланні файлу у вигляді маленьких порцій одиниць та нуліків (бітів). Так ось, коли Ви надсилаєте своєму другу фотографію електронною поштою, протокол Прикладного рівня SMTP відправляє фотографію на нижній рівень, тобто. на рівень Подання. Де Ваша фотка перетворюється на зручний вигляд даних для нижчих рівнів, наприклад на біти (одиниці та нулі).

Саме таким чином, коли Ваш друг почне отримувати Ваше фото, йому воно надходитиме у вигляді тих самих одиниць і нулів, і саме рівень Подання перетворює біти на повноцінне фото, наприклад JPEG.

Ось так і працює цей рівень із протоколами (стандартами) зображень (JPEG, GIF, PNG, TIFF), кодувань (ASCII, EBDIC), музики та відео (MPEG) тощо.

Сеансовий рівень

Сеансовий рівень чи рівень сесій(session layer) – як видно з назви, він організує сеанс зв'язку між комп'ютерами. Хорошим прикладом будуть аудіо та відеоконференції, на цьому рівні встановлюється, яким кодеком кодуватиметься сигнал, причому цей кодек повинен бути присутнім на обох машинах. Ще прикладом може бути протокол SMPP (Short message peer-to-peer protocol), з допомогою нього надсилаються добре відомі нам СМСки і USSD запити. І останній приклад: PAP (Password Authentication Protocol) - це старий протокол для відправлення імені користувача та пароля на сервер без шифрування.

Більше про сеансовий рівень нічого не скажу, інакше заглибимося в нудні особливості протоколів. А якщо вони (особливості) Вас цікавлять, пишіть листи мені або залишайте повідомлення в коментарях з проханням розкрити тему докладніше, і нова стаття не змусить себе довго чекати;

Транспортний рівень

Транспортний рівень (transport layer) – цей рівень забезпечує надійність передачі від відправника до одержувачу. Насправді все дуже просто, наприклад, ви спілкуєтеся за допомогою веб-камери зі своїм другом або викладачем. Чи потрібна тут надійна доставка кожного біта переданого зображення? Звичайно ні, якщо загубиться кілька бітів з потокового відео Ви навіть цього не помітите, навіть картинка не зміниться (м.б. зміниться колір одного пікселя з 900 000 пікселів, який промайне зі швидкістю 24 кадри в секунду).

А тепер наведемо такий приклад: Вам друг пересилає (наприклад, поштою) в архіві важливу інформацію або програму. Ви завантажуєте собі на комп'ютер цей архів. Ось тут надійність необхідна 100%, т.к. якщо пару біт при закачуванні архіву загубляться – Ви зможете його розархівувати, тобто. отримати необхідні дані. Або уявіть собі відправку пароля на сервер, і в дорозі один біт загубився – пароль вже втратить свій вигляд і значення зміниться.

Таким чином, коли ми дивимося відео в інтернеті, іноді ми бачимо деякі артефакти, затримки, шуми і т.п. А коли ми читаємо текст із веб-сторінки – втрата (або скривання) букв не допустима, і коли завантажуємо програми – теж все проходить без помилок.

На цьому рівні я виокремлю два протоколи: UDP та TCP. UDP протокол (User Datagram Protocol) передає дані без встановлення з'єднання, не підтверджує доставку даних і робить повтори. TCP протокол (Transmission Control Protocol), який перед передачею встановлює з'єднання, підтверджує доставку даних, за необхідності робить повтор, гарантує цілісність та правильну послідовність даних, що завантажуються.

Отже, для музики, відео, відеоконференцій та дзвінків використовуємо UDP (передаємо дані без перевірки та без затримок), а для тексту, програм, паролів, архівів тощо. – TCP (передача даних із підтвердженням про отримання, витрачається більше часу).

Мережевий рівень

Мережевий рівень (network layer) – цей рівень визначає шлях, яким дані будуть передані. І, між іншим, це третій рівень Мережевої моделі OSI, а існують такі пристрої, які і називають пристроями третього рівня – маршрутизатори.

Всі ми чули про IP-адресу, ось це і здійснює протокол IP (Internet Protocol). IP-адреса – це логічна адреса в мережі.

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

Як про IP-адресу всі чули і про команду ping – це працює протокол ICMP.

Ті самі маршрутизатори (з якими ми будемо працювати надалі) використовують протоколи цього рівня для маршрутизації пакетів (RIP, EIGRP, OSPF).

Канальний рівень

Канальний рівень (data link layer) – він потрібний для взаємодії мереж фізично. Напевно, всі чули про MAC-адресу, ось вона є фізичною адресою. Пристрої канального рівня – комутатори, концентратори тощо.

IEEE (Institute of Electrical and Electronics Engineers – Інститут інженерів з електротехніки та електроніки) визначає канальний рівень двома підрівнями: LLC та MAC.

LLC - керування логічним каналом (Logical Link Control), створений для взаємодії з верхнім рівнем.

MAC – керування доступом до передавального середовища (Media Access Control), створений для взаємодії з нижнім рівнем.

Поясню на прикладі: у Вашому комп'ютері (ноутбуку, комунікаторі) є мережева карта (або якийсь інший адаптер), так для взаємодії з нею (з картою) існує драйвер. Драйвер – це деяка програма- верхній підрівень канального рівня, через яку таки можна зв'язатися з нижніми рівнями, а точніше з мікропроцесором ( залізо) – нижній підрівень канального рівня.

Типових представників цьому рівні багато. PPP (Point-to-Point) – це протокол для зв'язку двох комп'ютерів безпосередньо. FDDI (Fiber Distributed Data Interface) – стандарт передає дані на відстань до 200 км. CDP (Cisco Discovery Protocol) – це проприєтарний (власний) протокол, що належить компанії Cisco Systems, за допомогою якого можна виявити сусідні пристрої та отримати інформацію про ці пристрої.

Фізичний рівень

Фізичний рівень (physical layer) – найнижчий рівень, що безпосередньо здійснює передачу потоку даних. Протоколи нам усім добре відомі: Bluetooth, IRDA (Інфрачервоний зв'язок), мідні дроти (кручена пара, телефонна лінія), Wi-Fi, і т.д.

Висновок

Ось ми розібрали мережеву модель OSI. У наступній частині приступимо до Мережевої моделі TCP/IP, вона менша і протоколи самі. Для успішного складання тестів CCNA треба провести порівняння та виявити відмінності, що й буде зроблено.

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

На початку 80-х років низка міжнародних організацій зі стандартизації – ISO, ITU-T та деякі інші – розробили модель, яка відіграла значну роль у розвитку мереж. Ця модель називається моделлю ISO/OSI.

Модель взаємодії відкритих систем (Open System Interconnection, OSI) визначає різні рівні взаємодії систем у мережах з комутацією пакетів, дає їм стандартні імена та вказує, які функції має виконувати кожен рівень.

Модель OSI була розроблена на підставі великого досвіду, отриманого при створенні комп'ютерних мереж, в основному глобальних, у 70-ті роки. Повний опис цієї моделі займає понад 1000 сторінок тексту.

У моделі OSI (рис. 11.6) засоби взаємодії діляться на сім рівнів: прикладний, представницький, сеансовий, транспортний, мережевий, канальний та фізичний. Кожен рівень має справу з певним аспектом взаємодії мережевих пристроїв.


Мал. 11.6.

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

Слід також мати на увазі, що програма може взяти на себе функції деяких верхніх рівнів моделі OSI. Наприклад, деякі СУБД мають вбудовані кошти віддаленого доступудо файлів. У цьому випадку програма, виконуючи доступ до віддалених ресурсів, не використовує системну файлову службу; воно обходить верхні рівні моделі OSI і звертається безпосередньо до системних засобів, відповідальних за транспортуванняповідомлень через мережу, які розміщуються на нижніх рівнях моделі OSI .

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

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

Для єдиного представлення даних у мережах з неоднорідними пристроями та програмним забезпеченням міжнародна організація стандартів ISO (International Standardization Organization) розробила базову модель зв'язку відкритих систем OSI (Open System Interconnection). Ця модель визначає правила і процедури передачі в різних мережевих середовищах при організації сеансу зв'язку. Основними елементами моделі є рівні, прикладні процеси та фізичні засоби з'єднання. На рис. 1.10 представлено структуру базової моделі.

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

Модель OSI описує лише системні засоби взаємодії, не торкаючись додатків кінцевих користувачів. Програми реалізують власні протоколи взаємодії, звертаючись до системним засобам.

Мал. 1.10. Модель OSI

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

Взаємодія рівнів моделі OSI

Модель OSI можна розділити на дві різні моделі, як показано на рис. 1.11:

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

Вертикальну модель на основі послуг, що забезпечуються сусідніми рівнями одна одній на одній машині.

Кожен рівень комп'ютера-відправника взаємодіє з таким самим рівнем комп'ютера-отримувача, начебто він пов'язаний безпосередньо. Такий зв'язок називається логічним або віртуальним зв'язком. Насправді взаємодія здійснюється між суміжними рівнями одного комп'ютера.

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

У горизонтальній моделі двом програмам потрібен загальний протокол обміну даними. У вертикальній моделі сусідні рівні обмінюються даними із використанням інтерфейсів прикладних програм API (Application Programming Interface).

Мал. 1.11. Схема взаємодії комп'ютерів у базовій еталонній моделі OSI

Перед подачею до мережі дані розбиваються на пакети. Пакет (packet) – це одиниця інформації, яка передається між станціями мережі.

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

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

Мал. 1.12. Формування пакета кожного рівня семирівневої моделі

Кожен рівень моделі виконує свою функцію. Чим вищий рівень, тим складніше завдання він вирішує.

Окремі рівні моделі OSI зручно розглядати як групи програм, які призначені для виконання конкретних функцій. Один рівень, наприклад, відповідає за забезпечення перетворення даних з ASCII в EBCDIC і містить програми, необхідні виконання цього завдання.

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

Мал. 1.13. Функції рівнів моделі OSI

Розглянута модель визначає взаємодію відкритих систем різних виробників однієї мережі. Тому вона виконує для них координуючі дії щодо:

взаємодії прикладних процесів;

Форми подання даних;

Єдине зберігання даних;

управлінню мережевими ресурсами;

Безпеки даних та захисту інформації;

Діагностики програм та технічних засобів.

Прикладний рівень (Application layer)

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

Насправді прикладний рівень – це набір різноманітних протоколів, за допомогою яких користувачі мережі отримують доступ до ресурсів, що розділяються, таким як файли, принтери або гіпертекстові Web-сторінки, а також організують свою спільну роботу, наприклад за допомогою протоколу електронної пошти. Спеціальні елементи прикладного сервісу забезпечують сервіс для конкретних прикладних програм, таких як програми пересилання файлів та емуляції терміналів. Якщо, наприклад, програмі необхідно переслати файли, то обов'язково буде використано протокол передачі, доступу та управління файлами FTAM (File Transfer, Access, and Management). У моделі OSI прикладна програма, якій потрібно виконати конкретне завдання (наприклад, оновити базу даних на комп'ютері), посилає конкретні дані у вигляді дейтаграми на прикладний рівень. Одне з основних завдань цього рівня – визначити, як слід обробляти запит прикладної програми, тобто, який вид має прийняти даний запит.

Одиниця даних, якою оперує прикладний рівень, зазвичай називається повідомленням (message).

Прикладний рівень виконує такі функції:

1. Виконання різноманітних видів робіт.

Передача файлів;

Управління завданнями;

Управління системою тощо;

2. Ідентифікація користувачів за їхніми паролями, адресами, електронними підписами;

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

4. Визначення достатності наявних ресурсів;

5. Організація запитів на з'єднання з іншими прикладними процесами;

6. Передача заявок на представницький рівень на необхідні методи опису інформації;

7. Вибір процедур запланованого діалогу процесів;

8. Управління даними, якими обмінюються прикладні процеси та синхронізація взаємодії прикладних процесів;

9. Визначення якості обслуговування (час доставки блоків даних, допустимої частоти помилок);

10. Угода про виправлення помилок та визначення достовірності даних;

11. Узгодження обмежень, що накладаються на синтаксис (набори символів, структура даних).

Зазначені функції визначають види сервісу, які прикладний рівень надає прикладним процесам. Крім цього, прикладний рівень передає прикладним процесам сервіс, що надається фізичним, канальним, мережевим, транспортним, сеансовим та представницьким рівнями.

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

Прикладний рівень відповідає за доступ додатків до мережі. Завданнями цього рівня є перенесення файлів, обмін поштовими повідомленнями та керування мережею.

До найпоширеніших протоколів верхніх трьох рівнів относятся:

FTP (File Transfer Protocol) протокол передачі файлів;

TFTP (Trivial File Transfer Protocol) найпростіший протокол пересилання файлів;

X.400 електронної пошти;

Telnet робота з віддаленим терміналом;

SMTP (Simple Mail Transfer Protocol) - простий протокол поштового обміну;

CMIP (Common Management Information Protocol) – загальний протокол управління інформацією;

SLIP (Serial Line IP) IP для послідовних ліній. протокол послідовної посимвольної передачі даних;

SNMP (Simple Network Management Protocol) - простий протокол мережного управління;

FTAM (File Transfer, Access, and Management) протокол передачі, доступу та управління файлами.

Рівень представлення даних (Presentation layer)

Функції цього рівня – представлення даних, переданих між прикладними процесами, у потрібній формі.

Цей рівень забезпечує те, що інформація, що передається прикладним рівнем, буде зрозуміла прикладному рівню в іншій системі. У разі необхідності рівень подання у момент передачі виконує перетворення форматів даних на деякий загальний формат подання, а момент прийому, відповідно, виконує зворотне перетворення. Таким чином, прикладні рівні можуть подолати, наприклад, синтаксичні відмінності у поданні даних. Така ситуація може виникнути в ЛОМ з неоднотипними комп'ютерами (IBM PC та Macintosh), яким необхідно обмінюватися даними. Так, у полях баз даних інформація має бути представлена ​​у вигляді букв та цифр, а найчастіше і у вигляді графічного зображення. Обробляти ці дані потрібно, наприклад, як числа з плаваючою комою.

В основу загального представлення даних покладено єдину для всіх рівнів моделі систему ASN.1. Ця система використовується для опису структури файлів, а також дозволяє вирішити проблему шифрування даних. На цьому рівні може виконуватися шифрування та дешифрування даних, завдяки яким секретність обміну даними забезпечується одночасно для всіх прикладних сервісів. Прикладом такого протоколу є Secure Socket Layer (SSL), який забезпечує секретний обмін повідомленнями для протоколів прикладного рівня стека TCP/IP. Цей рівень забезпечує перетворення даних (кодування, компресія тощо) прикладного рівня потоку інформації для транспортного рівня.

Представницький рівень виконує такі основні функції:

1. Генерація запитів встановлення сеансів взаємодії прикладних процесів.

2. Погодження подання даних між прикладними процесами.

3. Реалізація форм подання даних.

4. Подання графічного матеріалу (креслень, малюнків, схем).

5. Засекречування даних.

6. Надсилання запитів на припинення сеансів.

Протоколи рівня представлення даних зазвичай є складовою частиною протоколів трьох верхніх рівнів моделі.

Сеансовий рівень (Session layer)

Сеансовий рівень – це рівень, який визначає процедуру проведення сеансів між користувачами чи прикладними процесами.

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

Сеансовий рівень управляє передачею інформації між прикладними процесами, координує прийом, передачу та видачу одного сеансу зв'язку. Крім того, сеансовий рівень містить додатково функції керування паролями, керування діалогом, синхронізації та скасування зв'язку в сеансі передачі після збою внаслідок помилок у нижчерозташованих рівнях. Функції цього рівня полягають у координації зв'язку між двома прикладними програмами, які працюють різних робочих станціях. Це відбувається у вигляді добре структурованого діалогу. Ці функції включають створення сеансу, керування передачею та отримання пакетів повідомлень під час сеансу та завершення сеансу.

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

Напівдуплексний (процеси будуть передавати та приймати дані по черзі);

Дуплексна (процеси будуть передавати дані, і приймати їх одночасно).

У напівдуплексному режимі сеансовий рівень видає процесу, який починає передачу, маркер даних. Коли другому процесу приходить час відповідати, маркер даних передається йому. Сеансовий рівень дозволяє передачу тільки тій стороні, яка має маркер даних.

Сеансовий рівень забезпечує виконання таких функцій:

1. Встановлення та завершення на сеансовому рівні з'єднання між взаємодіючими системами.

2. Виконання нормального та термінового обміну даними між прикладними процесами.

3. Управління взаємодією прикладних процесів.

4. Синхронізація сеансових з'єднань.

5. Повідомлення прикладних процесів про виняткові ситуації.

6. Встановлення у прикладному процесі міток, дозволяють після відмови чи помилки відновити його виконання від найближчої мітки.

7. Переривання у випадках прикладного процесу та її коректне відновлення.

8. Припинення сеансу без втрати даних.

9. Надсилання спеціальних повідомлень про хід проведення сеансу.

Сеансовий рівень відповідає за організацію сеансів обміну даними між кінцевими машинами. Протоколи сеансового рівня зазвичай є складовою протоколів трьох верхніх рівнів моделі.

Транспортний рівень (Transport Layer)

Транспортний рівень призначений передачі пакетів через комунікаційну мережу. На транспортному рівні пакети розбиваються на блоки.

На шляху від відправника до одержувача пакети можуть бути спотворені чи загублені. Хоча деякі програми мають власні засоби обробки помилок, існують і такі, які вважають за краще відразу мати справу з надійним з'єднанням. Робота транспортного рівня полягає в тому, щоб забезпечити додаткам або верхнім рівням моделі (прикладному та сеансовому) передачу даних з тим ступенем надійності, який їм потрібний. Модель OSI визначає п'ять класів сервісу, що надаються транспортним рівнем. Ці види сервісу відрізняються якістю послуг, що надаються: терміновістю, можливістю відновлення перерваного зв'язку, наявністю засобів мультиплексування декількох з'єднань між різними прикладними протоколами через загальний транспортний протокол, а головне здатністю до виявлення та виправлення помилок передачі, таких як спотворення, втрата та дублювання пакетів.

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

До функцій транспортного рівня входять:

1. Управління передачею по мережі та забезпечення цілісності блоків даних.

2. Виявлення помилок, часткова їх ліквідація та повідомлення про невиправлені помилки.

3. Відновлення передачі після відмов та несправностей.

4. Укрупнення чи поділ блоків даних.

5. Надання пріоритетів під час передачі блоків (нормальна чи термінова).

6. Підтвердження передачі.

7. Ліквідація блоків при тупикових ситуаціях у мережі.

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

Найбільш поширені протоколи транспортного рівня включають:

TCP (Transmission Control Protocol) протокол управління передачею стека TCP/IP;

UDP (User Datagram Protocol) користувача протокол дейтаграм стека TCP/IP;

NCP (NetWare Core Protocol) - базовий протокол мереж NetWare;

SPX (Sequenced Packet eXchange) упорядкований обмін пакетами стека Novell;

TP4 (Transmission Protocol) – протокол передачі класу 4.

Мережевий рівень (Network Layer)

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

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

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

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

Таким чином, усередині мережі доставка даних регулюється канальним рівнем, а ось доставкою даних між мережами займається мережний рівень. При організації доставки пакетів мережному рівні використовується поняття номер мережі. У цьому випадку адреса одержувача складається з номера мережі та номера комп'ютера в мережі.

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

Мережевий рівень відповідає за розподіл користувачів на групи та маршрутизацію пакетів на основі перетворення MAC-адрес у мережеві адреси. Мережевий рівень забезпечує прозору передачу пакетів на транспортний рівень.

Мережевий рівень виконує функції:

1. Створення мережевих з'єднань та ідентифікація їх портів.

2. Виявлення та виправлення помилок, що виникають під час передачі через комунікаційну мережу.

3. Управління потоками пакетів.

4. Організація (упорядкування) послідовностей пакетів.

5. Маршрутизація та комутація.

6. Сегментування та об'єднання пакетів.

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

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

Найчастіше на мережному рівні використовуються протоколи:

IP (Internet Protocol) протокол Internet, мережевий протокол стека TCP/IP, який надає адресну та маршрутну інформацію;

IPX (Internetwork Packet Exchange) протокол міжмережевого обміну пакетами, призначений для адресації та маршрутизації пакетів у мережах Novell;

X.25 міжнародний стандарт для глобальних комунікацій з комутацією пакетів (частково цей протокол реалізовано лише на рівні 2);

CLNP (Connection Less Network Protocol) мережевий протокол без організації з'єднань.

Канальний рівень (Data Link)

Одиницею інформації канального рівня є кадри (frame). Кадри – це логічно організована структура, у якому можна поміщати дані. Завдання канального рівня – передавати кадри від рівня мережі до фізичного рівня.

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

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

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

На цьому рівні визначаються правила використання фізичного рівня вузлами мережі. Електричне представлення даних у ЛОМ (біти даних, методи кодування даних та маркери) розпізнаються на цьому і тільки на цьому рівні. Тут виявляються та виправляються (шляхом вимог повторної передачі даних) помилки.

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

LLC (Logical Link Control) керування логічним каналом здійснює логічний контроль зв'язку. Підрівень LLC забезпечує обслуговування мережевого рівня і пов'язаний з передачею та прийомом повідомлень користувача.

MAC (Media Assess Control) – контроль доступу до середовища. Підрівень MAC регулює доступ до фізичного середовища, що розділяється (передача маркера або виявлення колізій або зіткнень) і керує доступом до каналу зв'язку. Підрівень LLC знаходиться вище за рівень МАC.

Канальний рівень визначає доступ до середовища та управління передачею за допомогою процедури передачі даних каналом.

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

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

У локальних мережах протоколи канального рівня використовуються комп'ютерами, мостами, комутаторами та маршрутизаторами. У комп'ютерах функції канального рівня реалізуються спільними зусиллями мережевих адаптерів та його драйверів.

Канальний рівень може виконувати такі види функцій:

1. Організація (встановлення, управління, розірвання) канальних з'єднань та ідентифікація їх портів.

2. Організація та передача кадрів.

3. Виявлення та виправлення помилок.

4. Управління потоками даних.

5. Забезпечення прозорості логічних каналів (передачі даних, закодованих будь-яким способом).

Найчастіше використовувані протоколи на канальному рівні включають:

HDLC (High Level Data Link Control) протокол управління каналом передачі високого рівня, для послідовних з'єднань;

IEEE 802.2 LLC (тип I і тип II) забезпечують MAC для середовищ 802.x;

Ethernet мережна технологія за стандартом IEEE 802.3 для мереж, що використовує шинну топологію та колективний доступ із прослуховуванням несучої частоти та виявлення конфліктів;

Token ring мережна технологія за стандартом IEEE 802.5, що використовує кільцеву топологію та метод доступу до кільця з передачею маркера;

FDDI (Fiber Distributed Date Interface Station) мережна технологія за стандартом IEEE 802.6, що використовує оптоволоконний носій;

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

Frame relay мережа, організована з технологій Х25 та ISDN.

Фізичний рівень (Physical Layer)

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

Фізичне середовище – це матеріальна субстанція, якою здійснюється передача сигналів. Фізичне середовище є основою, де будуються фізичні засоби сполуки. Як фізичне середовище широко використовуються ефір, метали, оптичне скло та кварц.

Фізичний рівень складається з підрівня стикування з середовищем і підрівня перетворення передачі.

Перший забезпечує поєднання потоку даних з використовуваним фізичним каналом зв'язку. Другий здійснює перетворення, пов'язані з протоколами, що застосовуються. Фізичний рівень забезпечує фізичний інтерфейс з каналом передачі, а також описує процедури передачі сигналів у канал і отримання з каналу. На цьому рівні визначаються електричні, механічні, функціональні та процедурні параметри для фізичного зв'язку в системах. Фізичний рівень отримує пакети даних від вищого канального рівня і перетворює їх на оптичні або електричні сигнали, відповідні 0 і 1 бінарного потоку. Ці сигнали надсилаються через середовище передачі на приймальний вузол. Механічні та електричні/оптичні властивості середовища передачі визначаються фізично і включають:

Тип кабелів та роз'ємів;

Розведення контактів у роз'ємах;

Схему кодування сигналів для значень 0 та 1.

Фізичний рівень виконує такі функції:

1. Встановлення та роз'єднання фізичних сполук.

2. Передача сигналів у послідовному коді та прийом.

3. Прослуховування, у випадках, каналів.

4. Ідентифікація каналів.

5. Оповіщення про появу несправностей та відмов.

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

Мал. 1.14. Фізичний рівень бездротової локальної мережі

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

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

Прикладом протоколу фізичного рівня може служити специфікація 10Base-T технології Ethernet, яка визначає як кабель, що використовується, неекрановану кручену пару категорії 3 з хвильовим опором 100 Ом, роз'єм RJ-45, максимальну довжину фізичного сегмента 100 метрів, манчестерський код для середовища та електричних сигналів.

До найпоширеніших специфікацій фізичного рівня относятся:

EIA-RS-232-C, CCITT V.24/V.28 – механічні/електричні характеристики незбалансованого послідовного інтерфейсу;

EIA-RS-422/449, CCITT V.10 – механічні, електричні та оптичні характеристики збалансованого послідовного інтерфейсу;

Ethernet – мережна технологія за стандартом IEEE 802.3 для мереж, що використовує шинну топологію та колективний доступ із прослуховуванням несучої та виявленням конфліктів;

Token ring – мережна технологія за стандартом IEEE 802.5, що використовує кільцеву топологію та метод доступу до кільця з передачею маркера.

Розробка якого була пов'язана з моделлю OSI.

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

Модель складається з 7 рівнів, розташованих один над одним. Рівні взаємодіють один з одним (по «вертикалі») за допомогою інтерфейсів і можуть взаємодіяти з паралельним рівнем іншої системи (по «горизонталі») за допомогою протоколів. Кожен рівень може взаємодіяти лише зі своїми сусідами та виконувати відведені лише йому функції. Докладніше можна подивитися на малюнку.

Модель OSI
Тип даних Рівень Функції
Дані 7. Прикладний рівень Доступ до мережевих служб
6. Рівень уявлення Подання та кодування даних
5. Сеансовий рівень Управління сеансом зв'язку
Сегменти 4. Транспортний Прямий зв'язок між кінцевими пунктами та надійність
Пакети 3. Мережевий Визначення маршруту та логічна адресація
Кадри 2. Канальний Фізична адресація
Біти 1. Фізичний рівень Робота з середовищем передачі, сигналами та двійковими даними

Прикладний (Додатків) рівень (англ. Application layer)

Верхній рівень моделі забезпечує взаємодію користувачів додатків з мережею. Цей рівень дозволяє програмам використовувати мережні служби, такі як віддалений доступ до файлів і баз даних, пересилання електронної пошти. Також відповідає за передачу службової інформації, надає додаткам інформацію про помилки та формує запити до рівнем уявлення. Приклад: HTTP, POP3, SMTP, FTP, XMPP, OSCAR, BitTorrent, MODBUS, SIP

Представницький (Рівень вистави) (англ. Presentation layer)

Цей рівень відповідає за перетворення протоколів та кодування/декодування даних. Запити програм, отримані з прикладного рівня, він перетворює на формат передачі через мережу, а отримані з мережі дані перетворює на формат, зрозумілий додаткам. На цьому рівні може здійснюватися стиснення/розпакування або кодування/декодування даних, а також перенаправлення запитів іншому мережному ресурсу, якщо вони не можуть бути локально оброблені.

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

Щоб зрозуміти, як це працює, уявімо, що є дві системи. Одна використовує для представлення даних розширений двійковий код обміну інформацією EBCDIC, наприклад, це може бути мейнфрейм IBM, а інша - американський стандартний код обміну інформацією ASCII (його використовують більшість інших виробників комп'ютерів). Якщо цим двом системам необхідно обмінятися інформацією, то необхідний рівень уявлень, який виконає перетворення та здійснить переклад між двома різними форматами.

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

Стандарти рівня уявлень визначають способи представлення графічних зображень. Для цього можна використовувати формат PICT - формат зображень, що використовується для передачі графіки QuickDraw між програмами для комп'ютерів Macintosh і PowerPC. Іншим форматом уявлень є тегований формат файлів зображень TIFF, який зазвичай використовується для растрових зображень з високою роздільною здатністю. Наступним стандартом рівня уявлень, який можна використовувати для графічних зображень, є стандарт, розроблений Об'єднаною експертною групою з фотографії (Joint Photographic Expert Group); у повсякденному користуванні цей стандарт називають просто JPEG.

Існує інша група стандартів рівня уявлень, яка визначає уявлення звуку та кінофрагментів. Сюди входять інтерфейс електронних музичних інструментів MIDI (Musical Instrument Digital Interface) для цифрового представлення музики, розроблений Експертною групою з кінематографії стандарт MPEG, який використовується для стиснення та кодування відеороликів на компакт-дисках, зберігання в оцифрованому вигляді та передачі зі швидкостями до 1,5 Мбіт /с, і QuickTime - стандарт, що описує звукові та відео елементи для програм, що виконуються на комп'ютерах Macintosh та PowerPC.

Сеансовий рівень (англ. Session layer)

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

Транспортний рівень (англ. Transport layer)

4-й рівень моделі призначений для доставки даних без помилок, втрат та дублювання у тій послідовності, як вони були передані. При цьому не важливо, які дані передаються, звідки й куди, тобто він надає механізм передачі. Блоки даних він поділяє на фрагменти, розмір яких залежить від протоколу, короткі об'єднує один, а довгі розбиває. Приклад: TCP, UDP.

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

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

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

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

Мережевий рівень (англ. Network layer)

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

Протоколи мережного рівня маршрутизують дані джерела до одержувача.

Канальний рівень (англ. Data Link layer)

Цей рівень призначений для забезпечення взаємодії мереж на фізичному рівні та контролю за помилками, які можуть виникнути. Отримані з фізичного рівня дані він упаковує у кадри, перевіряє на цілісність, якщо потрібно виправляє помилки (надсилає повторний запит пошкодженого кадру) і відправляє на мережевий рівень. Канальний рівень може взаємодіяти з одним або декількома фізичними рівнями, контролюючи та керуючи цією взаємодією. Специфікація IEEE 802 розділяє цей рівень на 2 підрівні - MAC (Media Access Control) регулює доступ до фізичного середовища, що розділяється, LLC (Logical Link Control) забезпечує обслуговування мережевого рівня.

У програмуванні цей рівень є драйвером мережевої плати, в операційних системах є програмний інтерфейс взаємодії канального та мережевого рівнів між собою, це не новий рівень, а просто реалізація моделі для конкретної ОС. Приклади таких інтерфейсів: ODI, NDIS

Фізичний рівень (англ. Physical layer)

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

Протоколи: IRDA, USB, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, Ethernet (включаючи 10BASE-T, 10BASE2,

Основна недоробка OSI – непродуманий транспортний рівень. На ньому OSI дозволяє здійснювати обмін даними між додатками (вводячи поняття порту- ідентифікатора програми), однак, можливість обміну простими датаграмами (на кшталт UDP) в OSI не передбачена - транспортний рівень повинен утворювати з'єднання, забезпечувати доставку, керувати потоком тощо (за типом TCP). Реальні ж протоколи реалізують таку можливість.

Сімейство TCP/IP

Сімейство TCP/IP має три транспортні протоколи: TCP, повністю відповідний OSI, що забезпечує перевірку отримання даних, UDP, що відповідає транспортному рівню тільки наявністю порту, забезпечує обмін датаграмами між додатками, не гарантує отримання даних і SCTP, розроблений для усунення деяких недоліків TCP і який додано деякі нововведення. (У сімействі TCP/IP є ще близько двохсот протоколів, найвідомішим у тому числі є службовий протокол ICMP , використовуваний внутрішніх потреб забезпечення роботи; інші також є транспортними протоколами.)

Сімейство IPX/SPX

У сімействі IPX/SPX порти (звані «сокети» чи «гнізда») з'являються у протоколі мережевого рівня IPX, забезпечуючи обмін датаграмами між додатками (операційна система резервує частину сокетів собі). Протокол SPX, у свою чергу, доповнює IPX рештою можливостей транспортного рівня в повній відповідності з OSI.

В якості адреси хоста IPX використовує ідентифікатор, утворений із чотирибайтного номера мережі (призначається маршрутизаторами) та MAC-адреси мережного адаптера.

Модель DOD

Стек протоколів TCP/IP, який використовує спрощену чотирирівневу модель OSI.

Адресація в IPv6

Адреси призначення та джерела IPv6 мають довжину 128 біт або 16 байт. Версія 6 узагальнює спеціальні типи адрес версії 4 у наступних типах адрес:

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

Як і версії IPv4, адреси версії IPv6 діляться на класи, залежно від значення кількох старших біт адреси.

Більшість класів зарезервована для майбутнього застосування. Найцікавішим для практичного використання клас, призначений для провайдерів послуг Internet, названий Provider-Assigned Unicast.

Адреса цього класу має таку структуру:

Кожному провайдеру послуг Internet призначається унікальний ідентифікатор, яким позначаються всі мережі, що підтримуються ним. Далі провайдер призначає своїм абонентам унікальні ідентифікатори і використовує обидва ідентифікатори при призначенні блоку адрес абонента. Абонент сам призначає унікальні ідентифікатори своїм підмережам та вузлам цих мереж.

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

Описана схема наближає схему адресації IPv6 до схем, що використовуються у територіальних мережах, таких як телефонні мережі або мережі Х.25. Ієрархія адресних полів дозволить магістральним маршрутизаторам працювати лише зі старшими частинами адреси, залишаючи обробку менш значних полів маршрутизаторам абонентів.

Під поле ідентифікатора вузла потрібно виділення не менше 6 байт, щоб можна було використовувати в IP-адресах МАС-адреси локальних мереж безпосередньо.

Для забезпечення сумісності зі схемою адресації версії IPv4, у версії IPv6 є клас адрес, що мають 00000000 у старших бітах адреси. Молодші 4 байти адреси цього класу повинні містити IPv4 адресу. Маршрутизатори, що підтримують обидві версії адрес, повинні забезпечувати трансляцію під час передачі пакета з мережі, що підтримує адресацію IPv4, до мережі, що підтримує адресацію IPv6, і навпаки.

Критика

Семирівнева модель OSI критикувалася деякими фахівцями. Зокрема у класичній книзі «UNIX. Керівництво системного адміністратора» Еві Немет та інші пишуть:

… Поки комітети ISO сперечалися про свої стандарти, за їхньою спиною змінювалася вся концепція організації мереж і по всьому світу впроваджувався протокол TCP/IP. …

І ось, коли протоколи ISO були нарешті реалізовані, виявився цілий ряд проблем:
Ці протоколи ґрунтувалися на концепціях, які не мають у сучасних мережах жодного сенсу.
Їхні специфікації були в деяких випадках неповними.
За своїми функціональними можливостями вони поступалися іншим протоколам.
Наявність численних рівнів зробило ці протоколи повільними і складними для реалізації.

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