Мережева модель OSI

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Модель OSI
Дані Рівень
Дані Прикладний
доступ до мережевих служб
Дані Представлення
представлення і кодування даних
Дані Сеансовий
керування сеансом зв'язку
Блоки Транспортний
безпечне та надійне з'єднання «точка - точка»
Пакети Мережевий
визначення маршруту та IP (логічна адресація)
Кадри Канальний
MAC та LLC (фізична адресація)
Біти Фізичний
кабель, сигнали, бінарна передача

Модель OSI (ЕМВВС) (базова еталонна модель взаємодії відкритих систем, англ. Open Systems Interconnection Basic Reference Model, 1978 р.) — абстрактна мережева модель для комунікацій і розробки мережевих протоколів. Представляє рівневий підхід до мережі. Кожен рівень обслуговує свою частину процесу взаємодії. Завдяки такій структурі спільна робота мережного обладнання й програмного забезпечення стає набагато простішою, прозорішою й зрозумілішою.

На даний час основним використовуваним стеком протоколів є TCP/IP, розробка якого не була пов'язана з моделлю OSI і до того ж була здійснена до її прийняття. За увесь час існування моделі OSI вона не була реалізована, і, очевидно, не буде реалізована ніколи. Сьогодні використовується тільки деяка підмножина моделі OSI. Вважається, що модель занадто складна, а її реалізація займе занадто багато часу.

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

Історія[ред.ред. код]

В 1978 році Міжнародний комітет зі стандартизації (ISO) розробив стандарт архітектури ISO 7498, для об'єднання різних мереж. У розробці брало участь 7 комітетів, кожному з них був відведений свій рівень. В 1980 році IEEE опублікував специфікацію 802, що детально описала механізми взаємодії фізичних пристроїв на канальному й фізичному рівнях моделі OSI. В 1984 році специфікацію моделі OSI переглянули й прийняли як міжнародний стандарт для мережних комунікацій.

Рівні моделі OSI[ред.ред. код]

Модель складається з 7-ми рівнів, розташованих вертикально один над іншим. Кожен рівень може взаємодіяти тільки зі своїми сусідами й виконувати відведені тільки йому функції.

Рівень OSI Протоколи
прикладний HTTP, gopher, Telnet, DNS, DHCP, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, IETF, RTP, RTCP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, e2k, PROFIBUS

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

відображення ASN.1, XML, TDI, XDR, NCP, AFP, ASCII, Unicode
сеансовий ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS, PPTP
транспортний TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP
мережевий IPv4, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, SKIP
канальний (Ланки даних) ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token Ring, PPP, PPPoE, StarLan, WiFi, PPTP , L2F, L2TP, PROFIBUS
фізичний RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, RJ-11, T-carrier (T1, E1), модифікації стандарту Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-TX, 100BASE-FX, 100BASE-T, 1000BASE-T, 1000BASE-TX, 1000BASE-SX

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

Докладніше: Прикладний рівень

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

Рівень відображення (Presentation layer)[ред.ред. код]

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

Сеансовий рівень (Session layer)[ред.ред. код]

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

Транспортний рівень (Transport layer)[ред.ред. код]

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

Мережевий рівень (Network layer)[ред.ред. код]

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

Канальний рівень (Data Link layer)[ред.ред. код]

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

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

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

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

Фізичний рівень (Physical layer)[ред.ред. код]

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

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

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

В сучасних мережах використовуються 3 основних типа середовища передавання: мідний кабель (copper), оптичне волокно (fiber) та бездротове середовище передавання (wireless). Тип сигналу, за допомогою якого здійснюється передача даних, залежить від типу середовища передавання. Для мідного кабелю сигнали, що представляють біти даних є електричними імпульсами, для оптичного волокна — імпульсами світла. У випадку використання бездротових з'єднань сигнали є радіохвилями (електромагнітними хвилями).

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

Технології фізичного рівня визначаються стандартами, що розробляються наступними організаціями: The International Organization for Standardization (ISO), The Institute of Electrical and Electronics Engineers (IEEE), The American National Standards Institute (ANSI), The International Telecommunication Union (ITU), The Electronics Industry Alliance/Telecommunications Industry Association (EIA/TIA) тощо. Дані стандарти охоплюють 4 області, що належать фізичному рівню: фізичні та електричні властивості середовища передавання, механічні властивості (матеріали, розміри, розпаювання контактів конекторів), кодування (представлення бітів сигналами), визначення сигналів для управління інформацією. Всі компоненти апаратного забезпечення такі, як мережеві карти (Network interface card, NIC), інтерфейси і конектори, матеріали кабелів та їх конструкція визначаються стандартами фізичного рівня. Можна зазначити, що функції фізичного рівня вбудовані у мережеве обладнання (hardware).

Основними функціями фізичного рівня є: фізичні компоненти, кодування даних, передача даних. Фізичні компоненти — електронне обладнання, середовище передавання і конектори, через які передаються сигнали, що представляють біти даних.

Кодування

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

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

Взаємодія рівнів[ред.ред. код]

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

Модель OSI і реальні протоколи[ред.ред. код]

Семирівнева модель OSI є теоретичною, і містить ряд недоробок. Реальні мережні протоколи змушені відхилятися від неї, забезпечуючи непередбачувані можливості, тому прив'язка деяких з них до рівнів OSI є трохи умовною. В даний час основним використовуваним стеком протоколів є TCP/IP, розробка якого не була пов'язана з моделлю OSI і до того ж була здійснена до її прийняття.

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

Сімейство TCP/IP[ред.ред. код]

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

Сімейство IPX/SPX[ред.ред. код]

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

Крім того, IPX не має адреси для хоста, покладаючись на адресацію канального рівня (наприклад, MAC-адреси для Ethernet).

Див. також[ред.ред. код]

Джерела[ред.ред. код]

  • Комп'ютерні мережі: [навчальний посібник] / А. Г. Микитишин, М. М. Митник, П. Д. Стухляк, В. В. Пасічник. — Львів: «Магнолія 2006», 2013. — 256 с. ISBN 978-617-574-087-3
  • Буров Є. В. Комп'ютерні мережі: підручник / Євген Вікторович Буров. — Львів: «Магнолія 2006», 2010. — 262 с. ISBN 966-8340-69-8