Що забезпечує представницький рівень моделі osi. Мережева модель OSI. Функції канального рівня

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

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

У еталонній моделі OSI вводяться два поняття: протоколі інтерфейс.

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

Інтерфейс – це сукупність засобів та методів взаємодії між елементами відкритої системи.

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

Усього існує сім рівнів еталонної моделі OSI. Варто зазначити, що у реальних стеках використовується менше рівнів. Наприклад, у популярному TCP/IP використовується лише чотири рівні. Чому так? Пояснимо трохи пізніше. А зараз розглянемо кожен із семи рівнів окремо.

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

  • фізичний рівень. Визначає вид середовища передачі, фізичні та електричні характеристики інтерфейсів, вид сигналу. Цей рівень має справу з бітами інформації. Приклади протоколів фізичного рівня: Ethernet, ISDN, Wi-Fi.
  • Канальний рівень. Відповідає за доступ до середовища передачі, виправлення помилок, надійну передачу даних. На прийоміотримані з фізичного рівня дані упаковуються в кадри, після чого перевіряється їх цілісність. Якщо помилок немає, дані передаються на мережевий рівень. Якщо помилки є, кадр відкидається і формується запит на повторну передачу. Канальний рівень поділяється на два підрівні: MAC (Media Access Control) та LLC (Locical Link Control). MAC регулює доступ до фізичного середовища, що розділяється. LLC забезпечує обслуговування мережного рівня. На канальному рівні працюють комутатори. Приклади протоколів: Ethernet, PPP.
  • Мережевий рівень. Його основними завданнями є маршрутизація – визначення оптимального шляху передачі, логічна адресація вузлів. Крім того, на цей рівень можуть бути покладені завдання пошуку несправностей в мережі (протокол ICMP). Мережевий рівень працює із пакетами. Приклади протоколів IP, ICMP, IGMP, BGP, OSPF).
  • Транспортний рівень. Призначений для доставки даних без помилок, втрат та дублювання у тій послідовності, як вони були передані. Виконує наскрізний контроль передачі від відправника до одержувача. Приклади протоколів TCP, UDP.
  • Сеансовий рівень. Керує створенням/підтримкою/завершенням сеансу зв'язку. Приклади протоколів: L2TP, RTCP.
  • Представницький рівень. Здійснює перетворення даних у потрібну форму, шифрування/кодування, стиснення.
  • Прикладний рівень. Здійснює взаємодію між користувачем та мережею. Взаємодіє з додатками за клієнта. Приклади протоколів: HTTP, FTP, Telnet, SSH, SNMP.

Після знайомства з стандартною моделлю, розглянемо стек протоколів TCP/IP.

У моделі TCP/IP визначено чотири рівні. Як видно з малюнку вище – один рівень TCP/IP може відповідати кільком рівням моделі OSI.

Рівні моделі TCP/IP:

  • Рівень мережних інтерфейсів. Відповідає двом нижнім рівням моделі OSI: канальному та фізичному. Виходячи з цього, зрозуміло, що даний рівень визначає характеристики середовища передачі (кручена пара, оптичне волокно, радіоефір), вид сигналу, спосіб кодування, доступ до середовища передачі, виправлення помилок, фізичну адресацію (MAC-адреси). У моделі TCP/IP цьому рівні працює протокол Ethrnet та її похідні (Fast Ethernet, Gigabit Ethernet).
  • Рівень міжмережевої взаємодії. Відповідає мережевому рівню моделі OSI. Бере він всі його функції: маршрутизацію, логічну адресація (IP-адреси). На цьому рівні працює протокол IP.
  • Транспортний рівень. Відповідає транспортному рівню OSI. Відповідає за доставку пакетів від джерела до одержувача. На цьому рівні використовуються два протоколи: TCP і UDP. TCP є більш надійним, ніж UDP за рахунок створення попереднього з'єднання запитів на повторну передачу при виникненні помилок. Однак, в той же час, TCP повільніше, ніж UDP.
  • Прикладний рівень. Його головне завдання – взаємодія з додатками та процесами на хостах. Приклади протоколів: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.

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

Розглянемо на конкретному прикладі. Нехай ми хочемо потрапити із комп'ютера на сайт. Для цього комп'ютер повинен підготувати http-запит на отримання ресурсів веб-сервера, на якому зберігається потрібна нам сторінка сайту. На прикладному рівні до даних браузера додається HTTP-заголовок. Далі на транспортному рівні до нашого пакету додається TCP-заголовок, що містить номери портів відправника та одержувача (80 порт – для HTTP). На мережному рівні формується IP-заголовок, що містить IP-адреси відправника та одержувача. Безпосередньо перед передачею, на канальному рівні додається Ethrnet-заголовок, який містить фізичні (MAC-адреси) відправника та одержувача. Після всіх цих процедур пакет у вигляді біт інформації передається по мережі. На прийомі відбувається зворотна процедура. Web-сервер на кожному рівні перевірятиме відповідний заголовок. Якщо перевірка пройшла вдало, заголовок відкидається і пакет переходить на верхній рівень. В іншому випадку, весь пакет відкидається.

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

