Мережевий рівень. Канальний рівень мережевої моделі OSI

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

Але мета цієї статті – не філософські міркування про методологію навчання. Мені хотілося б уявити увазі початківців мережевиків то загальнеі головне, від якого, як від грубки, можна танцювати до найнавороченіших приватних лав. Розуміючи семирівневу модель OSI і навчившись "пізнавати" її рівні у вже відомих вам технологіях, ви легко зможете рухатися далі в будь-якому обраному вами напрямку мережевої галузі. Модель OSI суть той каркас, на який навішуватиметься будь-яке нове знання про мережі.

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

шеф-редактор

Модель

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

Міжнародна Організація зі Стандартів (International Standards Organization, ISO) розробила модель, яка чітко визначає різні рівні взаємодії систем, дає їм стандартні імена та вказує, яку роботу має виконувати кожен рівень. Ця модель називається моделлю взаємодії відкритих систем(Open System Interconnection, OSI) або моделлю ISO/OSI.

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

Мал. 1.1. Модель взаємодії відкритих систем ISO/OSI

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

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

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

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

Крім терміну "повідомлення" (message) існують інші назви, використовувані мережевими фахівцями для позначення одиниці обміну даними. У стандартах ISO для протоколів будь-якого рівня використовується термін "протокольний блок даних" - Protocol Data Unit (PDU). Крім цього часто використовуються назви кадр (frame), пакет (packet), дейтаграма (datagram).

Функції рівнів моделі ISO/OSI

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

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

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

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

У протоколах канального рівня, що використовуються в локальних мережах, закладено певну структуру зв'язків між комп'ютерами та способи їх адресації. Хоча канальний рівень забезпечує доставку кадру між будь-якими двома вузлами. локальної мережі, він це робить тільки в мережі з цілком певною топологією зв'язків, саме тією топологією, на яку він був розроблений. До таких типових топологій, що підтримуються протоколами канального рівня локальних мереж, відносяться загальна шина, кільце та зірка. Прикладами протоколів канального рівня є Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

У глобальних мережах, які рідко мають регулярну топологію, канальний рівень забезпечує обмін повідомленнями між двома сусідніми комп'ютерами, з'єднаними індивідуальною лінією зв'язку. Прикладами протоколів "точка - точка" (як часто називають такі протоколи) можуть бути поширені протоколи PPP і LAP-B.

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

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

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

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

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

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

Прикладами протоколів мережного рівня є протокол міжмережевого взаємодії IP стека TCP/IP і протокол міжмережевого обміну пакетами IPX стека Novell.

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

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

Як правило, всі протоколи, починаючи з транспортного рівня та вище, реалізуються програмними засобамикінцевих вузлів мережі – компонентами їх мережевих операційних систем. Як приклад транспортних протоколів можна навести протоколи TCP та UDP стека TCP/IP та протокол SPX стека Novell.

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

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

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

Існує дуже велика різноманітність протоколів прикладного рівня. Наведемо як приклади хоча б кілька найбільш поширених реалізацій файлових сервісів: NCP в операційній системі Novell NetWare, SMB Microsoft Windows NT, NFS, FTP і TFTP, що входять до стек TCP/IP.

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

Характеристика популярних стеків комунікаційних протоколів

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

Існує досить багато стеків протоколів, які широко застосовуються в мережах. Це і стеки, що є міжнародними та національними стандартами, і фірмові стеки, що набули поширення завдяки поширенню обладнання тієї чи іншої фірми. Прикладами популярних стеків протоколів можуть бути стек IPX/SPX фірми Novell, стек TCP/IP, що у мережі Internet та у багатьох мережах з урахуванням операційної системи UNIX, стек OSI міжнародної організації зі стандартизації, стек DECnet корпорації Digital Equipment та інших.

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

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

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

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

На нижніх рівнях - фізичному та канальному - практично у всіх стеках використовуються одні й самі протоколи. Це добре стандартизовані протоколи Ethernet, Token Ring, FDDI та деякі інші, які дозволяють використовувати у всіх мережах одну й ту саму апаратуру.

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

Стек OSI

Слід розрізняти стек протоколів OSI та модель OSI. У той час, як модель OSI концептуально визначає процедуру взаємодії відкритих систем, декомпозируя задачу на 7 рівнів, стандартизує призначення кожного рівня і вводить стандартні назви рівнів, стек OSI - це набір цілком конкретних специфікацій протоколів, що утворюють узгоджений стек протоколів. Цей стек протоколів підтримує уряд США у своїй програмі GOSIP. Усе комп'ютерні мережі, які встановлюються в урядових установах після 1990 року, повинні безпосередньо підтримувати стек OSI, або забезпечувати кошти для переходу на цей стек у майбутньому. Тим не менш, стек OSI більш популярний у Європі, а не в США, тому що в Європі менше встановлено старих мереж, які використовують власні протоколи. У Європі також відчувається велика потреба у загальному стеку, оскільки тут є багато різних країн.

