@Amigo83
IT-шник

Почему не проходит большой пакет?

Есть такой вопрос:

В тестовой среде есть три компьютера - comp1 com2 и comp3
На comp2 и comp3 в настройках сетевой карты включил jumbo frame. Теперь между собой они пингуются большими пакетами - ping comp2 -l 8000 -f
Также эти два компьютера пингуются с comp1 обычными пакетами. Но если пробовать пинговать их большими, но без запрещающего фрагментацию флага - связи нет.

Вопрос, почему? Насколько я понимаю, если у сетевой карты стандартный mtu, то большие исходящие пакеты она должна фрагментировать по 1500 байт. Где я ошибаюсь?

Хотя, если фрагментирует принимающая сторона, то тогда всё верно. Ответ ведь тоже приходит того же размера, и отбрасывается сетевой картой?
  • Вопрос задан
  • 3542 просмотра
Решения вопроса 1
@cssman
Посмотрите wireshark'ом, что Вам в ответ приходит. Скорее всего echo reply 8000 MTU не принимается сетевухой, на которой отключён jumbo.
Вообще по описанию очень похоже на black hole, но ведь у Вас ничего не блокируется, точно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Если включаете jumbo frame, то на всех устройствах сегмента он должет быть ключен.
Иначе, устройства, на которых он не включен, не смогут работать, стеми, у кого jumbo frame.
Другими словами, в кадрах ethernet никакой фрагментации не предусмотрено, и когда большой кадр приходит на устройство, которое его не ждет, то этот кадр просто будет отвергнут. Более того, один JF будет принимающей стороной воспринят, как два кадра, что еще сильнее усугубит ситуацию.
https://ru.wikipedia.org/wiki/Jumbo-кадр
Ответ написан
@Z462
Свич новий поставте или медик
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы