Отказ IP-фрагментов в сети?

Экзаменационный вопрос (без дополнительной информации):

Что произойдет, когда по сети будет отправлено несколько фрагментов IP-датаграмм, и только один из них не попадет в пункт назначения?

Я не уверен, задействован ли ICMP здесь или нет. Отправляет ли ICMP сообщение об ошибке, сообщающее источнику, что ему необходимо повторно отправить этот же фрагмент (только этот один фрагмент)?

Проблема здесь в том, что я не знаю, используют ли фрагменты IP UDP или TCP, поэтому я не знаю ответа на вопрос.

(Я разместил в сети engineering.stackexchange, но мой вопрос был отклонен)

1 ответ

Решение

Очки для покрытия:

  • После истечения таймера, сработавшего при получении первого фрагмента, узел повторной сборки отбросит все фрагменты.
  • Узел повторной сборки может генерировать ICMP Time Exceeded (Fragment reassembly time exceeded),
  • Первый фрагмент должен был быть получен для того, чтобы ICMP включал в себя первые 8 байтов инициирующей полезной нагрузки. IPv6 не будет генерировать превышение времени ICMP, пока не будет получен первый фрагмент.
  • С IPv6, если повторно собранная датаграмма будет больше 1500 байт, она может быть отброшена без уведомления.
  • Если использовался протокол более высокого уровня с надежной доставкой (например, TCP), то исходящий хост должен повторно передавать дейтаграммы, для которых подтверждение не было получено.
Другие вопросы по тегам