Це міжнародний незалежний від виробників стандарт. Він може забезпечити взаємодію між корпораціями, партнерами та постачальниками. Ця взаємодія ускладнюється через проблеми з адресацією, ім'ям та безпекою даних. Всі ці проблеми у стеку OSI частково вирішені. Протоколи OSI вимагають великих витрат обчислювальної потужності центрального процесоращо робить їх більш підходящими для потужних машин, а не для персональних комп'ютерів. Більшість організацій поки що лише планують перехід до стеку OSI. З тих, хто працює у цьому напрямку, можна назвати Військово-морське відомство США та мережу NFSNET. Одним із найбільших виробників, що підтримують OSI, є компанія AT&T. Її мережа Stargroup повністю базується на стеку OSI.

З цілком очевидних причин стек OSI на відміну інших стандартних стеків повністю відповідає моделі взаємодії OSI, він включає специфікації всім семи рівнів моделі взаємодії відкритих систем (рис. 1.3).


Мал. 1.3. Стек OSI

на Стек OSI підтримує протоколи Ethernet, Token Ring, FDDI, а також протоколи LLC, X.25 та ISDN. Ці протоколи будуть детально обговорені в інших розділах посібника.

Сервіси мережевого, транспортного та сеансовогорівнівтакож є в стеку OSI, але вони мало поширені. На мережному рівні реалізовані протоколи без встановлення з'єднань, і з встановленням з'єднань. Транспортний протокол стека OSI відповідно до функцій, визначених для нього в моделі OSI, приховує різницю між мережевими сервісами з встановленням з'єднання і без встановлення з'єднання, так що користувачі отримують потрібну якість обслуговування незалежно від мережевого рівня. Щоб забезпечити це, транспортний рівень вимагає, щоб користувач поставив потрібну якість обслуговування. Визначено 5 класів транспортного сервісу, від нижчого класу 0 до вищого класу 4, які відрізняються ступенем стійкості до помилок та вимогами до відновлення даних після помилок.

Сервіси прикладного рівня включають передачу файлів, емуляцію терміналу, службу каталогів та пошту. З них найбільш перспективними є служба каталогів (стандарт Х.500), електронна пошта (Х.400), протокол віртуального терміналу (VT), протокол передачі, доступу та управління файлами (FTAM), протокол пересилання та управління роботами (JTM). Останнім часом ISO сконцентрувало свої зусилля саме на сервісах верхнього рівня.

X.400

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

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

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

Над базою даних імен та адрес визначено такі операції:

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

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

Протокол VTвирішує проблему несумісності різних протоколів емуляції терміналів. Зараз користувачеві персонального комп'ютера, сумісного з IBM PC, для одночасної роботи з комп'ютерами VAX, IBM 3090 та HP9000 потрібно придбати три різні програмидля емуляції терміналів різних типівта тих, що використовують різні протоколи. Якби кожен хост-комп'ютер мав у своєму складі програмне забезпечення протоколу емуляції терміналу ISO, то й користувачеві знадобилася б тільки одна програма, що підтримує протокол VT. У своєму стандарті ISO акумулювала поширені функції емуляції терміналів.

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

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

Стек TCP/IP

Стек TCP/IP, званий також стеком DoD і стеком Internet, одна із найпопулярніших і перспективних стеків комунікаційних протоколів. Якщо в даний час він поширений в основному в мережах з ОС UNIX, то реалізація його в останніх версіяхмережевих операційних систем для персональних комп'ютерів (Windows NT, NetWare) є гарною передумовою швидкого зростання кількості установок стека TCP/IP.

Стек був розроблений з ініціативи Міністерства оборони США (Department of Defence, DoD) понад 20 років тому для зв'язку експериментальної мережі ARPAnet з іншими сателітними мережами як набір загальних протоколів для різнорідного обчислювального середовища. Мережа ARPA підтримувала розробників та дослідників у військових галузях. У мережі ARPA зв'язок між двома комп'ютерами здійснювався з використанням протоколу Internet Protocol (IP), який і до сьогодні є одним з основних у стеку TCP/IP і фігурує у назві стека.

