Концепція інкапсуляції даних в еталонній моделі

В структурі модуля ланих, який передається з рівня на рівень, виділяють дві основні частини:

· корисні дані, або поле даних;

· додаткова (службова) інформація.

Корисні дані (поле даних) – це та інформація, заради передачі якої використовується модуль даних. На відміну від решти всіх полів модуля поле даних має змінну довжину, яка, власне, і визначає повну довжину модуля. Існують спеціальні керуючі модулі, які не мають поля даних. Їх можна розглядати як мережеві команди. Вони можуть виконувати функцію початку і кінця сеансу зв'язку, підтвердження прийому інформаційного пакету, запиту інформаційного пакету тощо.

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

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

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

контрольну суму пакету – числовий код, що формується передавачем за певними правилами і містить в згорнутому вигляді інформацію про весь пакет даних. Приймач, повторюючи обчислення, зроблені передавачем з прийнятим пакетом, порівнює їх результат з контрольною сумою і робить висновок про правильність або помилковість пакету. Якщо пакет помилковий, то приймач запрошує його повторну передачу.

У еталонній моделі в структурі модуля даних переважно виділяють всього три поля:

· заголовок - початкове керуюче поле модуля даних, тобто поле, що містить стартову комбінацію, мережеві адреси приймача і передавача, а також службову інформацію;

· поле даних;

· завершувач (трейлер) – кінцеве керуюче поле модуля, куди входять контрольна сума і стопова комбінація, а іноді і службова інформація.

Блоки інформації, які передаються між рівнями, мають стандартний формат: заголовок (header), дані, кінцевик. При передачі блоку інформації нижчому рівню вищий рівень забезпечує його своїм заголовком. Заголовок вищого рівня сприймається нижчим як передавані дані. На рис. 5.8 нижче показана структура передачі даних моделі OSI з доданою службовою інформацією.

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

Інкапсуляція - спосіб пакування даних, представлених у форматі одного протоколу, у формат іншого протоколу. Ця концепція передбачає, що інформація, отримана поточним рівнем від суміжного вищого рівня, спакована у певну оболонку; поточний рівень додає зовні оболонки додаткову інформацію, призначену для однорангового пристрою, і пакує все це в нову оболонку. Далі вся ця інформація передається нижчому рівню, який не може відкрити оболонку вищого рівня. Концепція інкапсуляції в еталонній моделі OSI проілюстрована на рис. 5.9. Зворотний процес послідовного розпаковування даних приймачем називається декапсуляцією пакетів.

На рівні підсистеми мережі використовуються різні формати передачі інформації. Загальновживаними форматами є: кадри, пакети, дейтаграми, сегменти, повідомлення, комірки і модулі даних. В еталонній моделі OSI вони визначаються таким чином [62, с. 42-43]:

Рис. 5.8. Структура передачі даних у моделі OSI з доданою службовою інформацією

модуль даних (data unit) — базовий термін, що позначає різні блоки інформації;

кадр (frame) — модуль даних, який передається на канальному рівні. Кадр складається із заголовка канального рівня і інформації верхнього рівня, інкапсульованою в заголовок. В деяких випадках в кадрі або пакеті ще буває кінцевик кадру або постамбула;

пакет (packet) — модуль даних, який передається на мережевому рівні. Пакет також складається із заголовка мережевого рівня і інформації вищого рівня, інкапсульованої в заголовок;

дейтаграмма (datagram) — модуль даних, який передається на мережевому рівні за допомогою мережевої служби, що не вимагає підтвердження з'єднання;

Рис. 5.9 Багаторівнева система вкладення модулів даних в моделі OSI

сегмент (segment) — модуль даних, який передається на транспортному рівні. В деяких випадках на транспортному рівні інкапсулу розбивають на кілька сегментів з присвоєнням кожному сегменту власного номера для забезпечення можливості безпомилковогно відновлення інформації у приймальному пристрої;

повідомлення (message) — модуль даних, який передається на рівнях вище мережевого;

комірка (cell) — модуль даних фіксованого розміру (53 байти), який передається на канальному рівні. Комірка складається із заголовка довжиною 5 байтів і блоку даних довжиною 48 байтів, інкапсульованих з вищого рівня.

Як видно з рис.5.9, кожний наступний вкладаний модуль може містити власну службову інформацію, розташовану як до даних (заголовок), так і після них (трейлер), причому її призначення може бути різним. Очевидно, що частка допоміжної інформації зростає з кожним наступним рівнем, що знижує ефективну швидкість передачі даних. Для її збільшення бажано, щоб протоколи обміну були простіші, і з меншим числом рівнів.