Але мета цієї статті – не філософські міркування про методологію навчання. Мені хотілося б уявити увазі початківців мережевиків то загальнеі головне, від якого, як від грубки, можна танцювати до найнавороченіших приватних лав. Розуміючи семирівневу модель 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 різнякі - ну це вже справа техніки:)

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

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

У перекладі з англійської – базова еталонна модель взаємодії відкритих систем. Точніше, мережева модель стеку мережевих протоколів OSI/ISO. Введена в 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, ви змогли розібратися зі складною структурою роботи мережі та тепер розумієте суть вашої роботи. Все стає досить просто, коли процес розбивається на частини!

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

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

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

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

До базових мережних технологій належать фізичний та канальний рівні.

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

Прикладний рівень (рівень додатків; англ. application layer) - верхній рівень моделі, що забезпечує взаємодію додатків користувача з мережею:

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

Протоколи прикладного рівня: RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET та інші.

Рівень вистави

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

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

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

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

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

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

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

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

Протоколи рівня подання: AFP - Apple Filing Protocol, ICA - Independent Computing Architecture, LPP - Lightweight Presentation Protocol, NCP - NetWare Core Protocol, NDR - Network Data Representation, XDR - eXternal Data Representation, X.25 PAD - Packet Assembler/Disassembler .

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

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

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

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

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

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

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

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

Функції фізичного рівня реалізуються усім пристроях, підключених до мережі. З боку комп'ютера функції фізичного рівня виконуються мережним адаптером чи послідовним портом. До фізичного рівня належать фізичні, електричні та механічні інтерфейси між двома системами. Фізичний рівень визначає такі види середовищ передачі даних як оптоволокно, кручена пара, коаксіальний кабель, супутниковий канал передач даних і т.п. Стандартними типами мережевих інтерфейсів, що належать до фізичного рівня, є: V.35, RS-232, RS-485, RJ-11, RJ-45, роз'єми AUI та BNC.

Під час розробки стеків протоколів цьому рівні вирішуються завдання синхронізації і лінійного кодування. До таких способів кодування відноситься код NRZ, код RZ, MLT-3, PAM5, Манчестер II.

Протоколи фізичного рівня:

В утиліті sudo, що використовується для організації виконання команд від імені інших користувачів, виявлено вразливість (CVE-2019-18634), яка дозволяє підвищити свої привілеї у системі. Проблема […]

Випуск WordPress 5.3 покращує та розширює представлений у WordPress 5.0 редактор блоків новим блоком, більш інтуїтивною взаємодією та покращеною доступністю. Нові функції у редакторі […]

Після дев'яти місяців розробки доступний мультимедіа-пакет FFmpeg 4.2, що включає набір додатків та колекцію бібліотек для операцій над різними мультимедіа-форматами (запис, перетворення та […]

  • Нові функції в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 є випуском із довгостроковою підтримкою, який підтримуватиметься до 2023 року. Він поставляється з оновленим програмним забезпеченням та містить доопрацювання та безліч нових […]

  • Вийшов дистрибутив Linux Mint 19.2

    Представлено реліз дистрибутива Linux Mint 19.2, другого оновлення гілки Linux Mint 19.x, що формується на пакетній базі Ubuntu 18.04 LTS і підтримується до 2023 року. Дистрибутив повністю сумісний […]

  • Доступні нові сервісні релізи BIND, які містять виправлення помилок та покращення функцій. Нові випуски можуть бути завантажені зі сторінки завантажень на сайті розробника: […]

    Exim – агент передачі повідомлень (MTA), розроблений у Кембриджському університеті для використання в системах Unix, підключених до Інтернету. Він знаходиться у вільному доступі відповідно до […]

    Після двох років розробки представлений реліз ZFS on Linux 0.8.0, реалізації файлової системи ZFS, оформленої як модуля для ядра Linux. Робота модуля перевірена з ядрами Linux з 2.6.32 […]

    Комітет IETF (Internet Engineering Task Force), що займається розвитком протоколів та архітектури інтернету, завершив формування RFC для протоколу ACME (Automatic Certificate Management Environment) […]

    Некомерційний посвідчувальний центр Let's Encrypt, який контролює співтовариство і надає сертифікати безоплатно всім охочим, підбив підсумки минулого року і розповів про плани на 2019 рік. […]