Великий внесок у розвиток стека TCP/IP зробив університет Берклі, реалізувавши протоколи стека у своїй версії ОС UNIX. Широке поширення ОС UNIX призвело і до поширення протоколу IP та інших протоколів стека. На цьому ж стеку працює всесвітня інформаційна мережа Internet, чий підрозділ Internet Engineering Task Force (IETF) робить основний внесок у вдосконалення стандартів стека, що публікуються у формі специфікацій RFC.

Оскільки стек TCP/IP розробили до появи моделі взаємодії відкритих систем ISO/OSI, хоча він також має багаторівневу структуру, відповідність рівнів стека TCP/IP рівням моделі OSI досить умовно.

Структура протоколів TCP/IP наведено малюнку 1.4. Протоколи TCP/IP поділяються на 4 рівні.

Мал. 1.4. Стек TCP/IP

Найнижчий ( рівень IV ) - рівень міжмережевих інтерфейсів - відповідає фізичному та канальному рівням моделі OSI. Цей рівень у протоколах TCP/IP не регламентується, але підтримує всі популярні стандарти фізичного та канального рівня: для локальних каналів це Ethernet, Token Ring, FDDI, для глобальних каналів – власні протоколи роботи на аналогових комутованих та виділених лініях SLIP/PPP, які встановлюють з'єднання типу "точка - точка" через послідовні канали глобальних мереж та протоколи територіальних мереж X.25 та ISDN. Розроблено також спеціальну специфікацію, що визначає використання технології ATM як транспорт канального рівня.

Наступний рівень ( рівень III ) - це рівень міжмережевої взаємодії, який займається передачею дейтаграм з використанням різних локальних мереж, територіальних мереж X.25, ліній спеціального зв'язку тощо. Як основний протокол мережевого рівня (у термінах моделі OSI) у стеку використовується протокол IP, який спочатку проектувався як протокол передачі пакетів у складових мережах, що з великої кількості локальних мереж, об'єднаних як локальними, і глобальними зв'язками. Тому протокол IP добре працює в мережах зі складною топологією, раціонально використовуючи наявність у них підсистем та економно витрачаючи пропускну спроможністьнизькошвидкісних ліній зв'язку. Протокол IP є дейтаграмним протоколом.

До рівня міжмережевої взаємодії відносяться і всі протоколи, пов'язані зі складанням та модифікацією таблиць маршрутизації, такі як протоколи збору маршрутної інформації RIP(Routing Internet Protocol) та OSPF(Open Shortest Path First), а також протокол міжмережевих керуючих повідомлень ICMP(Internet Control Message Protocol). Останній протокол призначений для обміну інформацією про помилки між маршрутизатором та шлюзом, системою-джерелом та системою-приймачем, тобто для організації зворотнього зв'язку. За допомогою спеціальних пакетів ICMP повідомляється про неможливість доставки пакета, про перевищення часу життя або тривалість складання пакету з фрагментів, про аномальні величини параметрів, про зміну маршруту пересилання та типу обслуговування, про стан системи тощо.

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

Верхній рівень ( рівень I) називається прикладним. За довгі роки використання у мережах різних країнта організацій стек TCP/IP накопичив велику кількість протоколів та сервісів прикладного рівня. До них відносяться такі протоколи, що широко використовуються, як протокол копіювання файлів FTP, протокол емуляції терміналу telnet, поштовий протокол SMTP, що використовується в електронній пошті мережі Internet та її російської гілки РЕЛКОМ, гіпертекстові послуги доступу до віддаленої інформації, такі як WWW та багато інших. Зупинимося докладніше на деяких з них, найбільш тісно пов'язаних з тематикою даного курсу.

Протокол SNMP(Simple Network Management Protocol) використовується для організації мережевого керування. Проблема управління поділяється тут на дві задачі. Перше завдання пов'язані з передачею інформації. Протоколи передачі інформації, що управляє, визначають процедуру взаємодії сервера з програмою-клієнтом, що працює на хості адміністратора. Вони визначають формати повідомлень, якими обмінюються клієнти та сервери, а також формати імен та адрес. Друге завдання пов'язані з контрольованими даними. Стандарти регламентують, які дані повинні зберігатися та накопичуватися у шлюзах, імена цих даних та синтаксис цих імен. У стандарті SNMP визначено специфікацію інформаційної бази даних управління мережею. Ця специфікація, відома як база даних MIB (Management Information Base), визначає елементи даних, які хост або шлюз повинен зберігати, і допустимі операції над ними.

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

