Стек протоколівСтек протоколів або мережевий стек є реалізацією набору протоколів комп'ютерної мережі або сімейства протоколів. Деякі з цих термінів використовуються як взаємозамінні, але, строго кажучи, набір — це визначення протоколів зв'язку, а стек — це їхня програмна реалізація.[1] Окремі протоколи в пакеті часто розробляються з однією метою. Така модульність спрощує проектування та оцінку. Оскільки кожен модуль протоколу зазвичай взаємодіє з двома іншими, їх зазвичай уявляють як рівні в стеку протоколів. Найнижчий протокол завжди має справу з низькорівневою взаємодією з комунікаційним обладнанням. Кожен вищий рівень додає додаткові можливості. Програми користувача зазвичай мають справу лише з найвищими шарами.[2] Загальний опис набору протоколівT ~ ~ ~ T [A] [B]_____[C] Уявіть собі три комп'ютери: A, B і C. A і B мають радіообладнання та можуть спілкуватися через радіохвилі за допомогою відповідного мережевого протоколу (наприклад, IEEE 802.11). B і C з'єднані за допомогою кабелю, використовуючи його для обміну даними (знову ж таки, за допомогою протоколу, наприклад , Point-to-Point Protocol). Однак жоден із цих двох протоколів не зможе передавати інформацію від A до C, оскільки концептуально ці комп'ютери знаходяться в різних мережах. Для їх з'єднання потрібен міжмережевий протокол. Можна було б об'єднати два протоколи, щоб сформувати потужний третій, який би опанував як кабельну, так і бездротову передачу, але для кожної можливої комбінації протоколів знадобився б інший суперпротокол. Простіше залишити базові протоколи в спокої та створити протокол, який може працювати поверх будь-якого з них (прикладом є Інтернет-протокол). Це створить два стеки по два протоколи в кожному. Міжмережевий протокол спілкуватиметься з кожним із базових протоколів їхньою простішою мовою; базові протоколи не спілкуватимуться безпосередньо один з одним. Запит комп'ютера A надіслати фрагмент даних до C приймається протоколом верхнього рівня, який (за допомогою будь-яких засобів) знає, що C доступний через B. Таким чином, він наказує бездротовому протоколу передати пакет даних до B. На цьому комп'ютері обробники нижчого рівня передадуть пакет до міжмережевого протоколу, який, визнавши, що B не є кінцевим пунктом призначення, знову викличе функції нижчого рівня. Цього разу для надсилання даних на C використовується кабельний протокол. Там отриманий пакет знову передається протоколу вищого рівня, який (при цьому C є одержувачем) передає його вищому протоколу або додатку на C . У практичній реалізації стеки протоколів часто діляться на три основні секції: медіа, транспорт і програми. Конкретна операційна система або платформа часто матиме два чітко визначені програмні інтерфейси: один між медіа- та транспортним рівнями, а другий — між транспортними рівнями та програмами. Інтерфейс медіа-транспорт визначає, як програмне забезпечення транспортного протоколу використовує певні типи носіїв і апаратного забезпечення та пов'язане з драйвером пристрою. Наприклад, цей рівень інтерфейсу визначатиме, як транспортне програмне забезпечення TCP/IP спілкуватиметься з контролером мережевого інтерфейсу. Приклади цих інтерфейсів включають ODI та NDIS у середовищі Microsoft Windows та DOS. Інтерфейс програми-транспорту визначає, як прикладні програми використовують транспортні рівні. Наприклад, цей рівень інтерфейсу визначатиме, як програма веб-браузера спілкуватиметься з транспортним програмним забезпеченням TCP/IP. Приклади цих інтерфейсів включають сокети Berkeley і System V STREAMS в Unix-подібних середовищах, а також Winsock для Microsoft Windows. Приклади
Охоплюючий шарВажливою особливістю багатьох співтовариств взаємодії на основі спільного стеку протоколів є охоплюючий шар, термін, введений Девідом Кларком[3]
У стеку Інтернет-протоколів набір Інтернет-протоколів становить охоплюючий рівень, який визначає найкращу послугу для глобальної маршрутизації дейтаграм на Рівні 3. Інтернет — це спільнота взаємодії, заснована на цьому охоплюючому рівні. Див. також
Список літератури
|