Лекція 6. Модель OSI
Мережева модель OSI (Open systems interconnection basic reference model - Базова Еталонна Модель Взаємодії Відкритих Систем (ЕМВОС)) - мережева модель стеку (магазину) мережевих протоколів OSI/ISO. За допомогою даної моделі різні мережеві пристрої можуть з'єднуватися один з одним. Модель визначає різні рівні взаємодії систем. Кожен рівень виконує певні функції при такій взаємодії.
6.1. Рівні моделі OSI
У літературі найбільш часто прийнято починати опис рівнів моделі OSI з 7-го рівня, званого прикладним, на якому призначені для користувача програми звертаються до мережі. Модель OSI закінчується 1 рівнем - фізичним, на якому визначені стандарти, що висуваються незалежними виробниками до середах передачі даних.
Будь-який протокол моделі OSI повинен взаємодіяти або з протоколами свого рівня, або з протоколами на одиницю вище і/або нижче свого рівня. Взаємодії з протоколами свого рівня називаються горизонтальними, а з рівнями на одиницю вище або нижче - вертикальними. Будь-протокол моделі OSI може виконувати тільки функції свого рівня і не може виконувати функцій іншого рівня, що не виконується в протоколах альтернативних моделей.
Кожному рівню з деякою часткою умовності відповідає свій операнд - логічно неподільний елемент даних, яким на окремому рівні можна оперувати в рамках моделі і використовуваних протоколів: на фізичному рівні дрібна одиниця - біт, на канальному рівні інформація об'єднана в кадри, на мережевому - в пакети (датаграми), на транспортному - в сегменти. Будь-фрагмент даних, логічно об'єднаних для передачі - кадр, пакет, датаграмма - вважається повідомленням. Саме повідомлення в загальному вигляді є операндами сеансового, представницького і прикладного рівнів.
До базових мережних технологій відносяться фізичний і канальний рівні.
6.2. Прикладний рівень
Прикладний рівень (рівень додатків; Application layer) - верхній рівень моделі, що забезпечує взаємодію користувача додатків з мережею:
- дозволяє додаткам використовувати мережеві служби:
-
віддалений доступ до файлів і
баз даних,
- пересилання електронної пошти;
- відповідає за передачу службової інформації;
- надає додаткам інформацію про помилки;
- формує запити до рівня уявлення.
Протоколи прикладного рівня: RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET і інші.
6.3. Представницький рівень
Представницький рівень (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 Protocol .
6.4. Сеансовий рівень
Сеансовий рівень (Session layer) моделі забезпечує підтримку сеансу зв'язку, дозволяючи додаткам взаємодіяти між собою тривалий час. Рівень управляє створенням/завершенням сеансу, обміном інформацією, синхронізацією завдань, визначенням права на передачу даних і підтримкою сеансу в періоди неактивності додатків.
Протоколи сеансового рівня: ADSP (AppleTalk Data Stream Protocol), ASP (AppleTalk Session Protocol), H.245 (Call Control Protocol for Multimedia Communication), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS (Internet Storage Name Service), L2F (Layer 2 Forwarding Protocol), L2TP (Layer 2 Tunneling Protocol), NetBIOS (Network Basic Input Output System), PAP (Password Authentication Protocol), PPTP (Point-to-Point Tunneling Protocol), RPC (Remote Procedure Call Protocol), RTCP (Real-time Transport Control Protocol), SMPP (Short Message Peer-to-Peer), SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol).
6.5. Транспортний рівень
Транспортний рівень (Transport layer) моделі призначений для забезпечення надійної передачі даних від відправника до одержувача. При цьому рівень надійності може варіюватися в широких межах. Існує велика кількість класів протоколів транспортного рівня, починаючи від протоколів, які надають тільки основні транспортні функції (наприклад, функції передачі даних без підтвердження прийому), і закінчуючи протоколами, які гарантують доставку в пункт призначення кількох пакетів даних в належній послідовності, мультиплексує кілька потоків даних, забезпечують механізм управління потоками даних і гарантують достовірність отриманих даних. Наприклад, UDP обмежується контролем цілісності даних в рамках однієї датаграми і не виключає можливості втрати пакета цілком або дублювання пакетів, порушення порядку отримання пакетів даних; TCP забезпечує надійну безперервну передачу даних, що виключає втрату даних або порушення порядку їх надходження або дублювання, може перерозподіляти дані, розбиваючи великі порції даних на фрагменти і навпаки, склеюючи фрагменти в один пакет.
Протоколи транспортного рівня: ATP (AppleTalk Transaction Protocol), CUDP (Cyclic UDP), DCCP (Datagram Congestion Control Protocol), FCP (Fiber Channel Protocol), IL (IL Protocol), NBF (NetBIOS Frames protocol), NCP (NetWare Core Protocol ), SCTP (Stream Control Transmission Protocol), SPX (Sequenced Packet Exchange), SST (Structured Stream Transport), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).
6.6. Мережевий рівень
Мережевий рівень (Network layer) моделі призначений для визначення шляху передачі даних. Відповідає за трансляцію логічних адрес і імен у фізичні, визначення найкоротших маршрутів, комутацію і маршрутизацію, відстеження неполадок і «заторів» в мережі.
Протоколи мережевого рівня маршрутизируют дані від джерела до одержувача. Працюючі на цьому рівні пристрою (маршрутизатори) умовно називають пристроями третього рівня (за номером рівня в моделі OSI).
Протоколи мережевого рівня: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол міжмережевого обміну), X.25 (частково цей протокол реалізований на рівні 2), CLNP (мережевий протокол без організації з'єднань), IPsec (Internet Protocol Security). Протоколи маршрутизації - RIP (Routing Information Protocol), OSPF (Open Shortest Path First).
6.7. Канальний рівень
Канальний рівень (Data link layer) призначений для забезпечення взаємодії мереж на фізичному рівні і контролю за помилками, які можуть виникнути. Отримані з фізичного рівня дані, представлені в бітах, він упаковує в кадри, перевіряє їх на цілісність і, якщо потрібно, виправляє помилки (формує повторний запит пошкодженого кадру) і відправляє на мережевий рівень. Канальний рівень може взаємодіяти з одним або декількома фізичними рівнями, контролюючи і керуючи цим взаємодією.
Специфікація IEEE 802 розділяє цей рівень на два підрівні: MAC (Media access control) регулює доступ до поділюваного фізичного середовища, LLC (Logical link control) забезпечує обслуговування мережного рівня.
На цьому рівні працюють комутатори, мости та інші пристрої. Ці пристрої використовують адресацію другого рівня (за номером рівня в моделі OSI).
Протоколи канального рівня: ARCnet, ATM, Controller Area Network (CAN), Econet, IEEE 802.3 (Ethernet), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC ), IEEE 802.2 (надає функції LLC для підрівня IEEE 802 MAC), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point -to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, застарів), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25, ARP.
При розробці стеків протоколів на цьому рівні вирішуються завдання завадостійкого кодування. До таких способів кодування відноситься код Хеммінга, блочне кодування, код Ріда-Соломона.
У програмуванні цей рівень представляє драйвер мережевої плати, в операційних системах є програмний інтерфейс взаємодії канального і мережевого рівнів між собою. Це не новий рівень, а просто реалізація моделі для конкретної ОС. Приклади таких інтерфейсів: ODI (англ.), NDIS, UDI.
6.8. Фізичний рівень
Фізичний рівень (Physical layer) - нижній рівень моделі, який визначає метод передачі даних, представлених в двійковому вигляді, від одного пристрою (комп'ютера) до іншого. Складанням таких методів займаються різні організації, в тому числі: Інститут інженерів з електротехніки та електроніки, Альянс електронної промисловості, Європейський інститут телекомунікаційних стандартів і інші. Здійснюють передачу електричних або оптичних сигналів в кабель або в радіоефір і, відповідно, їх прийом і перетворення в біти даних відповідно до методами кодування цифрових сигналів.
На цьому рівні також працюють концентратори, повторювачі сигналу й медиаконвертери.
Функції фізичного рівня реалізуються на всіх пристроях, підключених до мережі. З боку комп'ютера функції фізичного рівня виконуються мережевим адаптером або послідовним портом. До фізичного рівня відносяться фізичні, електричні і механічні інтерфейси між двома системами. Фізичний рівень визначає такі види середовищ передачі даних як оптоволокно, кручена пара, коаксіальний кабель, супутниковий канал передач даних і т.п. Стандартними типами мережевих інтерфейсів, що відносяться до фізичного рівня, є: V.35, RS-232, RS-485, RJ-11, RJ-45, роз'єми AUI і BNC.
При розробці стеків протоколів на цьому рівні вирішуються завдання синхронізації і лінійного кодування. До таких способів кодування відноситься код NRZ, код RZ, MLT-3, PAM5, Манчестер II.
Протоколи фізичного рівня: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET / SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU та ITU-T, TransferJet, ARINC 818, G.hn/G.9960.