У стеку TCP/IP протокол FTP пропонує найбільш широкий набір послуг для роботи з файлами, проте він є найскладнішим для програмування. Програми, яким не потрібні всі можливості FTP, можуть використовувати інший, більш економічний протокол - найпростіший протокол пересилання файлів TFTP(Trivial File Transfer Protocol). Цей протокол реалізує лише передачу файлів, причому як транспорт використовується більш простий, ніж TCP, протокол без встановлення з'єднання - UDP.

Протокол telnetзабезпечує передачу потоку байтів між процесами, а також між процесом та терміналом. Найчастіше цей протокол використовується для емуляції терміналу віддаленої ЕОМ.

Стек IPX/SPX

Цей стек є оригінальним стеком протоколів фірми Novell, яку вона розробила для своєї мережної операційної системи NetWare ще на початку 80-х років. Протоколи Internetwork Packet Exchange (IPX) та Sequenced Packet Exchange (SPX), які дали ім'я стеку, є прямою адаптацією протоколів XNS фірми Xerox, поширених значно меншою мірою, ніж IPX/SPX. За кількістю установок протоколи IPX/SPX лідирують, і це зумовлено тим, що сама ОС NetWare займає лідируючу позицію з часткою установок у світовому масштабі приблизно 65%.

Сімейство протоколів фірми Novell та їх відповідність моделі ISO/OSI представлено малюнку 1.5.

Мал. 1.5. Стек IPX/SPX

на фізичному та канальному рівнях у мережах Novell використовуються всі популярні протоколи цих рівнів (Ethernet, Token Ring, FDDI та інші).

на мережевому рівні у стеку Novell працює протокол IPX, а також протоколи обміну маршрутною інформацією RIPі NLSP(Аналог протоколу OSPF стека TCP/IP). IPX є протоколом, який займається питаннями адресації та маршрутизації пакетів у мережах Novell. Маршрутні рішення IPX ґрунтуються на адресних полях у заголовку його пакета, а також на інформації, що надходить від протоколів обміну маршрутною інформацією. Наприклад, IPX використовує інформацію, що постачається протоколом RIP, або протоколом NLSP (NetWare Link State Protocol) для передачі пакетів комп'ютера призначення або наступному маршрутизатору. Протокол IPX підтримує лише дейтаграмний метод обміну повідомленнями, за рахунок чого бюджетно споживає обчислювальні ресурси. Отже, протокол IPX забезпечує виконання трьох функцій: завдання адреси, встановлення маршруту та розсилку дейтаграм.

Транспортному рівню моделі OSI у стеку Novell відповідає протокол SPX, який здійснює передачу повідомлень із встановленням з'єднань.

На верхніх прикладному, представницькому та сеансовому рівняхпрацюють протоколи NCP та SAP. Протокол NCP(NetWare Core Protocol) є протоколом взаємодії сервера NetWare та оболонки робочої станції. Цей протокол прикладного рівня реалізує архітектуру клієнт-сервер на найвищих рівнях моделі OSI. За допомогою функцій цього протоколу робоча станція здійснює підключення до сервера, відображає каталоги сервера на локальні літери дисководів, переглядає файлову системусервера, що копіює віддалені файли, змінює їх атрибути тощо, а також здійснює поділ мережного принтера між робочими станціями.

(Service Advertising Protocol) - протокол оголошення про сервіс - концептуально подібний до протоколу RIP. Подібно до того, як протокол RIP дозволяє маршрутизаторам обмінюватися маршрутною інформацією, протокол SAP дає можливість мережевим пристроям обмінюватися інформацією про наявні мережеві сервіси.

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

У мережах Novell сервери NetWare 3.x щохвилини розсилають широкомовні пакети SAP. Пакети SAP значною мірою засмічують мережу, тому одним із основних завдань маршрутизаторів, що виходять на глобальні зв'язки, є фільтрація трафіку SAP-пакетів та RIP-пакетів.

