Раздел 4. Компьютерная сеть Интернет
277
максимальная единица передачи данных в сети, сокращенно MTU
(Maximum Transfer Unit). Величина MTU может быть достаточно малой. В
некоторых сетях значение MTU составляет 128 октетов и даже меньше.
Таким образом, ограничение длины дейтаграммы размерами мини-
мального MTU, существующего в объединенной сети, приводит к падению
эффективной скорости передачи данных по причине увеличения избыточно-
сти кадра. В то же время, если размер дейтаграммы будет больше, чем раз-
мер минимального MTU в объединенной сети, это приведет к тому, что на
некоторых участках сети она может не поместиться в один канальный кадр.
Поэтому в функции уровня IP входит разбиение слишком длинного
для конкретного типа составляющей сети сообщения на более короткие па-
кеты. Части, на которые разделяется дейтаграмма, называются фрагмента-
ми, а сам процесс разделения дейтаграммы – фрагментацией.
Размер фрагмента выбирается так, чтобы он целиком помещался в од-
ном канальном кадре. Кроме того, так как в протоколе IP величина смещения
фрагмента от начала заголовка кратна 8 байтам, размер фрагмента также вы-
бирается кратным 8 байтам. Очевидно, что выбор фрагмента, размер которо-
го приблизительно равен MTU участка сети и при этом кратен 8 октетам,
приводит к делению дейтаграмм на неравные части. Размер последней части
может оказаться намного меньше остальных.
В протоколе IP нет каких-либо рекомендаций по поводу минимального
размера дейтаграммы. Поэтому пользователь может выбирать размер дейта-
граммы по своему усмотрению. Ее фрагментация и последующая сборка вы-
полняются автоматически на уровне протокола IP, без какого-либо вмеша-
тельства отправляющей стороны.
Перед тем, как узел-получатель сможет обработать фрагментирован-
ную дейтаграмму, он должен принять все ее части и произвести сборку (т.е.
восстановить ее первоначальный вид). В связи с тем, что отдельные фраг-
менты перемещается по сети независимо от других, в заголовке каждого па-
кета должна быть информация, дублирующая заголовок исходной дейта-
граммы. Кроме того, в нем предусматриваются служебные поля, необходи-
мые для сборки фрагментов в исходное сообщение. Размер фрагмента вместе
с заголовком не должен превышать размера MTU той сети, по которой пере-
сылается фрагмент.
Обратите внимание, что в заголовке дейтаграммы предусмотрены три
поля, управляющие процессом ее фрагментации и последующей сборки:
идентификационные данные, флажки и смещение фрагмента. В поле иден-
тификационных данных указывается уникальное целое число, предназна-
ченное для отождествления текущей дейтаграммы.
После доставки получателю первого фрагмента дейтаграммы запуска-
ется специальный таймер сборки (reassembly timer). Если значение таймера