Зв'язок моделі OSI та мережевих протоколів


27

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

  • На якому шарі OSI працює IS-IS?
  • Чи HTML-презентація чи протокол програми?
  • Чи є тунелі VPN шаром 2 чи 3?

Як студент (або професіонал з цього питання) повинен розуміти взаємозв'язок між моделлю OSI і протоколами, з якими він / вона працює?

Відповіді:


35

Про модель OSI слід пам'ятати два важливих факти:

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

  2. Це не єдина модель. Існують і інші моделі, зокрема перелік протоколів TCP / IP (RFC-1122 та RFC-1123), що набагато ближче до того, що зараз використовується.

Трохи історії: напевно, ви всі чули про перші дні пакетних мереж, включаючи ARPANET, попередник Інтернету. Окрім зусиль Міністерства оборони США зі створення протоколів мереж, було залучено також кілька інших груп та компаній. Кожна група розробляла власні протоколи в абсолютно новій галузі комутації пакетів. IBM та телефонні компанії розробляли власні стандарти. У Франції дослідники працювали над власним мережевим проектом під назвою Cyclades.

Робота над моделлю OSI почалася в кінці 1970-х років, в основному як реакція на зростаючий вплив великих компаній, таких як IBM, NCR, Burroughs, Honeywell (та інші) та їх власні протоколи та обладнання. Ідея його полягала в тому, щоб створити відкритий стандарт, який би забезпечував сумісність між різними виробниками. Але оскільки модель ISO була міжнародною за обсягом, вона мала багато конкуруючих політичних, культурних та технічних інтересів. Щоб досягти консенсусу та опублікувати стандарти, було потрібно понад шість років.

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

Справа в тому, що всі протоколи, які використовуються сьогодні, набір TCP / IP; протоколи маршрутизації, такі як RIP, OSPF та BGP; та хост-протоколи ОС, такі як Windows SMB та Unix RPC, були розроблені, не маючи на увазі модель OSI. Вони іноді мають певну схожість з цим, але стандарти OSI ніколи не дотримувалися під час їх розробки. Отже, дурні доручення намагаються вписати ці протоколи в OSI. Вони просто точно не підходять.

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

Найважливіші речі, які слід розуміти про OSI (або будь-яку іншу) модель:

  • Ми можемо розділити протоколи на шари
  • Шари забезпечують інкапсуляцію
  • Шари забезпечують абстрагування
  • Шари відокремлюють функції від інших

Поділ протоколів на шари дозволяє окремо поговорити про їх різні аспекти. Це полегшує розуміння протоколів і легше їх усунення. Ми можемо легко виділити конкретні функції та згрупувати їх за аналогічними функціями інших протоколів.

Кожна «функція» (загалом кажучи) інкапсулює шар (и) над ним. Мережевий шар інкапсулює шари над ним. Шар зв'язку даних інкапсулює мережевий рівень тощо.

Шари абстрагують шари під ним. Ваш веб-браузер не повинен знати, чи використовуєте ви TCP / IP або щось інше на рівні мережі (як би щось інше). У вашому браузері нижні шари просто надають потік даних. Як цей потік вдається відобразитися, приховано від браузера. TCP / IP не знає (чи не піклується), якщо ви використовуєте Ethernet, кабельний модем, лінію T1 або супутник. Він просто обробляє пакети. Уявіть, як важко було б створити програму, яка мала б мати справу з усім цим. Шари абстрактні нижніх шарів, тому розробка та експлуатація програмного забезпечення стає набагато простішою.

Розв'язка: теоретично ви можете замінити одну конкретну технологію на іншу на тому самому шарі. Поки шар взаємодіє з тим, що вище, і шаром нижче таким же чином, це не має значення, як він реалізований. Наприклад, ми можемо видалити дуже відомий протокол 3 рівня, IP версії 4 та замінити його версією IP 6. Все інше повинно працювати точно так само. Для вашого браузера або кабельного модему це не має значення.

Модель TCP / IP - це те, на чому базувався набір протоколів TCP / IP (сюрприз!). Він має лише чотири шари, і все вище транспорту - це лише «додаток». Це зрозуміти простіше і запобігає нескінченним питанням, наприклад, «Це сесійний шар або шар презентації?», Але це теж лише модель, і деякі речі не ' t добре вписується в нього, як і протоколи тунелювання (GRE, MPLS, IPSec).

Зрештою, моделі - це спосіб представлення невидимих ​​абстрактних ідей, таких як адреси та пакети та біти. Поки ви пам’ятаєте про це, модель OSI або TCP / IP може бути корисною для розуміння мереж.


1
Мені завжди було цікаво, чому ми посилаємося на модель OSI, коли насправді модель TCP / IP краще відповідає рахунку.
Райан Фолі

5
@RyanFoley, правда у багатьох випадках. Однак, якщо мова йде про усунення несправностей (і особливо їх викладання), то краще мати окремі фізичні та шари даних для вирішення проблем на кожному окремо. Наприклад, добре знати різницю пристрою Cisco між інтерфейсом, який знаходиться вгору / вгору, тим, що знаходиться вгору / вниз, і тим, що вниз / вниз.
YLearn