Особливості стека IPX/SPX обумовлені особливостями ОС NetWare, а саме її орієнтацією ранніх версій(До 4.0) на роботу в локальних мережах невеликих розмірів, що складаються з персональних комп'ютерів зі скромними ресурсами. Тому Novell були потрібні протоколи, на реалізацію яких була потрібна мінімальна кількість оперативної пам'яті(обмеженої в IBM-сумісних комп'ютерах під керуванням MS-DOS 640 Кбайтами) і які швидко працювали на процесорах невеликої обчислювальної потужності. В результаті, протоколи стека IPX/SPX донедавна добре працювали в локальних мережах і не дуже - у великих корпоративних мережах, оскільки надто перевантажували повільні глобальні зв'язки широкомовними пакетами, які інтенсивно використовуються кількома протоколами цього стеку (наприклад, для встановлення зв'язку між клієнтами) та серверами).

Ця обставина, а також той факт, що стек IPX/SPX є власністю фірми Novell і на його реалізацію потрібно отримувати ліцензію, довгий час обмежували поширеність його тільки мережами NetWare. Однак на момент випуску версії NetWare 4.0, Novell внесла і продовжує вносити у свої протоколи серйозні зміни, спрямовані на пристосування їх до роботи в корпоративних мережах. Зараз стек IPX/SPX реалізований у NetWare, а й у кількох інших популярних мережевих ОС - SCO UNIX, Sun Solaris, Microsoft Windows NT.

Стек NetBIOS/SMB

Фірми Microsoft та IBM спільно працювали над мережними засобами для персональних комп'ютерів, тому стек протоколів NetBIOS/SMB є спільним дітищем. Кошти NetBIOS з'явилися в 1984 році як мережеве розширення стандартних функцій базової системи вводу/виводу (BIOS) IBM PC для мережевої програми PC Network фірми IBM, яка прикладному рівні (рис. 1.6) використовувала реалізації мережевих сервісів протокол SMB (Server Message Block).

Мал. 1.6. Стек NetBIOS/SMB

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

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

  • Управління сесіями. Створення та розрив логічного каналу між робочою станцією та мережевими ресурсами файлового сервера.
  • Файловий доступ. Робоча станція може звернутися до файл-сервера із запитами на створення та видалення каталогів, створення, відкриття та закриття файлів, читання та запис у файли, перейменування та видалення файлів, пошук файлів, отримання та встановлення файлових атрибутів, блокування записів.
  • Сервіс друку. Робоча станція може ставити файли в чергу для друку на сервері та отримувати інформацію про чергу друку.
  • Сервіс повідомлень. SMB підтримує просту передачу повідомлень з такими функціями: надіслати просте повідомлення; надіслати широкомовне повідомлення; надіслати початок блоку повідомлень; надіслати текст блоку повідомлень; надіслати кінець блоку повідомлень; переслати ім'я користувача; скасувати пересилання; отримати ім'я машини.

Через велику кількість програм, що використовують функції API, що надаються NetBIOS, у багатьох мережних ОС ці функції реалізовані у вигляді інтерфейсу до своїх транспортних протоколів. NetWare має програму, яка емулює функції NetBIOS на основі протоколу IPX, існують програмні емулятори NetBIOS для Windows NT і стека TCP/IP.

Навіщо нам це цінне знання? (Editorial)

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

  • troubleshooting (
виявлення та усунення несправностей)

Приходить до вас як до адміністратору (досвідченому сетевику) користувач (просто приятель) і каже - у мене тут "не з'єднує". Нема, каже, сіті і все тут. Починаєте розбиратися. Так ось, виходячи з опеньки спостереження за ближніми своїми, я помітила, що дії людини, "не усвідомлює модель OSI в серці своєму", відрізняються характерною хаотичність: то провід смикає, то раптом у браузері щось поколупає. І призводить це часто до того, що рухаючись без напряму такий "фахівець" посмикує будь-що і будь-де, крім як в області несправності, вбивши купу свого і чужого часу. При усвідомленні існування рівнів взаємодії рух буде більш послідовним. І хоча відправна точка може бути різною (у кожній книзі рекомендації, що мені траплялася, дещо відрізнялися), загальна логічна посилка пошуку несправності така - якщо на рівні Х взаємодія здійснюється коректно, то і на рівні Х-1 швидше за все теж все в порядку. Принаймні для кожного конкретного моментучасу. Виробляючи траблшутинг в IP-мережах особисто я починаю "копати" від другого рівня стека DOD, він же третій рівень OSI, він Internet Protocol. У перших тому, що найлегше зробити "поверхневий огляд пацієнта" (пацієнт швидше пінгується, ніж не пінгується), ну і по друге, якщо, слава ті Господи, пінгується, можна відкинути малоприємні маніпуляції з тестуванням кабелю, мережевих карті розбірок та іншими приємними речами;) Хоча в особливо важких випадках доведеться починати все-таки з рівня першого, причому найсерйознішим чином.

  • порозуміння з колегами

Для ілюстрування цього пункту наведу вам як приклад таку байку з життя. Якось знайомі мої з однієї невеликої фірми покликали мене в гості допомогти розібратися, чому мережа погано працює, і дати якісь рекомендації щодо цього. Приходжу я до контори. А у них там виявляється навіть адмін є, званий за старою доброю традицією "програміст" (а взагалі-то він FoxPro в основному займається;) - старе доперебудовне загартування IT-фахівець. Ну, я в нього питаю, що у вас за мережу? Він: "У сенсі? Ну просто мережа". Мережа загалом як мережа. Ну я навідуюча питання: на мережевому рівні який протокол використовується? Він: "А це ДЕ?" Я уточнюю: "Ну IP або IPX або що там у вас..." "О" - каже, - "здається так: IPX/ще-там-что-то!" До речі, "ще-там-что-то", як ви могли помітити, від мережевого рівня трохи вище розташований, ну та не суть ... Що характерно, він цю мережу побудував і навіть погано бідно супроводжував. Не дивно що вона зачахла-то... ;) А знав би про OSI - у 5 хвилин би схемку подряпав - від 10Base-2 до прикладних програм. І не довелося б під стіл лазити - коаксіальні дроти оглядати.

  • вивчення нових технологій

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

