Фрагментація ІР-дейтаграм
Основні положення фрагментації
Основні положення фрагментації
Основні положення фрагментації
Основні положення фрагментації
Основні положення фрагментації
Основні положення фрагментації
Фрагментація дейтаграм (приклад)
Фрагментація дейтаграм (приклад)
Фрагментація дейтаграм (приклад)
Фрагментація дейтаграм (приклад)
Фрагментація дейтаграм (приклад)
229.50K
Category: internetinternet

Фрагментація ІР-дейтаграм

1. Фрагментація ІР-дейтаграм

2. Основні положення фрагментації

Фрагментація – процедура розділення дейтаграми на декілька
дейтаграм меншого розміру.
Фрагментація необхідна, оскільки кожний сегмент (канал) мережі має
конкретні параметри передачі: пропускну спроможність, значення
MTU тощо.
Кожного разу при передачі дейтаграми ІР-модуль в процесі
маршрутизації визначає, з якого інтерфейсу вона має бути
відправлена, і запитує значення MTU (Maximum Transmission Unit)
цього інтерфейсу. Після цього ІР-модуль порівнює MTU з розміром
дейтаграми і, якщо остання перевищує максимальну одиницю
передачі, розбиває дейтаграму на фрагменти.
Фрагментація може виконуватись як на кінцевій станції, що
відправляє ІР-дейтаграму, так і на будь-якому проміжному
комунікаційному модулі.
2

3. Основні положення фрагментації

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

4. Основні положення фрагментації

ІР-дейтаграма (і все повідомлення), що була фрагментована,
збирається тільки в кінцевій станції (пункті призначення).
На відміну від ІР-мереж, в деяких мережах інших технологій
використовується поетапна схема, при реалізації якої фрагменти
збираються в найближчому пункті пересилки.
Фрагментація, по суті, є прозорою для транспортного рівня.
Фрагментацію необхідно враховувати на рівні протоколів TCP та UDP
у випадку, коли треба попередити зниження продуктивності, яке
супроводжує фрагментацію.
Використовуючи UDP, легко спровокувати фрагментацію. В протоколі
TCP передбачені заходи попередження фрагментації, і додаток
практично не може змусити TCP пересилати сегмент такого
розміру, що вимагає фрагментування.
4

5. Основні положення фрагментації

Якщо ІР-дейтаграма була фрагментована, то кожний фрагмент
стає окремим незалежним блоком зі своїм заголовком. Вони
аналізуються та маршрутизуються комунікаційними вузлами
(маршрутизаторами)
незалежно,
і
тому
порушується
послідовність приходу в кінцевий пункт призначення.
При втраті хоча б одного фрагменту дейтаграми ініціюється
повторна передача всієї дейтаграми. Але оскільки в самому
протоколі ІР не передбачені процедури таймауту та повторної
передачі, ці функції необхідно перекласти на більш високі рівні.
5

6. Основні положення фрагментації

Приклад фрагментації ІР-дейтаграми, що містить
ТСР-сегмент (UDP-дейтаграму)
ІР-заголовок
ІР-заголовок
ТСР(UDP)заголовок
ТСР(UDP)заголовок
ТСР(UDP)-дані
ТСР(UDP)-дані
(Повідомлення)
ІР-заголовок
ТСР(UDP)дані
6

7. Основні положення фрагментації

Одне з основних правил фрагментації вимагає:
розмір
області
навантаження
даних,
тобто
дейтаграми
розмір
(сюди
поля
корисного
відноситься
вся
інформація, що міститься в дейтаграмі за ІР-заголовком)
був кратним 8 байтам для всіх фрагментів, крім останнього
(останній фрагмент може містити навіть всього 1 байт).
7

8. Фрагментація дейтаграм (приклад)

Приклад. Повідомлення 4080 байт, що має ідентифікатор 14825 і
обробляється протоколом UDP, необхідно терміново передати з
максимальною безпекою в межах даного континенту через
мережу з максимально допустимим розміром корисного
навантаження 1400 байт. Які будуть значення всіх полів
заголовка дейтаграми в кожному з отриманих фрагментів при
відсутності необов'язкових опцій (параметрів).
8

9. Фрагментація дейтаграм (приклад)

Фрагменти дейтаграм
Перший фрагмент
ІР-заголовок
20 байт
UDPзаголовок
UDP-дані
(Повідомлення)
Поле корисного навантаження
дейтаграми (поле даних)
Максимум 1400 байт
Всі фрагменти, крім
першого
ІР-заголовок
20 байт
UDP-дані
(Повідомлення)
Поле корисного навантаження
дейтаграми (поле даних)
Максимум 1400 байт
9

10. Фрагментація дейтаграм (приклад)

4
5
126
1396
14825
1
0
127
17
Контр. сума
ІР-адреса відправника
ІР-адреса отримувача
5
126
4108
14825
0
0
128
17
Контр. сума
ІР-адреса відправника
ІР-адреса отримувача
Дані (UDP-заголовок та
байти 1 – 1368 повідомлення)
4
Дані (байти 1 – 4088:
UDP-заголовок та повідомлення)
4
5
126
1396
14825
1
172
127
17
Контр. сума
ІР-адреса відправника
ІР-адреса отримувача
Дані (байти 1369 – 2744)
4
5
126
1356
14825
0
344
127
17
Контр. сума
ІР-адреса відправника
ІР-адреса отримувача
Дані (байти 2745 – 4080)
10

11. Фрагментація дейтаграм (приклад)

Структура мережі
Робоча
станція
MTU = 1400
MTU = 1400
MTU = 1500
Робоча
станція
MTU = 800
11

12. Фрагментація дейтаграм (приклад)

1396
126
5
0
1
14825
Контр. сума
17
127
ІР-адреса відправника
ІР-адреса отримувача
4
4108
126
5
0
0
14825
Контр. сума
17
128
ІР-адреса відправника
ІР-адреса отримувача
Дані (UDP-заголовок та
байти 1 – 1368 повідомлення)
4
Дані (байти 1 – 4088:
UDP-заголовок та повідомлення)
1396
126
5
172
1
14825
Контр. сума
17
127
ІР-адреса відправника
ІР-адреса отримувача
4
Дані (байти 1369 – 2744)
1356
126
5
344
0
14825
Контр. сума
17
127
ІР-адреса відправника
ІР-адреса отримувача
4
796
126
5
172
1
14825
Контр. сума
17
126
ІР-адреса відправника
ІР-адреса отримувача
4
Дані (байти 1369 – 2144
повідомлення)
620
126
5
269
1
14825
Контр. сума
17
126
ІР-адреса відправника
ІР-адреса отримувача
4
Дані (байти 2145 – 2744
повідомлення)
Дані (байти 2745 – 4080)
12
English     Русский Rules