cisco — Решение проблем, связанных с фрагментацией IP, а также с MTU, MSS и PMTUD, при помощи протоколов GRE и IPSEC

Идентификация представляет собой 16-битовое значение, присвоенное отправителем IP-датаграммы для помощи в повторной сборке фрагментов датаграммы. Поле смещения фрагмента составляет 13 бит и указывает область, к которой принадлежит фрагмент в исходной IP-датаграмме. Это значение является кратным восьми байтам. Во флаговых полях IP-заголовка три бита используются под управляющие флаги. Здесь необходимо отметить, что флаг DF (don't fragment – не фрагментировать) играет главную роль в алгоритме PMTUD: он сообщает о том, можно ли фрагментировать пакет или нет. Бит 0 зарезервирован. Его значение всегда равно 0. Бит 1 – это флаг DF (0 = фрагментация разрешена, 1 = фрагментация запрещена).

Бит 2 – это флаг MF (0 = последний фрагмент, 1 = еще фрагменты). На следующем рисунке показан пример фрагментации. При сложении всех величин IP-фрагментов конечное значение будет больше исходной величины IP-датаграммы на 60 байт. Такое увеличение связано с тем, что в ходе фрагментации были созданы три дополнительных IP-заголовка, по одному для каждого фрагмента, который следует после первого фрагмента. Первый фрагмент имеет нулевое смещение и длину 1500 (сюда входят 20 байт, добавившихся в связи с незначительной модификацией исходного IP-заголовка). Смещение второго фрагмента составляет 185 (185 x 8 = 1480).

Это означает, что блок данных этого фрагмента начинается с 1480 байта исходной IP-датаграммы. Данный фрагмент имеет длину равную 1500 (сюда также входит дополнительный IP-заголовок, созданный для этого фрагмента). Смещение третьего фрагмента – 370 (370 x 8 = 2960), что означает, что блок данных этого фрагмента начинается с 2960 байта исходной IP-датаграммы. Данный фрагмент имеет длину равную 1500 (сюда также входит дополнительный IP-заголовок, созданный для этого фрагмента). Четвертый фрагмент имеет смещение 555 (555 x 8 = 4440), что означает, что порция данных этого фрагмента начинается с 4440 байта исходной IP-датаграммы.

Данный фрагмент имеет длину равную 700 (сюда также входит дополнительный IP-заголовок, созданный для этого фрагмента). Значение Бит 0 (зарезервирован) Бит 1 DF Бит 2 MF 0 0 Разрешено Последний 1 0 Запрещено Не последний