"Наприклад, ми можемо видалити дуже відомий протокол рівня 3, версію IP 4, і замінити його версією IP 6. Все інше має працювати точно так само. Ваш веб-переглядач або ваш кабельний модем не повинні мати жодних значень. " На жаль, це має значення, оскільки абстракції є герметичними. Програми та протоколи транспорту повинні знати про адресацію, яку використовує Інтернет-протокол.
Пітер Грін

Ну, ось чому моделі - лише моделі.
Рон Трунк

1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions Ми будуємо абстракції, щоб приховати потворні деталі основної речі, але деякі деталі основної речі просочуються, хоча і створюють проблеми. Одна з таких речей, яка просочується аж до верхньої частини стека, - це система адресації.
Пітер Зелений

2

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


1

Всі протоколи маршрутизації IGP (внутрішні шлюзи) працюють на рівні 3. Зовнішній BGP працює на рівні 4, а внутрішній працює на рівні 3.

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

Рівень даних / посилань - Цей рівень стосується комутаторів рівня 2, областей широкомовної передачі, VLANS, STP, VTP. Блок даних протоколу цього рівня називається кадрами.

Мережевий шар - це коли відбувається маршрутизація, більшість протоколів маршрутизації працює на цьому шарі. Це також відоме як рівень IP, де VLANS спілкується. PDU для цього шару відомий як пакети.

Транспортний шар - Транспортний шар має справу з портами TCP та UDP, саме тут пакети з шарів 3 надсилаються до своїх портів призначення. Важливо пам’ятати, що TCP - протокол, орієнтований на з'єднання, тоді як UDP - протокол, не орієнтований на з'єднання (не гарантована доставка даних). PDU цього рівня - це дейтаграми.

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

Рівень презентації. Цей шар стосується кодів на стороні клієнта, які ви бачите у своєму веб-переглядачі або коли ви клацаєте правою кнопкою миші та переглядаєте джерело, це в основному коди HTM / CSS / Javascript, що дозволяє переглядати свій ->

Прикладний рівень. Тут графічний інтерфейс користувача перекладає коди HTML / CSS з рівня 6 на цей шар. Що ви бачите у своєму веб-браузері, це графічний інтерфейс інтерфейсу. Шар 5,6,7 PDU називається повідомленням.

Я сподіваюся, що вони дадуть відповідь на всі питання, пов'язані з ОСІ.

На якому шарі OSI працює IS-IS? - 3 рівень
Чи є HTML презентацією чи протоколом програми? - Презентація
Чи є тунелі VPN шаром 2 або 3? -> L2TP - це шар 2 -> VPN-тунелі, як правило, працюють на рівні 3, такому як IPSEC.


1
Це не відповідає ОП; він ніколи не запитував, що робить кожен шар, він запитував, що хтось повинен розуміти про основні поняття.
Райан Фолі

1
Інформація чудова, але це проблема / рішення сайту. Ваша відповідь чудова, якщо питання було "Які різні шари моделі OSI, і що кожен робить?" . Питання стосується основ, що підтримують модель OSI, а не безпосередньо моделі OSI. Чудова проникливість, але погана відповідь на це конкретне питання.
Райан Фолі

5
Кріс, я ціную твої відповіді, і ти значною мірою ви правильні. Але ISIS працює поверх IP, чи робить це шар 4? Як щодо BGP? Він працює поверх TCP. Це шар 5? Моя думка, хоча ви можете стискати протоколи в шари, вони насправді не підходять. Якби ви подивилися специфікацію шару презентаційного OSI, я не думаю, що HTML цілком підходить. Навіть OSI визнав, що шар 2 занадто широкий і їм довелося розділити його на два підшари.
Рон Трунк

2
Модель OSI - це просто теоретична модель. Навіть якщо протокол маршрутизації <ім'я тут> використовує (L2 | L3) пакети, він також є частиною L7, оскільки це додаток, і він повинен обчислити таблицю маршрутизації і, можливо, той самий шар між ними. Не все чорно-біле.
мулаз

3
@Ron, ISIS не є власним протоколом IP. OSPF є. (Тільки, щоб додати більше плутанини. :-))
Джон Дженсен

1

HTTP (не HTML) має як презентаційний, так і прикладний рівень. Тунелі VPN додають шари накладання в існуючий стек: це може бути або рівень 2, або рівень 3 залежить від їх виду. Тоді ви зможете побачити цей доданий шар (и) два рази в пакеті.


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

0

Однією з небагатьох речей, що насправді є моделлю OSI, є сертифікати X.509 та великі кульки LDAP, що надходять із X.500. Інша річ - X.400 для обміну повідомленнями, MS Exchange мав це принаймні в 5,5, не впевнений, чи включені в наступні версії.

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

Копаючи глибше, це призведе до болю великих організацій, які намагаються виконувати стандарти, жахливі речі, такі як ASN.1 та BER ... переоблаштовуючи все.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.