Поняття «відкрита система»

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

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

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

Для реальних систем повна відкритість недосяжний ідеал. Як правило, навіть у системах, які називають відкритими, цьому визначенню відповідають лише деякі частини, що підтримують зовнішні інтерфейси. Наприклад, відкритість сімейства операційних систем Unix полягає, окрім іншого, у наявності стандартизованого програмного інтерфейсу між ядром і додатками, що дозволяє легко переносити додатки із середовища однієї версії Unix у середовище іншої версії. Ще одним прикладом часткової відкритості є застосування в закритій операційній системі Novell NetWare відкритого інтерфейсу Open Driver Interface (ODI) для включення в систему драйверів мережевих адаптерів незалежних виробників. Чим більше відкритих специфікацій використано для розробки системи, тим відкритішою вона є.

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

Якщо дві мережі побудовані з дотриманням принципів відкритості, це дає такі переваги:

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

    можливість безболісної заміни окремих компонентів мережі іншими, досконалішими, що дозволяє мережі розвиватися з мінімальними витратами;

    можливість легкого сполучення однієї мережі з іншою;

    простота освоєння та обслуговування мережі.

Яскравим прикладом відкритої системи є міжнародну мережу Internet. Ця мережа розвивалася у повній відповідності до вимог, що висуваються до відкритих систем. У розробці її стандартів брали участь тисячі фахівців-користувачів цієї мережі з різних університетів, наукових організацій та фірм-виробників обчислювальної апаратури та програмного забезпечення, що працюють у різних країнах. Сама назва стандартів, що визначають роботу мережі Internet - Request For Comments (RFC), що можна перекласти як "запит на коментарі", - показує голосний і відкритий характер стандартів, що приймаються. Через війну мережа Internet зуміла об'єднати у собі різноманітне устаткування й програмне забезпечення величезної кількості мереж, розкиданих у світі.

Модель OSI

Міжнародна Організація зі Стандартів (International Standards Organization, ISO) розробила модель, яка чітко визначає різні рівні взаємодії систем, дає їм стандартні імена та вказує, яку роботу має виконувати кожен рівень. Ця модель називається моделлю взаємодії відкритих систем (Open System Interconnection, OSI) або ISO/OSI.

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

Мал. 1.1. Модель взаємодії відкритих систем ISO/OSI

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

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

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

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

Крім терміну "повідомлення" (message) існують інші назви, використовувані мережевими фахівцями для позначення одиниці обміну даними. У стандартах ISO для протоколів будь-якого рівня використовується термін "протокольний блок даних" - Protocol Data Unit (PDU). Крім цього часто використовуються назви кадр (frame), пакет (packet), дейтаграма (datagram).

Функції рівнів моделі ISO/OSI

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

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

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

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

У протоколах канального рівня, що використовуються в локальних мережах, закладено певну структуру зв'язків між комп'ютерами та способи їх адресації. Хоча канальний рівень і забезпечує доставку кадру між будь-якими двома вузлами локальної мережі, він це робить тільки в мережі з певною топологією зв'язків, саме тією топологією, для якої він був розроблений. До таких типових топологій, що підтримуються протоколами канального рівня локальних мереж, відносяться загальна шина, кільце та зірка. Прикладами протоколів канального рівня є Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

У глобальних мережах, які рідко мають регулярну топологію, канальний рівень забезпечує обмін повідомленнями між двома сусідніми комп'ютерами, з'єднаними індивідуальною лінією зв'язку. Прикладами протоколів "точка - точка" (як часто називають такі протоколи) можуть бути поширені протоколи PPP і LAP-B.

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

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

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

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

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

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

