Модель OSI
Матеріал з Вікіпедії — вільної енциклопедії.
Модель OSI (англ. Open Systems Interconnection Reference Model - модель взаємодії відкритих систем) - абстрактна модель для мережних комунікацій і розробки мережних протоколів. Представляє рівневий підхід до мережі. Кожен рівень обслуговує свою частину процесу взаємодії. Завдяки такій структурі спільна робота мережного обладнання й програмного забезпечення стає набагато простіше й зрозуміліше.
Зрозуміло, у цей час основним використовуваним протоколом є TCP/IP, розробка якого не була пов'язана з моделлю OSI. За увесь час існування моделі OSI вона не була реалізована, і, очевидно, не буде реалізована ніколи.
Сьогодні використається тільки деяка підмножина моделі OSI. Уважається, що модель занадто складна, а її реалізація займе занадто багато часу.
Окремі фахівці стверджують також, що історія моделі OSI являє типовий приклад невдалого й відірваного від життя проекту.
Зміст |
[ред.] Історія
В 1978 році Міжнародний комітет зі стандартизації (ISO) розробив стандарт архітектури ISO 7498, для об'єднання різних мереж. У розробці брало участь 7 комітетів, кожному з них був відведений свій рівень. В 1980 році IEEE опублікував специфікацію 802, що детально описала механізми взаємодії фізичних пристроїв на канальному й фізичному рівнях моделі OSI. В 1984 році специфікація моделі OSI була переглянута й прийнята як міжнародний стандарт для мережних комунікацій.
[ред.] Рівні моделі OSI
Модель складається з 7-ми рівнів, розташованих вертикально один над іншим. Кожен рівень може взаємодіяти тільки зі своїми сусідами й виконувати відведені тільки йому функції.
Рівень OSI | Протоколи |
---|---|
прикладний | HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, e2k, PROFIBUS
Це всього лише кілька самих розповсюджених протоколів прикладного рівня, яких існує безліч. Всі їх неможливо описати в рамках даної статті. |
представлення | HTTP/HTML, ASN.1, XML, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP |
сеансовий | ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS |
транспортний | TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP |
мережний | IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, Boot, SKIP |
канальний (Ланки даних) | ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, PPP, PPPo, StarLan, WiFi, PPTP , L2F, L2TP, PROFIBUS |
фізичний | RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, 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)
4-й рівень моделі, призначений для доставки даних без помилок, втрат і дублювання в тій послідовності, як вони були передані. При цьому неважливо, які дані передаються, звідки й куди, тобто він надає сам механізм передачі. Блоки данных він розділяє на фрагменти, розмір яких залежить від протоколу, короткі поєднує в один, довгі розбиває. Протоколи цього рівня призначені для взаємодії типу точка-крапка.
[ред.] Мережний рівень (Network layer)
3-й рівень мережної моделі OSI, призначений для визначення шляху передачі даних. Відповідає за трансляцію логічних адрес й імен у фізичні, визначення найкоротших маршрутів, комутацію й маршрутизацію пакетів, відстеження неполадок і заторів у мережі. На цьому рівні працює такий мережний пристрій, як маршрутизатор.
[ред.] Канальний рівень (Data Link layer)
Цей рівень призначений для забезпечення взаємодії мереж на фізичному рівні й контролю за помилками, які можуть виникнути. Отримані з фізичного рівня дані він упаковує в кадри даних, перевіряє на цілісність, якщо потрібно виправляє помилки й відправляє на мережний рівень. Канальний рівень може взаємодіяти з одним або декількома фізичними рівнями, контролюючи й управляючи цією взаємодією. Специфікація IEEE 802 розділяє цей рівень на 2 підрівня - MAC (Media Access Control) регулює доступ до поділюваного фізичного середовища, LLC (Logical Link Control) забезпечує обслуговування мережного рівня. На цьому рівні працюють комутатори, мосты й мережні адаптери.
У програмуванні цей рівень представляє драйвер мережної плати, в операційних системах є програмний інтерфейс взаємодії канального й мережного рівня між собою, це не новий рівень, а просто реалізація моделі для конкретної ОС. Приклади таких інтерфейсів: ODI, NDIS.
[ред.] Фізичний рівень (Physical layer)
Самий нижній рівень моделі, призначений безпосередньо для передачі потоку даних. Здійснює передачу електричних або оптичних сигналів у кабель і відповідно їхній прийом і перетворення в біти даних відповідно до методами кодування цифрових сигналів. Інакше кажучи, здійснює інтерфейс між мережним носієм і мережним пристроєм. На цьому рівні працюють концентраторы й повторювачі (ретрансляторы) сигналу.
[ред.] Взаємодія рівнів
Рівні взаємодіють зверху вниз і знизу нагору за допомогою інтерфейсів і можуть ще взаємодіяти з таким же рівнем іншої системи за допомогою протоколів. Докладніше можна подивитися на малюнку.
[ред.] Модель OSI і реальні протоколи
Семирівнева модель OSI є теоретичної, і містить ряд недоробок. Реальні мережні протоколи змушені відхилятися від її, забезпечуючи непередбачувані можливості, тому прив'язка деяких з них до рівнів OSI є трохи умовною.
Основна недоробка OSI - непродуманий транспортний рівень. На ньому OSI дозволяє обмін даними між додатками (уводячи поняття порту - ідентифікатора додатка), однак, можливість обміну простими датаграмами в OSI не передбачена - транспортний рівень повинен утворювати з'єднання, забезпечувати доставку, управляти потоком і т.п. Реальні ж протоколи реалізують таку можливість.
[ред.] Сімейство TCP/IP
Сімейство TCP/IP має два транспортних протоколи: TCP, повністю відповідний OSI, і UDP, що відповідає транспортному рівню тільки наявністю порту, що забезпечує обмін датаграмами між додатками.
[ред.] Сімейство IPX/SPX
У сімействі IPX/SPX, порти (називані «сокети» або «гнізда») з'являються в протоколі мережного рівня IPX, забезпечуючи обмін датаграмами між додатками (операційна система резервує частину сокетів для себе). Протокол SPX, у свою чергу, доповнює IPX всіма іншими можливостями транспортного рівня в повній відповідності з OSI.
Крім того, IPX не має адреси для хоста, покладаючись на адресацію канального рівня (наприклад, MAC-адреси для Ethernet).