Що таке фрагментовані пакети

Що таке фрагментовані пакети



IP віртуальне складання в Cisco: що це таке

Ip virtual reassembly (віртуальне складання IP-пакетів) - це технологія, яка використовується у пристроях Cisco, яка дозволяє перебирати та збирати фрагментовані пакети IP у вихідні повідомлення. Це дуже важливий процес у мережній комунікації, оскільки дозволяє передавати дані, що перевищують максимальний розмір окремого IP-пакету без втрати інформації.

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

Технологія віртуального складання IP-пакетів у cisco дозволяє обробляти та збирати ці фрагментовані пакети у пам'яті маршрутизатора. При цьому використовується інформація в заголовках пакетів для визначення порядку та повноти фрагментів. Після збирання пакет передається у відповідний додатку або сервісу для подальшої обробки.

Важливо, що віртуальне складання IP-пакетів може бути налаштовано і контролюється за допомогою різних параметрів, таких як час очікування фрагментів та максимальний розмір пам'яті для складання пакетів. Це дозволяє оптимізувати процес складання пакетів та забезпечити надійність передачі даних у мережі.

Що таке IP віртуальне складання в Cisco?

Віртуальне складання IP-пакетів у Cisco виконується на рівні маршрутизатора або комутатора. Кожен фрагментований пакет містить інформацію про свій порядковий номер, довжину даних та інші необхідні параметри.Після отримання всіх фрагментів мережний пристрій збирає в вихідний пакет.

IP віртуальна збірка особливо корисна, коли пакети фрагментуються під час проходження через мережу з різними маршрутизаторами, оскільки маршрутизатори можуть мати різні обмеження розміру фрагментів.

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

У цисковських пристроях команда "ip virtual-reassembly" використовується для включення віртуального складання IP-пакетів на інтерфейсах маршрутизатора або комутатора.

Принцип роботи IP віртуального складання в Cisco

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

Однак, фрагментація IP-пакетів може призвести до проблем з продуктивністю та безпекою мережі, тому Cisco розробила механізм віртуального складання. Він дозволяє об'єднати фрагменти відновити вихідний пакет шляхом збирання фрагментів, що дозволяє усунути проблеми, пов'язані з фрагментацією.

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

IP віртуальне складання широко використовується в мережах Cisco для забезпечення доставки пакетів з мінімальною втратою даних та забезпечення ефективності та надійності мережі.

Що таке фрагментація IP-пакетів?

MTU визначає максимальний розмір пакета, який може бути переданий через інтерфейс мережі без фрагментації. Кожен пристрій у мережі має власний MTU, і коли IP-пакет більше, ніж MTU, потрібна фрагментація.

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

Фрагментація IP-пакетів необхідна у випадку, якщо розмір пакета перевищує MTU на деякій ділянці мережі, наприклад, при передачі пакету між LAN і WAN або передачі пакетів через VPN-тунель. Фрагментація дозволяє розділити великий пакет на кілька менших, які можуть успішно пройти через мережу з меншим MTU.

Однак фрагментація IP-пакетів може призвести до додаткових витрат на витрати на пропускну здатність мережі та затримок в обробці пакетів. Тому рекомендується налаштовувати пристрої мережі таким чином, щоб уникати фрагментації, наприклад, шляхом налаштування MTU на всіх пристроях мережі на найбільше значення, що підтримується всіма пристроями.

Переваги фрагментації IP-пакетів:
- Можливість передачі великих пакетів через мережу з меншим MTU.
- Гарантія доставки фрагментованих пакетів та їх правильного складання на стороні, що приймає.
Недоліки фрагментації IP-пакетів:
- Додаткові накладні витрати на пропускну спроможність мережі та затримки в обробці пакетів.
- Збільшення ймовірності втрати фрагментованих пакетів під час передачі через мережу.
- Неефективне використання ресурсів мережі при передачі великих пакетів, які б могли повністю поміститися в MTU пристроїв.

У чому полягає роль IP віртуального складання Cisco?