Прикладами протоколів мережного рівня є протокол міжмережевого взаємодії IP стека TCP/IP і протокол міжмережевого обміну пакетами IPX стека Novell.

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

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

Як правило, всі протоколи, починаючи з транспортного рівня та вище, реалізуються програмними засобами кінцевих вузлів мережі – компонентами їх мережевих операційних систем. Як приклад транспортних протоколів можна навести протоколи TCP та UDP стека TCP/IP та протокол SPX стека Novell.

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

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

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

Існує дуже велика різноманітність протоколів прикладного рівня. Наведемо як приклади хоча б кілька найпоширеніших реалізацій файлових сервісів: NCP в операційній системі Novell NetWare, SMB Microsoft Windows NT, NFS, FTP і TFTP, що входять у стек TCP/IP.

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

доступ до мережного середовища. В той же час, канальний рівеньуправляє процесом розміщення даних у фізичному середовищі. Тому канальний рівеньрозділений на 2 підрівні (рис. 5.1): верхній підрівень управління логічним каналом передачі даних( Logical Link Control - LLC), що є загальним для всіх технологій, та нижній підрівень управління доступом до середовища(Media Access Control - MAC). Крім того, засоби канального рівня дозволяють виявляти помилки в даних, що передаються.


Мал. 5.1.

Взаємодія вузлів локальних мереж відбувається з урахуванням протоколів канального рівня. Передача даних у локальних мережах відбувається на порівняно короткі відстані (всередині будівель або між розташованими будівлями), але з високою швидкістю (10 Мбіт/с - 100 Гбіт/с). Відстань та швидкість передачіданих визначається апаратурою відповідних стандартів.

Міжнародним інститутом інженерів з електротехніки та радіоелектроніки (Institute of Electrical and Electronics Engineers - IEEE) було розроблено сімейство стандартів 802.х, яке регламентує функціонування канального та фізичного рівнів семирівневої моделі ISO/OSI. Ряд цих протоколів є спільними всім технологій, наприклад стандарт 802.2, інші протоколи (наприклад, 802.3, 802.3u, 802.5) визначають особливості технологій локальних мереж.

Підрівень LLCреалізується програмними засобами. На підрівні LLC існує кілька процедур, які дозволяють встановлювати або не встановлювати зв'язок перед передачею кадрів, що містять дані, відновлювати або не відновлювати кадри при втраті або виявленні помилок. Підрівень LLC реалізує зв'язок із протоколами мережевого рівнязазвичай з протоколом IP. Зв'язок із мережним рівнем та визначення логічних процедур передачі кадрів по мережі реалізує протокол 802.2. Протокол 802.1 дає загальні визначення локальних обчислювальних мереж, зв'язок із моделлю ISO/OSI . Існують також модифікації цього протоколу.

Підрівень МАС визначає особливості доступу до фізичного середовищапід час використання різних технологій локальних мереж. Кожній технології МАС-рівня (кожному протоколу: 802.3, 802.3u, 802.3z та ін.) відповідає кілька варіантів специфікацій (протоколів) фізичного рівня (рис. 5.1). Специфікаціятехнології МАС-рівня - визначає середовище фізичного рівня та основні параметри передачі даних ( швидкість передачі, вид середовища, вузькосмуговий або широкосмуговий).

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

  • заголовка,
  • поля даних, де розміщено пакет,
  • кінцевика.

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

Заголовоквключає роздільники кадрів, поля адрес та управління. Розділювачікадрів дозволяють визначити початок кадру та забезпечити синхронізацію між передавачем та приймачем. Адресиканального рівня є фізичними адресами. При використанні Ethernet-сумісних технологій адресацію даних у локальних мережах здійснюють МАС-адреси, які забезпечують доставку кадру вузлу призначення.

Кінцевикмістить поле контрольної суми (Frame Check Sequence - FCS), яка обчислюється під час передачі кадру з використанням циклічного коду CRC. На приймальній стороні контрольна сумакадру обчислюється знову і порівнюється із прийнятою. Якщо вони збігаються, то вважають, що кадр передано без помилок. При розходженні значень FCS кадр відкидається і потрібна його повторна передача.

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


Мал. 5.2.

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

При створенні мереж використовують різні логічні топології, які визначають, як вузли спілкуються через середу, як забезпечується управління доступомдо середи. Найбільш відомі логічні топології: "точка-точка" (point-to-point), множинного доступу (multiaccess), широкомовна (broadcast) і маркерна (token passing).

