Назад | Перейти на главную страницу

Где фрагменты IP собираются в один фрагмент?

При чтении фрагментов интеллектуальной собственности были обнаружены противоречия между различными учебными материалами.

В книге:

«Фрагменты необходимо собрать заново, прежде чем они достигнут транспортного уровня в месте назначения».

«Разработчики IPv4 чувствовали, что повторная сборка дейтаграмм в маршрутизаторах значительно усложнит протокол и снизит производительность маршрутизатора».

В Интернете можно найти по адресу: http://www.wildpackets.com/resources/compendium/tcp_ip/ip_fragmentation

«Как только данные достигнут маршрутизатора № 2, он выполнит повторную сборку фрагментов точно так, как описано ранее, и передаст повторно собранный блок данных в сеть с новым MTU».

Один источник сообщает, что повторная сборка происходит на целевом хосте на сетевом уровне перед передачей извлеченной полезной нагрузки из повторно собранной IP-датаграммы на транспортный уровень.

Другой говорит, что маршрутизатор повторно собирает фрагменты в целую IP-дейтаграмму и передает ее еще одному маршрутизатору.

Где на самом деле происходит пересборка? Спасибо.

Маршрутизаторы фрагментируют пакеты, но на самом деле они не собирают фрагменты заново; это до целевого устройства. RFC 791, Интернет-протокол, оставляет открытой возможность повторной сборки маршрутизаторов, но на практике этого не происходит, если только маршрутизатор не является адресатом пакета.

RFC 791, Интернет-протокол, Раздел 3.2, Обсуждение:

Базовая интернет-служба ориентирована на дейтаграммы и обеспечивает фрагментацию дейтаграмм на шлюзах с повторной сборкой, происходящей в модуле интернет-протокола назначения на хосте назначения. Конечно, фрагментация и повторная сборка дейтаграмм в сети или по частному соглашению между шлюзами сети также разрешены, поскольку это прозрачно для интернет-протоколов и протоколов более высокого уровня. Этот прозрачный тип фрагментации и повторной сборки называется «сетевой» (или внутренней) фрагментацией и здесь не обсуждается.


Конечно, это относится только к IPv4. IPv6 не допускает фрагментацию маршрутизатора.