Разбиение дейтаграмм
В процессе маршрутизации дейтаграммы через различные сети на одном из шлюзов может возникнуть необходимость в разбиении дейтаграммы на более мелкие фрагменты. Дейтаграмма, полученная из одной сети, может оказаться слишком крупной, чтобы ее вместил один пакет второй сети. Такая ситуация может возникать лишь в случаях, когда шлюз связывает физически различные сети.
Для каждой сети определяется значение MTU (maximum transmission unit, максимальная единица передачи), которое обозначает максимально допустимый размер пакета в этой сети. Если полученная из первой сети дейтаграмма длиннее значения MTU второй сети, она разбивается на ряд фрагментов с целью передачи. Данный процесс называется разбиением дейтаграммы. Представьте поезд, везущий стальные болванки. Каждый из вагонов поезда вмещает больше стали, чем грузовики, которые повезут груз дальше, по шоссе, поэтому каждый вагон поезда разгружается на множество грузовых машин. Сеть Ethernet точно так же физически отличается от сети Х.25, как железная дорога от шоссе; протокол IP должен разделить относительно крупные пакеты Ethernet на более мелкие, прежде чем их можно будет передать по сети Х.25.
Формат каждого фрагмента - такой же, как для обычной дейтаграммы. Второе слово заголовка обозначает фрагмент дейтаграммы и содержит информацию о том, как производить сборку фрагментов в целях восстановления исходной дейтаграммы. Поле Идентификация содержит информацию о том, к какой дейтаграмме принадлежит фрагмент, а поле Смещение разбиения - о том, каким по счету элементом является фрагмент дейтаграммы. В поле Флаги присутствует бит «Другие фрагменты» (More Fragments), позволяющий протоколу IP определить, что собраны все фрагменты исходной дейтаграммы.