Спільне використання середовища декількома пристроями реалізується на основі двох основних методів:

  • метод конкурентного (недетермінованого) доступу(Contention-based Access), коли всі вузли мережі рівноправні, черговість передачі не організована. Для передачі даний вузол повинен прослухати середовище, якщо воно вільне, можна передати інформацію. При цьому можуть виникнути конфлікти ( колізії), коли два (або більше) вузли одночасно починають передачу даних;
  • метод контрольованого (детермінованого) доступу(Controlled Access), який забезпечує вузлам черговість доступу до середовища передачі даних.

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

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

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

Подібний метод недетермінованого(асоціативного) доступудо середовища отримав назву множинного доступу до середовища з контролем несучої та виявленням колізій( Carrier Sence Multiply Access

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

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

Модель взаємодії відкритих систем OSI(Open System Interconnection) розроблено міжнародною організацією за стандартами ISO (Inernational Standarts Organization).

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

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

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

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

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

Тепер розглянемо роботу кожного рівня моделі OSI.

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

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

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

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

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

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

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

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

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

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

Тільки-но почали працювати мережевим адміністратором? Не хочете виявитися спантеличеним? Наша стаття стане вам у пригоді. Чули, як перевірений часом адміністратор каже про мережні неполадки та згадує якісь рівні? Може вас колись питали на роботі, які рівні захищені та працюють, якщо ви використовуєте старий брандмауер? Щоб розібратися з основами інформаційної безпеки, необхідно зрозуміти принцип ієрархії моделі OSI. Спробуємо побачити можливості цієї моделі.

Системний адміністратор, що поважає себе, повинен добре розбиратися в мережевих термінах.

У перекладі з англійської – базова еталонна модель взаємодії відкритих систем. Точніше, мережева модельстека мережевих протоколів OSI/ІSO. Введена в 1984 році як концептуальна основа, що розділила процес відправлення даних у всесвітньому павутиннюна сім нескладних етапів. Вона не є найпопулярнішою, оскільки затягнулася розробка специфікації OSI. Стек протоколів TCP/IP вигідніший і вважається основною моделлю, що використовується. Втім, ви маєте величезний шанс зіткнутися з моделлю OSI на посаді системного адміністратораабо у IT-сфері.

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

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

Рівні OSI

Модель містить у собі сім спрощених етапів:

  • Фізичний.
  • Канальний.
  • Мережевий.
  • Транспортний.
  • сеансовий.
  • Представницький.
  • Прикладний.

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

Перейдемо до безпосереднього ознайомлення з рівнями.

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

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

Функції фізичного етапу здійснюються абсолютно на кожному пристрої, підключеному до мережі. Наприклад, мережний адаптер реалізує ці функції комп'ютера. Ви могли зіткнутися з протоколами першого кроку: RS -232, DSL і 10Base-T, що визначають фізичні характеристики каналу зв'язку.

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

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

Канальний етап уможливлює передачу інформації завдяки спеціальній структурі зв'язків. Зокрема через протоколи канального рівня працюють шини, мости, комутатори. У специфікації другого кроку входять: Ethernet, Token Ring та PPP. Функції канального етапу у комп'ютері виконують мережеві адаптерита драйвери до них.

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

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

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

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

Щоб дані дійшли до додатків та верхніх рівнів стека, потрібний четвертий етап. Він надає необхідний рівень надійності передачі. Є п'ять класів послуг транспортного етапу. Їх відмінність полягає у терміновості, здійсненності відновлення перерваного зв'язку, здатності виявити та виправити помилки передачі. Наприклад, втрата чи дублювання пакетів.

Як вибрати клас послуг транспортного етапу? Коли якість каналів транспортування зв'язку висока, адекватним вибором виявиться полегшений сервіс. Якщо канали зв'язку на початку працюють небезпечно, доцільно вдатися до розвиненого сервісу, який забезпечить максимальні можливості для пошуку та вирішення проблем (контроль поставки даних, тайм-аути доставки). Специфікації четвертого етапу: TCP та UDP стека TCP/IP, SPX стека Novell.

Об'єднання перших чотирьох рівнів називається транспортною підсистемою. Вона сповна надає вибраний рівень якості.

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

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

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

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

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

Сьомий етап у нашому списку і перший, якщо програма надсилає дані через мережу. Складається з наборів специфікацій, якими користувач , Web-сторінкам. Наприклад, при надсиланні повідомлень поштою саме на прикладному рівні вибирається зручний протокол. Склад специфікацій сьомого етапу дуже різноманітний. Наприклад, SMTP та HTTP, FTP, TFTP або SMB.

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

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