IP віртуальне складання Cisco дозволяє пристроям отримувати і збирати фрагментовані пакети даних, відновлюючи вихідні пакети і передаючи їх у цілісному вигляді. Це відбувається за рахунок перетворення фрагментів пакетів у пакети з повним розміром, що дозволяє мережевим пристроям обробляти ці дані так, ніби вони приходили у вигляді одного цільного пакета.

ІР віртуальне складання важливе для забезпечення ефективності передачі даних в IP-мережах, особливо при використанні фрагментації пакетів. Без віртуального складання мережні пристрої не змогли б обробляти фрагментовані пакети і передавати їх правильно, що призвело б до погіршення продуктивності та виникнення проблем з доставкою даних.

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

Таким чином, IP віртуальне складання відіграє важливу роль у забезпеченні надійності та ефективності передачі даних в IP-мережах Cisco.

Як відбувається IP віртуальне складання в Cisco?

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

Віртуальне складання IP-пакетів відбувається на основі інформації, що міститься в заголовку IP-пакету.Коли фрагментовані пакети досягають маршрутизатора або комутатора, ці вузли відстежують інформацію в заголовку кожного пакета та використовують її для правильного складання вихідного IP-пакету.

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

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

Переваги IP віртуального складання:
- Забезпечує доставку фрагментованих IP-пакетів без втрати даних
- Покращує пропускну здатність мережі та знижує навантаження на пристрої
- Дозволяє передавати дані з різними розмірами MTU через мережу

Переваги використання IP віртуального складання в Cisco

Використання IP віртуального складання Cisco надає наступні переваги:

  1. Економія пропускної спроможності: IP віртуальна збірка дозволяє скоротити кількість пакетів, що передаються, виключаючи дублювання даних і видаляючи надлишкові заголовки кожного фрагмента. Це допомагає знизити навантаження на мережевий канал та збільшити ефективність використання доступної пропускної спроможності.
  2. Поліпшення пропускної спроможності в мережі: Завдяки зменшенню кількості пакетів, що передаються, та оптимізації трафіку, використання IP віртуального складання дозволяє знизити затримки та покращити загальну пропускну здатність в мережі.Це особливо важливо для мереж із великим обсягом трафіку або високими вимогами до швидкості передачі.
  3. Гарантована доставка даних: IP віртуальне складання обов'язково виконує процес об'єднання та відновлення фрагментів пакетів перед доставкою їх кінцевому вузлу. Це дозволяє гарантувати цілісність даних і запобігає можливим помилкам при обробці фрагментованих пакетів.
  4. Поліпшення безпеки мережі: IP віртуальне складання дозволяє згрупувати всі фрагменти пакета перед їх обробкою на кінцевому вузлі. Це допомагає запобігти можливим атакам, пов'язаним з обробкою фрагментованих пакетів, і підвищити безпеку мережі в цілому.

В цілому, використання IP віртуального складання в Cisco є ефективним способом покращення продуктивності та надійності IP-мережі. Ця технологія дозволяє оптимізувати передачу даних, підвищити пропускну здатність та забезпечити гарантовану доставку даних, що особливо важливо у мережах з високим рівнем трафіку та вимогами до безпеки.

Складнощі та обмеження IP віртуального складання в Cisco

Однак, незважаючи на свою корисність, IP віртуальне складання може зіткнутися зі складнощами та обмеженнями. Ось деякі з них:

  1. Пропускна спроможність: У процесі віртуального складання фрагментованого трафіку може виникнути значне навантаження на комутуючий пристрій. Це може знизити пропускну здатність мережі та вплинути на продуктивність.
  2. Обмеження на розмір пакетів: IP віртуальне складання призначене для обробки тільки IPv4-пакетів, фрагментованих на основі поля MF (More Fragments) та DF (Don't Fragment).Великі пакети, що виходять за межі цих параметрів, не можуть бути оброблені за допомогою віртуального складання.
  3. Мережеві атаки: IP віртуальне складання може бути вразливим до деяких видів мережевих атак, таких як атаки на фрагментацію. Зловмисники можуть використовувати цю вразливість для перевантаження системи комутації, втрати даних чи інших цілей.
  4. Обмежене поширення: IP віртуальне складання є специфічним для пристроїв Cisco методом і може бути несумісним з іншими мережевими обладнаннями. Це обмежує її застосування лише у мережах Cisco та ускладнює інтеграцію з іншими мережними рішеннями.

В цілому, IP віртуальне складання є корисним інструментом для обробки фрагментованого IP-трафіку в мережах Cisco. Проте, її використання може супроводжуватися деякими складнощами та обмеженнями, які необхідно враховувати під час проектування та налаштування мережі.

Фрагментація IP-пакетів

Протокол IP дозволяє виконувати фрагментацію пакетів, що надходять на вхідні порти маршрутизаторів.

Слід розрізняти фрагментацію повідомлень у вузлі-відправнику та динамічну фрагментацію повідомлень у транзитних вузлах мережі – маршрутизаторах. Практично у всіх стеках протоколів є протоколи, які відповідають за фрагментацію повідомлень прикладного рівня на такі частини, що вкладаються у кадри канального рівня. У стеку TCP/IP це завдання вирішує протокол TCP, який розбиває потік байтів, переданий йому з прикладного рівня повідомлення потрібного розміру (наприклад, на 1460 байт для протоколу Ethernet). Тому протокол IP у вузлі-відправнику не використовує свої можливості фрагментації пакетів.

А ось при необхідності передати пакет у наступну мережу, для якої розмір пакета є занадто великим, IP-фрагментація стає необхідною. У функції рівня IP входить розбиття надто довгого для конкретного типу складової мережі повідомлення більш короткі пакети зі створенням відповідних службових полів, необхідні подальшого складання фрагментів у вихідне повідомлення.

У більшості типів локальних і глобальних мереж значення MTU, тобто максимальний розмір поля даних, яке має інкапсулювати свій пакет протокол IP, значно відрізняється. Мережі Ethernet мають значення MTU, що дорівнює 1500 байт, мережі FDDI - 4096 байт, а мережі Х.25 найчастіше працюють з MTU 128 байт.

IP-пакет може бути позначений як не фрагментований. Будь-який пакет, позначений таким чином, не може бути фрагментований модулем IP за жодних умов. Якщо пакет, позначений як не фрагментований, не може досягти одержувача без фрагментації, то цей пакет просто знищується, а вузлу-відправнику надсилається відповідне ICMP-повідомлення.

Протокол IP допускає можливість використання межах окремої підмережі її власних засобів фрагментування, невидимих ​​для протоколу IP. Наприклад, технологія АТМ ділить IP-пакети, що надходять, на комірки з полем даних в 48 байт за допомогою свого рівня сегментування, а потім збирає комірки у вихідні пакети на виході з мережі. Але такі технології, як АТМ, є скоріше винятком, ніж правилом.

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

Поле усунення фрагмента повідомляє одержувачу положення фрагмента у вихідному пакеті. Зміщення фрагмента та довжина визначають частину вихідного пакета, принесену цим фрагментом. Прапор more fragments показує поява останнього фрагмента. Модуль протоколу IP, що відправляє нерозбитий на фрагменти пакет, встановлює прапор more fragments в нуль і зміщення у фрагменті.

Ці поля дають достатню кількість інформації для збирання пакета.

Щоб розділити на фрагменти великий пакет, модуль протоколу IP, встановлений, наприклад, на маршрутизаторі, створює кілька нових пакетів і копіює вміст полів IP-заголовка з великого пакета IP-заголовки всіх нових пакетів. Дані зі старого пакета поділяються на відповідне число частин, розмір кожної з яких, крім останньої, обов'язково має бути кратним 8 байт. Розмір останньої частини даних дорівнює отриманому залишку.

Кожна з отриманих частин даних міститься у новий пакет. Коли відбувається фрагментація, деякі параметри IP-заголовка копіюються в заголовки всіх фрагментів, інші залишаються лише у заголовку першого фрагмента.Процес фрагментації може змінити значення даних, розташованих у полі параметрів, і значення контрольної суми заголовка, змінити значення прапора more fragments і усунення фрагмента, змінити довжину IP-заголовка і загальну довжину пакета, У заголовок кожного пакета заносяться відповідні значення поле зміщення fragment offset, а в полі загальної довжини пакета міститься довжина кожного пакета. Перший фрагмент матиме у полі fragment offset нульове значення. У всіх пакетах, крім останнього, прапор more fragments встановлюється в одиницю, а останньому фрагменті - в нуль.

Щоб зібрати фрагменти пакета, модуль протоколу IP (наприклад, модуль на хост - комп'ютері) поєднує IP-пакети, що мають однакові значення в полях ідентифікатора, відправника, одержувача та протоколу. Таким чином, відправник повинен вибрати ідентифікатор таким чином, щоб він був унікальним для даної пари відправник-одержувач, для даного протоколу і протягом того часу, поки даний пакет (або будь-який його фрагмент) може існувати у складовій IP-мережі.

Очевидно, що модуль протоколу IP, що відправляє пакети, повинен мати таблицю ідентифікаторів, де кожен запис співвідноситься з кожним окремим одержувачем, з яким здійснювався зв'язок, і вказує на останнє значення максимального часу життя пакету в IP-мережі. Однак, оскільки поле ідентифікатора допускає 65536 різних значень, деякі хости можуть використовувати просто унікальні ідентифікатори, що не залежать від адреси одержувача.

У деяких випадках доцільно, щоб ідентифікатори IP-пакетів вибиралися протоколами вищого, ніж IP рівня.Наприклад, у протоколі TCP передбачена повторна передача ТСР - сегментів, які з якихось причин не дійшли адресата. Імовірність правильного прийому збільшувалася б, якби при повторній передачі ідентифікатор для IP-пакету був би тим самим, що й у вихідному IP-пакеті, оскільки його фрагменти могли б використовуватися для складання правильного ТСР - сегмента.

Процедура об'єднання полягає у приміщенні даних з кожного фрагмента в позицію, вказану в заголовку пакета в полі fragment offset.

Кожен модуль IP повинен бути здатний передати пакет із 68 байт без подальшої фрагментації. Це з тим, що IP-заголовок може містити до 60 байт, а мінімальний фрагмент даних - 8 байт. Кожен одержувач повинен бути в змозі прийняти пакет з 576 байт як єдиний шматок або у вигляді фрагментів, що підлягають збиранню.

Якщо біт прапора заборони фрагментації (Don't Fragment, DF) встановлений, фрагментація даного пакета заборонена, навіть якщо в цьому випадку він буде втрачений. Даний засіб може використовуватися для запобігання фрагментації у випадках, коли хост - одержувач не має достатніх ресурсів для складання фрагментів.

Робота протоколу IP з фрагментації пакетів у хостах та маршрутизаторах ілюструється на рис. 21.

Мал. 21. Фрагментація IP-пакетів при передачі між мережами з різним максимальним розміром пакетів: К1 та 01 - канальний та фізичний рівень мережі 1; К2 та Ф2 - канальний та фізичний рівень мережі 2

Нехай комп'ютер 1 пов'язаний з мережею, що має значення MTU 4096 байт, наприклад з мережею FDDI, При надходженні на IP-рівень комп'ютера 1 повідомлення від транспортного рівня розміром 5600 байт протокол IP ділить його на два IP-пакети, встановлюючи в першому пакеті ознака фрагментації та присвоюючи пакету унікальний ідентифікатор, наприклад 486, У першому пакеті величина поля Зміщення дорівнює 0, а в другому - 2800. Ознака фрагментації в другому пакеті дорівнює нулю, що показує, що це останній фрагмент пакета. Загальна величина IP-пакету становить 2800 плюс 20 (розмір IP-заголовка), тобто 2820 байт, що вміщується у полі даних кадру FDDI. Далі модуль IP комп'ютера 1 передає ці пакети своєму мережному інтерфейсу (утворюється протоколами канального рівня К 1 і фізичного рівня Ф1), Мережевий інтерфейс відправляє кадри наступного маршрутизатору.

Після того, як кадри пройдуть рівень мережного інтерфейсу маршрутизатора (К1 і Ф1) і звільняться від заголовків FDDI, модуль IP за мережевою адресою визначає, що два пакети, що прибули, потрібно передати в мережу 2, яка є мережею Ethernet і має значення MTU, що дорівнює 1500. Отже, IP-пакети, що прибули, необхідно фрагментувати. Маршрутизатор витягує поле даних із кожного пакета і ділить його ще навпіл, щоб кожна частина вмістилася в полі даних кадру Ethernet. Потім він формує нові IP-пакети, кожен із яких має довжину 1400 + 20 - 1420 байт, що менше 1500 байт, тому вони нормально розміщуються в полі даних кадрів Ethernet.

В результаті комп'ютер 2 по мережі Ethernet приходять чотири IP-пакети із загальним ідентифікатором 486, що дозволяє протоколу IP, що працює в комп'ютері 2, правильно зібрати вихідне повідомлення.Якщо пакети прийшли не в тому порядку, в якому були надіслані, то зміщення вкаже правильний порядок їхнього об'єднання.

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

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

Як працює фрагментація пакетів в IP (на прикладі тестів iPerf3) ⁠ ⁠

У цьому пості поговоримо про фрагментацію пакетів, розберемося як вона працює і чому вона не вигідна нікому: ні хостам, ні маршрутизатором спочатку буде трохи теорії, а потім скористаємося генератором пакетів і подивимося дампи.

Що таке фрагментація?

З розмови про MTU ми пам'ятаємо чотири моменти:

  1. Мінімальний розмір кадру 64 байт.
  2. MTU за замовчуванням в мережах Ethernet 1500 байт.
  3. Кадри можуть бути набагато більшими ніж 1500 байт.
  4. MTU параметр налаштовується і не факт, що на всіх лінках буде налаштований MTU, який буде пропускати пакети, що генеруються відправником.

Це деякі вступні обмеження, які нам пропонує Ethernet. IPv4 до цих обмежень додає те, що вузол одержувач повинен гарантувати всім своїм сусідам, що він може прийняти IP-пакет розміром 576 байт, а вузол IPv6 повинен вміти обробляти пакети розміром 1280 байт.

З урахуванням вищеописаного легко можна уявити дві ситуації, у яких може почати працювати фрагментація:

  1. Хости погодили обмін пакетами 1500 байт (насправді вони погодили TCP або SCTP MSS), але на мережі є лінк або лінки, де MTU менше 1500 байт.
  2. Хости генерують пакети розміром понад 1500 байт, але в транзитних вузлах MTU дорівнює 1500 байт.

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

  1. Транзитний пристрій може повідомити відправника про те, що той генерує занадто великі пакети і, якщо відправнику не заборонено, він може почати генерувати пакети меншого розміру.
  2. Транзитний вузол може не повідомляти відправника, що той генерує великі пакети, а почати самостійно розбивати їх на такі пакети, які гарантовано пройдуть через лінк. Це і є фрагментація.
  3. Занадто великі пакети можуть просто знищуватися, але цей варіант не дуже цікавий.

Варто розуміти, що фрагментація пакетів явище вимушене і не дуже бажане, єдина перевага фрагментації полягає в наступному: якщо додатки не дбають про розміри даних, то це робить IP, щоб хоч якимось чином, але зв'язок між відправником і одержувачем підтримувався.

Мінусів у фрагментації багато, ось три основні на мій погляд:

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

Ось кілька посилань, де ви можна більше дізнатися про проблеми, фрагментації, все на ін-язе: RFC 4963, Fragmentation Considered Harmful, RFC 8900.

Поля IP заголовка для керування фрагментацією

У заголовку IP є чотири поля, які так чи інакше використовуються при фрагментації.

  1. Розмір пакета (Total Lenght). У цьому вся полі зберігається повний розмір пакета в байтах, тобто. заголовка плюс поля даних.
  2. Ідентифікатор (Identification). Це поле допомагає приймаючій стороні зібрати вихідний пакет з отриманих фрагментів, фрагменти, які є частинами одного вихідного пакета, значення цього поля буде однаковим.
  3. Прапори (Flags). Під кожний прапор виділено один біт, нумерація починається з нуля. Нульовий біт(нульовий прапор) нам не цікавий, перший біт називається DF або do not fragment, якщо значення цього біта дорівнює одиниці, то пакет фрагментувати заборонено, якщо виникає ситуація коли пакет DF = 1 і розмір більше допустимого MTU, такий пакет знищується( деякі пристрої ігнорують біт DF і однаково виконують фрагментацію).Другий прапор називається MF або more fragments, він використовується для того, щоб позначити кінець послідовності фрагментованих пакетів, поки MF = 1 вузол одержувач чекатиме нові фрагменти, як тільки прийде пакет з MF = 0, одержувач зрозуміє, що послідовність фрагментованих пакетів закінчилася.
  4. Зміщення фрагмента (Fragment Offset). IP не гарантує того, що одержувач отримуватиме пакети в тій же послідовності, в якій їх генерував відправник. У випадках, коли фрагментації немає, проблема зібрати все в потрібній послідовності це проблема вищестоящого процесу або протоколу, але якщо одержувач прийняв фрагментовану послідовність, завдання зібрати вихідний пакет із фрагментів лягає на IP процес, поле зміщення допомагає зрозуміти в якій послідовності треба збирати вихідний пакет.Це поле зберігає чисельне значення, одна одиниця цього числа дорівнює восьми байтам.

Ось так ці поля виглядають у дампі Wireshark.

Поля фрагментованого пакету: Total Length, Identification, Flags, Fragment Offset у дампі Wireshark

Кольори на двох картинках вище відповідають.

Зміщення фрагмента в IP

Варто окремо зупинитися на полі Fragment Offset, його розмір 13 біт, тобто максимальне значення цього поля 8191, але все питання в тому, які одиниці виміру використовуються для зміщення фрагмента, якщо в цьому полі стоїть значення 1, це означає, що зсув треба робити на 8 байт, тобто максимально можливе усунення 65528 байт.

Найпростіше розібратися з питанням усунення можна буде на прикладі, припустимо, у нас є два хости, з'єднані каналом з MTU 1500 байт, але хости хочуть обмінюватися пакетами розміром 5940 байт, в цьому випадку буде включатися механізм фрагментації, і кожен вихідний пакет буде поділено на чотири пакети по 1500 байт, щоб вони гарантовано пройшли через канал, зміщення першого фрагментованого пакета дорівнює нулю, у другого пакета воно вже буде 1480 байт, третій пакет буде мати зміщення 2960 і останній пакет буде зі зміщенням 4440 байт, все описане вище представлено на малюнку.

Приклад роботи фрагментації IP пакетів

Для зручності я перераховував одиниці виміру зміщення в байти.

З прикладу зрозуміло, що фрагментація це зайва робота як для транзитних вузлів, які її виконують, але й хостів. Також у прикладі видно зміст поля ID і прапора MF, за ними одержувач розуміє, що це кінець фрагментованої послідовності, але одержувач заздалегідь не знає розмір вихідного пакета.

В якості перевірки і підтвердження сказаного раніше я зробив пінг пакетів з розміром, як у прикладі вище, і зняв дамп, важливо, щоб MTU лінків дорівнював 1500 байт щоб вийшло як у прикладі.

Приклад фрагментованих пакетів у дампі Wireshark

Цікаві стовпці виділені квітами:

блакитний = розмір пакету

зелений = наявність прапора MF

Схожі статті

  • Що таке таблиця об'єкт об'єкт
  • Що таке Кастер у підвісці
  • Що таке соус Шою
  • Що таке МСФЗ простими словами
  • Що таке сорт м'яса
  • Що таке Фасадна панель для посудомийної машини
  • Що таке джунглі історія 5 клас
  • Що таке обсяг простими словами
  • Недавні статті

  • Чому взуття скрипить при ходьбі
  • Коли день народження у стрічці
  • Чи можна кішці їсти сіль
  • Варіанти планування ділянки 15 соток прямокутної форми
  • Що означає півмісяця знак
  • Рейсмусовий верстат для чого
  • У якому віці парують свиней
  • У чому полягає принцип нарахування та у яких випадках він застосовується