logo search
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010

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

547

Фрагментация ІР-пакетов

Важной особенностью протокола IP, отличающей его от других сетевых протоколов (на­ пример, от сетевого протокола IPX, который какое-то время назад конкурировал с IP), является его способность выполнять динамическую фрагментацию пакетов при передаче их междусетями с различными максимально допустимыми значениями длины поля данных кадров(Maximum Transmission Unit, MTU). Значения MTU зависят как от протокола, так и отнастройки сетевых интерфейсов.

Прежде всего отметим разницу между фрагментацией сообщений в узле-отправителе

идинамической фрагментацией сообщений Ь транзитныхузлах сети —маршрутизаторах.

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

Встеке TCP/IP эту задачу решает протокол TCP, который разбивает поток байтов, передаваемый ему с прикладного уровня, на сегменты нужного размера, например, по 1460 байт, если на нижнем уровне данной сети работает протокол Ethernet. Протокол IP в узле-отправителе, как правило, не использует свои возможности по фрагментации пакетов.

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

Параметры фрагментации

Каждыйиз фрагментов должен быть снабжен полноценным заголовком IP. Некоторые из полей заголовка (идентификатор, TTL, флаги DF и MF, смещение) непосредственно пред­ назначены для последующей сборки фрагментов в исходное сообщение.

QИдентификатор пакета используется для распознавания пакетов, образовавшихся пу­ тем деления на части (фрагментации) исходного пакета. Все части (фрагменты) одного пакетадолжны иметь одинаковое значение этого поля. Модуль IP, отправляющий пакет, устанавливает в поле идентификатора значение, которое должно быть уникальным для данной пары отправителя и получателя в течение всего времени, пока данный пакет (или любой его фрагмент) может существовать в составной 1Р-сети.

Q Полевременижизни (Time То Live, TTL) занимает один байт и определяет предельный срок, в течение которого пакет может перемещаться по сети. Время жизни пакета изме­ ряется в секундах и задается источником (отправителем). Как уже отмечалось в начале этойглавы, по истечении«аждой секунды пребывания на каждом из маршрутизаторов, через которые проходит пакет во время своего «путешествия» по сети, из его текущего времени жизни вычитается единица; единица вычитается и в том случае, если время пребывания было меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно интерпрети­ ровать как максимальное число транзитных узлов, которые разрешено пройти пакету. Если значение поля времени жизни становится нулевым до того, как пакет достигает