Моделі OSI та TCP/IP

Матеріал з Wiki TNEU
Версія від 11:48, 6 грудня 2011; 91.214.32.43 (Обговорення)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Серед основних мережевих моделей існують дві: модель OSI і модель TCP / IP. Іноді можна зустріти їх як теоретичну і практичну моделі.

 Вони є багаторівневими, що означає чітке розбиття на окремі рівні. Як сказано вище, кожному рівню чітко приписані функції, які в межах однієї моделі не повторюються. Таким чином модель OSI розбита на 7 рівнів, а модель TCP / IP на 4 рівні:


Моделі так зображені не дарма. По-перше, рівні моделі OSI досить часто згадують за номерами (вони пронумеровані знизу вгору), в той час як рівні моделі TCP / IP називають по іменах. А друге - це те, що модель TCP / IP можна описати термінами OSI. Як показано, обидві моделі мають ідентичні рівні Transport і Internet (Network), на які покладені відповідно однакові завдання. Але, наприклад, модель TCP / IP не розрізняє межі між фізичним поданням сигналів, бітів на проводах (або в іншому середовищі передачі даних) і способом доступу до тих самих проводах. Це робить модель менш кращою для пошуків неполадок, так як, наприклад, битий кабель або різного роду перешкоди радіо-хвиль не мають нічого спільного з заполненностью таблиці MAC-адрес на свіч. Більш детальний опис

OSI детально описує процес спілкування двох додатків, а також взаємозв'язок між сусідніми рівнями. Щоб зрозуміти, що ж все-таки це означає, розглянемо ближче кожен рівень. Рівні можна розглядати з точки зору відправлення даних або отримання даних. Простіше кажучи зверху вниз або знизу вгору відповідно. Модель спроектована так, що якщо розглядати відправку повідомлення будь-яким додатком, то воно проходить за рівнями з самого верху і до самого низу. Для прийому повідомлення все з точністю навпаки. Далі буде ясно ... Особисто я віддаю перевагу другий спосіб, так як звик дивитися на прийняті дані цілком (тобто весь мережевий кадр). Але в навчальних матеріалах, як правило, вважають інакше. У них рівні викладаються від самого зрозумілого та близького користувачеві рівня додатків, до самого далекого - фізичного рівня. Це повинно вам допомогти вибрати в якому порядку читати опис рівнів.

Фізичний рівень (Physical layer). Дані подаються у вигляді електричних імпульсів, пучків світла, електромагнітних хвиль, що кодують біти. Завдання полягає у створенні фізичного каналу для відправки бітів. Канальний рівень (Data Link layer). Забезпечує передачу даних через фізичний канал. Мережевий рівень (Network layer). Забезпечує передачу даних між мережами в межах області під назвою internetwork. Де internetwork - це об'єднання двох і більше мереж із загальними принципами маршрутизації (простіше сказати, мережа мереж). Транспортний рівень (Transport layer). Забезпечує доставку даних певної програми на робочій станції або сервері. На цьому рівні з'являється адресація - порти. Так, наприклад, якщо приходить повідомлення на 80-й порт, то воно передається процесу веб-сервера, який слухає цей порт. Сеансовий рівень (Session layer). Створює і керує діалогами та сесій між додатками. Додаток повинен розрізняти різні потоки даних в межах одного з'єднання. Наприклад, програма може одночасно запитувати два файли з одного сервера, при цьому воно буде розрізняти потоки. Рівень представницький(Presentation layer). Тут дані кодуються, стискуються або шифруються. Наприклад, відправляючи повідомлення, його потрібно попередньо стиснути для зменшення трафіку, то це завдання саме цього рівня.

Рівень прикладний(Application layer). Організовує інтерфейс між додатками. Тобто описує структуру повідомлення зрозумілого додатком.

 При проходженні кожного рівня, до даних дописується службова інформація. Цей процес називається інкапсуляцією. Так наприклад на мережному рівні, якщо ми хочемо використовувати протокол IP, буде дописаний в початок заголовок, що містить IP адреси відправника і одержувача і т.п. Потім, проходячи канальний рівень, до даних із заголовком IP в початок ще дописується заголовок, що містить MAC адреси, а в кінець - так званий трейлер з контрольною сумою. Таким чином ми розглянули інкапсуляцію на двох рівнях в мережах Ethernet.
