Фрагментация возникает, когда дейтаграмма IP (пакет) превышает максимальный размер передачи (MTU) сети и должна быть разделена на более мелкие части для пересылки. Это может привести к следующим проблемам:
Для минимизации фрагментации используются следующие подходы:
Заголовок IPv4 имеет сложную структуру и состоит из нескольких полей, обеспечивающих маршрутизацию, управление фрагментацией и обработку пакетов. Основные поля заголовка IPv4:
| Поле | Описание | Размер |
|---|---|---|
| Version | Версия IP (4 для IPv4) | 4 бита |
| Header Length | Длина заголовка в 32-битных словах | 4 бита |
| Type of Service (ToS) | Тип сервиса для приоритизации трафика | 8 бит |
| Total Length | Общая длина пакета (заголовок + данные) | 16 бит |
| Identification | Идентификатор пакета для фрагментации | 16 бит |
| Flags | Флаги для контроля фрагментации (например, флаг «Don't Fragment») | 3 бита |
| Fragment Offset | Смещение фрагмента для сборки пакета | 13 бит |
| Time to Live (TTL) | Максимальное количество переходов для пакета | 8 бит |
| Protocol | Протокол верхнего уровня (например, TCP или UDP) | 8 бит |
| Header Checksum | Контрольная сумма заголовка для проверки целостности | 16 бит |
| Source IP Address | IP-адрес отправителя | 32 бита |
| Destination IP Address | IP-адрес получателя | 32 бита |
| Options | Опциональные параметры для дополнительных функций | 0–40 байт |
Заголовок IPv6 был упрощён для повышения производительности и облегчения маршрутизации. Основные поля заголовка IPv6:
| Поле | Описание | Размер |
|---|---|---|
| Version | Версия IP (6 для IPv6) | 4 бита |
| Traffic Class | Класс трафика для приоритизации данных | 8 бит |
| Flow Label | Маркировка потока для улучшения обработки трафика | 20 бит |
| Payload Length | Длина полезных данных (без заголовка) | 16 бит |
| Next Header | Тип следующего заголовка (например, TCP, UDP или ICMPv6) | 8 бит |
| Hop Limit | Максимальное количество переходов для пакета | 8 бит |
| Source IP Address | IP-адрес отправителя | 128 бит |
| Destination IP Address | IP-адрес получателя | 128 бит |
Фрагментация может снижать производительность сети, и современные протоколы, такие как IPv6, стараются минимизировать её влияние. IPv6 имеет упрощённую структуру заголовка и новые функции, которые решают многие проблемы, характерные для IPv4.