При чтении фрагментов интеллектуальной собственности были обнаружены противоречия между различными учебными материалами.
В книге:
«Фрагменты необходимо собрать заново, прежде чем они достигнут транспортного уровня в месте назначения».
«Разработчики IPv4 чувствовали, что повторная сборка дейтаграмм в маршрутизаторах значительно усложнит протокол и снизит производительность маршрутизатора».
В Интернете можно найти по адресу: http://www.wildpackets.com/resources/compendium/tcp_ip/ip_fragmentation
«Как только данные достигнут маршрутизатора № 2, он выполнит повторную сборку фрагментов точно так, как описано ранее, и передаст повторно собранный блок данных в сеть с новым MTU».
Один источник сообщает, что повторная сборка происходит на целевом хосте на сетевом уровне перед передачей извлеченной полезной нагрузки из повторно собранной IP-датаграммы на транспортный уровень.
Другой говорит, что маршрутизатор повторно собирает фрагменты в целую IP-дейтаграмму и передает ее еще одному маршрутизатору.
Где на самом деле происходит пересборка? Спасибо.
Маршрутизаторы фрагментируют пакеты, но на самом деле они не собирают фрагменты заново; это до целевого устройства. RFC 791, Интернет-протокол, оставляет открытой возможность повторной сборки маршрутизаторов, но на практике этого не происходит, если только маршрутизатор не является адресатом пакета.
RFC 791, Интернет-протокол, Раздел 3.2, Обсуждение:
Базовая интернет-служба ориентирована на дейтаграммы и обеспечивает фрагментацию дейтаграмм на шлюзах с повторной сборкой, происходящей в модуле интернет-протокола назначения на хосте назначения. Конечно, фрагментация и повторная сборка дейтаграмм в сети или по частному соглашению между шлюзами сети также разрешены, поскольку это прозрачно для интернет-протоколов и протоколов более высокого уровня. Этот прозрачный тип фрагментации и повторной сборки называется «сетевой» (или внутренней) фрагментацией и здесь не обсуждается.
Конечно, это относится только к IPv4. IPv6 не допускает фрагментацию маршрутизатора.