Зворотний процес до інкапсуляції - декапсуляция. Це процес вилучення даних, шляхом відкидання службової інформації. Дотримуючись минулого прикладу, уявімо, що отримані якісь дані. Декапсуляція на канальному рівні буде полягати в покидьки заголовка, що містить MAC адреси і трейлера. Отримані дані вже містять заголовок IP на початку, вони передаються на наступний мережевий рівень. Далі на мережевому рівні немає інформації нижчих рівнів, що забезпечує певну незалежність від них. Аналогічним чином витягується корисне навантаження, шляхом відкидання заголовка і так далі. В самому кінці ланцюжка отримуємо оригінальне повідомлення.
У розглянутих прикладах дані на кожному рівні мають різну структуру, яка називається PDU (Protocol Data Unit). І, природно, на кожному рівні PDU оригінального повідомлення свій:
 7. Рівень прикладний - дані (data)
 4. Транспортний рівень - сегмент (segment)
 3. Мережевий рівень - пакет (packet)
 2. Канальний рівень - кадр (frame)
 1. Фізичний рівень - біти (bits)
Особливо часто розрізняють поняття кадру і пакета. Кадр буде містити службову інформацію другого рівня, коли пакет вже немає. І для кадру пакет буде корисним навантаженням, внутрішня сутність якого не розглядається.
Спілкування між двома додатками або просто хостами відбуваються між однаковими рівнями, використовуючи для цього один протокол. Так, наприклад, веб-браузер, запитуючи по протоколу HTTP (протокол сьомого рівня) сторінку, спілкується з веб-сервером на сьомому рівні. Сервер в свою чергу знає структуру повідомлення, відповідну протоколу. Вибір протоколу - це як вибір мови в усному мовленні (для розуміння потрібно говорити на одному). На цьому етапі як сервер так і клієнт не розглядає нижележащие рівні, вони просто обмінюються повідомленнями. Якщо ж розглянути з точки зору відправлення HTTP запиту в IP пакеті, то операційні системи клієнта і сервера спілкуються на третьому рівні. Вони дивляться їм чи призначений пакет по IP адресою, збирають пакет воєдино з фрагментів (якщо по дорозі пакет був фрагментований). Але при цьому вони нічого не знають про другий рівень, через яке середовище будуть слідувати дані і так далі. Корисне навантаження містить сегменти TCP, які в свою чергу містять дані HTTP. Але на етапі розгляду IP пакета вся корисна навантаження розглядається просто як послідовність байт, не більше.
Для життєвого прикладу вищеописаного, можна запропонувати примітивну модель для тієї ж усного мовлення. Розглянемо такі два рівні вигаданої моделі: доставка співрозмовнику звуків і розбір мови. Таким чином спочатку потрібно домовитися, яким чином приймати звуки. Протоколом тут виступатимуть правила і способи вимови звуків, щоб співрозмовник їх почув. Потім почуті звуки, не важливо як і звідки, будуть сприйняті як окремі слова, щоб їх зрозуміти, потрібно домовитися про використання однієї мови. Адже якщо говорити на одній мові, а намагатися його розуміти як інший, нічого не вийде. Таким чином було продемонстровано перехід з першого рівня на другий, коли співрозмовник сприймає мову, шляхом "декапсуляціі" звуків в слова. Якщо ж співрозмовник хоче щось сказати, то він слова "інкапсулює" в звуки, які вже вимовляє.

Застосування

Модель TCP / IP часто використовується для опису стека протоколів. Наприклад, стек протоколів TCP / IP. Де під стеком протоколів можна розуміти безліч взаємодіючих протоколів, що забезпечують функціональність мережі. Адже складно уявити роботу мережі з одним лише протоколом IP, в мережі постійно взаємодіють різні протоколи, кожен реалізуючи свої завдання.
Модель OSI використовується для опису та виявлення різного роду неполадок, для класифікації мережевого обладнання або окремого мережевого протоколу.
Наприклад, розглянемо різні види мережевого обладнання: повторювач і концентратор (хаб), міст і комутатор 2-го рівня (свіч), маршрутизатор і комутатор 3-го рівня. Як ви вже здогадалися ці три види обладнання належать трьом нижнім рівням моделі осі: першому, другому і третьому відповідно. Що ж ми можемо сказати відразу про ці пристрої?
Пристрої першого рівня розрізняють тільки сигнали. Вони призначені для розширення шини мережі і посилення сигналу, запобігаючи тим самим його загасання. Такі пристрої тільки дублюють сигнали, таки чином розширюючи домен колізій (накладення сигналів).
Пристрої другого рівня вже зчитують заголовок кадру і таким чином можуть виявити колізію або невідповідність контрольної сумі (якщо вона присутня в протоколі). Відкидаючи "зіпсовані" кадри, таке обладнання обмежує домен колізій.
Пристрої третього рівня працюють з пакетами. І тому вони обмежують широкомовна домен.
Також знання по номерах і назвах рівнів моделі OSI дозволяє спілкуватися і розуміти один одного двом адміністраторам або розробникам, та й просто людей, замішаних яким-небудь чином з мережами.
Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти