Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Інкапсуляція, фрагментація та реасемлювання данограми.Содержание книги
Поиск на нашем сайте
Інкапсуляція данограми. Коли данограма поширюється від одної станції до іншої, то вона може перетинати межі різних фізичних мереж. Для розуміння наступних полів данограми важливо розглянути, як пакети- данограми співвідносяться з пакетами- рамками фізичної мережі. Ідея пересилання однієї данограми в одній мережевій рамці називається упакуванням або інкапсуляцією (encapsulation) (рис. 3.29). Рис. 3.29. Інкапсуляція данограми. Фрагментація данограми. В ідеальному випадку IP-данограма розміщається всередині однієї фізичної рамки. Мережеве обладнання звичайно накладає обмеження на довжину даних: Ethernet обмежує дані до 1500 байт, FDDI - приблизно до 4470 байт. Це обмеження називають максимальним блоком для пересилання (Maximum Transfer Unit ~ MTU). Кожен мережевий інтерфейс має відповідне значення MTU. Коли IP-рівень потребує передати данограму, розмір якої більший від MTU, то відбувається процес IP-фрагментації, тобто розбиття даних на частини (фрагменти). Програмне забезпечення TCP/IP створює можливість для поділу довгої данограми на менші частини, якщо данограма передається через мережу із занадто малим MTU. Фрагментація може відбуватися як на комп’ютері, який є джерелом IP-данограми, так і на проміжному маршрутизаторі. Фрагментована данограма не збирається в одне ціле, аж поки не досягне свого місця призначення. Окремий фрагмент данограми є цілком незалежною IP-данограмою зі своїм IP-заголовком і маршрутизується незалежно від інших фрагментів, тобто фрагменти можуть приходити до джерела різними шляхами і не в тому порядку, як їх було відіслано, крім того, фрагментація може відбуватися неодноразово.
Нагадаємо які поля IP-заголовку використовуються при фрагментації:
Фрагментацію звичайно здійснює раутер, який з’єднує мережу з більшим MTU з мережею, в якій MTU менший, ніж довжина данограми. Довжина фрагменту повинна бути кратною 8 байтам (див. FRAGMENT OFFSET), останній останній фрагмент звичайно коротший. Щоб можна було відновити копію оригінальної данограми перед її подальшим опрацюванням у місці призначення, фрагменти повинні бути реасембльовані (reassembled). Протокол IP вимагає, щоб кожне сполучення мало MTU, не менший від 68 байтів, так що коли будь-яка мережа передбачає менше значення від вказаного (наприклад, мережа ATM має довжину комірки 53 байти, з яких 48 відведені для поміщення даних), то фрагментація і реасемблювання мусять бути вбудовані в мережевий інтерфейс у спосіб, прозорий для IP. 68 байтів – це сума максимальної довжини IP-заголовка (60 байтів) і мінімально можливої довжини даних у фрагменті, крім останнього (8 байтів). Маршрутизатор завжди повинен сприймати данограми з довжиною, яка не перевищує MTU мережі, до якої він під'єднаний, і завжди повинен опрацьовувати нефрагментовані данограми довжиною до 576 байтів. Хоч протокол IP не вимагає обслуговування нефрагментованих IP-данограм, довших від 576 байтів, однак конкретні впровадження IP-протоколу можуть працювати із довжинами 8192 байти і більше, і рідко працюють із меншими від 1500 байтів. Станції також повинні сприймати і при потребі реасемблювати данограми довжиною щонайменше 576 байтів. Фрагменти данограм мають той самий формат, як данограми, за вийнятком поля FLAG, яке вказує, що це фрагменти. Приклад: Оригінальна данограма з довжиною даних 1400 байтів (рис. 3.30 а) і три фрагменти (рис. 3.30 б) для мережі з MTU = 620 байт. Значення відступів на рис. 5.5 вказують кількість байтів в десятковій системі; їх слід поділити на 8, щоб отримати значення, яке зберігається в заголовках фрагментів: відступ визначається кількістю 8-байтових блоків. Довжина IP-заголовків становить 20 байтів. (а) оригінальна данограма; (б) фрагменти. Рис. 3.30. Приклад фрагментації данограми. Нефрагментована данограма позначена у заголовку бітами прапорців фрагментації, рівними нулю, також відступ нульовий. Коли здійснюється фрагментація, то повинні бути виконані такі кроки: q Біт прапорця фрагментування DF перевіряється для вияснення, чи фрагментація можлива. Якщо цей біт встановлено в “1”, то данограма повинна бути відкинена, а повідомлення про помилку через протокол ICMP доручається до джерела. q Базуючись на значенні MTU, поле даних ділиться на дві або більше частин. Всі новостворені порції даних (фрагменти), за винятком останньої, повинні мати довжину, кратну 8 байтам. q Всі фрагменти даних поміщаються в IP-данограми. Заголовки цих данограм копіюються із оригінального заголовка із такими модифікаціями: q біт прапорця MF (more fragments)встановлюється в “1”, за винятком останнього фрагменту; q поле відступ фрагменту (Fragment Offset) отримує значення, яке вказує на розташування фрагменту даних в оригінальній (нефрагментованій) данограмі; q якщо опції включені в оригінальну данограму, то біт найвищого порядку в байті тип опції (Option Type) визначає, чи опції будуть скопійовані у всі данограми фрагментів, чи тільки у перший фрагмент; наприклад, опція маршрутувати від джерела (Source Route) копіюється у всі фрагменти, а тому цей біт встановлюється в “1”; q встановлюється значення поля довжина заголовка (Header Length) для нової данограми; q встановлюється значення поля повна довжина (Total Length) для нової данограми; q переобчислюється поле контрольна сума заголовку данограми фрагменту (Header Checksum). q Кожна із форагментованих данограм пересилається як звичайна данограма. Протокол незалежно обслуговує кожен фрагмент, тобто фрагменти можуть пересилатися до призначення різними маршрутами і можуть бути суб’єктами нових фрагментацій, якщо вони перетинають мережі з меншими MTU. Реасемблювання данограми. Механізм фрагментації та збирання або реасемблювання (reassembling) данограм розроблено так, що для вищих рівнів (TCP, UDP) він виглядає зовсім прозоро, хоча впливає на їх кількісні характеристики пеерсилання даних. У TCP/IP фрагменти данограми передаються від пункту фрагментації до адреси станції-призначення і лише там реасемблюються. Поле ідентифікація (Identification) данограми містить унікальний номер, встановлений станцією-джерелом у межах, визначених 16-бітовим числом. Оскільки це поле не змінюється при фрагментації, то фрагмент, яких досягає приймальну станцію, може бути ідентифікований на підставі значень поля ідентифікація та IP-адрес джерела і призначення. При цьому також перевіряється значення поля протокол (Protocol). Для реасемблювання фрагментів приймальна станція виділяє буфер, як тільки поступає перший фрагмент данограми. Водночас стартує програма таймера реасемблювання. Якщо таймер вичерпується, а не всі фрагменти данограми прийняті, то данограма знищується. Початкове значення цього таймера називають часом існування (time to live – TTL) данограми. Значення TTL залежить від впровадження протоколу IP; окремі впровадження дозволяють конфігурувати його. Коли послідовні фрагменти поступають перед вичерпанням таймера, то дані просто копіюються у буфер на місце, визначене полем відступу (Fragment Offset). Отримання останнього фрагменту завершує відновлення оригінальної несегментованої данограми. Далі процес обробки даних продовжується так само, як для нефрагментованої данограми. Збереження фрагментів на всьому шляху до остаточного пункту призначення має два недоліки. По-перше, оскільки данограма не реасемблюється безпосередньо після проходження через мережу з малим MTU, то малі фрагменти повинні передаватися від пункту фрагментації до остаточного призначення. Це приводить до зменшення ефективності передавання, бо не використовуються можливості проміжних мереж із більшим MTU. По-друге, якщо будь-який фрагмент втрачений при передаванні, то данограма не може бути реасембльована. Тому ймовірність втрати данограми зростає при здійсненні фрагментації, бо втрата хоч одного фрагменту означає втрату всієї данограми - не існує механізму для повторного передавання окремого фрагменту. Однак, незважаючи на ці недоліки, реасемблювання на приймальному кінці загалом працює добре. Воно дозволяє незалежно маршрутувати кожен фрагмент і не вимагає від проміжних раутерів зберігати фрагменти або реасемблювати їх.
|
|||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-01; просмотров: 208; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.183.10 (0.007 с.) |