Почему был бы IGMP и MLD потребоваться, чтобы передавать незарегистрированные пакеты ко всем портам?

Наиболее вероятный baretail.exe является 32-разрядной программой и видит каталог SYSWOW64 вместо SYSTEM32 (в 64-разрядном Windows, каталог SYSTEM32 действительно содержит 64-разрядный DLLs, и каталог SYSWOW64 содержит 32-разрядный DLLs). В соответствии со статьей Wikipedia о WoW64, 32-разрядные приложения могут получить доступ к реальному каталогу SYSTEM32 как %SystemRoot%\sysnative. Другая опция к местоположению журнала изменений в конфигурации сервера DHCP, так, чтобы файлы журнала были вне SYSTEM32.

2
задан 14 May 2013 в 04:58
3 ответа

Проблема описана в отчете о собрании , который упоминается как [IETF56] в RFC4541 :

Проблема - Маршрутизатор <-> IGMPv2 Переключатель отслеживания <-> Хост с поддержкой IGMPv3

Маршрутизатор отправляет запрос IGMPv3, который сообщает хосту использовать хосты IGMPv3 отправлять отчеты IGMPv3

Что дальше?

Переключатель выполняет одно из следующих 3:

  1. Не пересылает отчеты
  2. Пересылает отчеты, но не пересылает данные
  3. Пересылает отчеты и данные, но не запросы, данные затем истекает время ожидания

Результат - многоадресная рассылка прерывается при обновлении маршрутизатора или хоста (в зависимости от того, что будет последним) в IGMPv3.

Флудинг незарегистрированных потоков позволяет решить проблему в случае 1 (когда старый коммутатор не пересылает отчеты IGMPv3) и не должен иметь значения в случаях 2 и 3 (когда отчеты IGMPv3 будут быть пропущенным через старый коммутатор).

Что касается того, какая проблема (потеря трафика или чрезмерное наводнение) является более серьезным, это в значительной степени зависит от конкретной ситуации. В некоторых случаях лавинная рассылка может быть хуже, потому что, в отличие от отброшенного трафика, она может быть не сразу замечена во время тестирования, а когда в какой-то более поздний момент объем трафика вырастет настолько, чтобы сделать лавинную проблему, неисправная конфигурация может быть широко развернута, что потребует много работы, чтобы исправить это.

1
ответ дан 3 December 2019 в 11:47

Во-первых, небольшая предыстория: я понимаю, что цель IGMP (и его двоюродного брата по IPv6, MLD) - избежать потерь пропускная способность, гарантируя, что многоадресные пакеты передаются только адресатам, которые действительно заинтересованы в этих пакетах. Эта логика является усовершенствованием более старого / более простого поведения коммутатора, которое заключалось в широковещательной рассылке входящих многоадресных пакетов на все другие порты, несмотря ни на что, и оставление возможности подключенным устройствам отбрасывать многоадресные пакеты, которые им не интересны.

Нет. Цель IGMP / MLD состоит в том, чтобы маршрутизаторы знали, к какой группе многоадресной рассылки присоединился какой-либо локально подключенный хост (им даже все равно, какой из них, потому что в то время ожидались общие носители). Затем маршрутизатор передает эту информацию алгоритму многоадресной маршрутизации, который будет обмениваться этой информацией между маршрутизаторами для построения таблиц многоадресной маршрутизации. Таким образом, машина X, подключенная к маршрутизатору A, может отправлять многоадресный трафик в группу G, а машина Y, подключенная к другому маршрутизатору B, получит его, если она присоединилась к G.

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

Это кажется мне очень нелогичным - зачем алгоритму, вся цель которого состоит в том, чтобы избежать лавинной рассылки многоадресной рассылки, преднамеренно лавинной рассылки на все порты в сценарии, в котором никто не заинтересован в получении данных многоадресной рассылки?

Маршрутизаторы IGMP / MLD всегда интересуются любыми многоадресными данными. В конце концов, их роль - направлять их. Если хост отправляет многоадресные данные группе X, маршрутизатор должен переслать пакет всем другим маршрутизаторам, где хотя бы один хост присоединился к группе X. Коммутатор совершенно не знает об этой ситуации, поэтому, если он не пересылает неизвестный трафик с хоста к маршрутизатору, это просто нарушит многоадресную маршрутизацию.

Что касается того, почему пересылка незарегистрированных пакетов на все порты должна быть включена, для этого могут быть технические причины, но лично я считаю коммутаторы оптимизацией по сравнению с концентраторами. Я хочу, чтобы они в своей конфигурации по умолчанию оптимизировали вещи, не нарушая их. Если коммутатор получает незаконные или неожиданные пакеты, я бы хотел, чтобы он все равно переадресовал их, потому что этот пакет, вероятно, был отправлен по какой-то причине. Меньше всего я хочу, чтобы мой коммутатор отбрасывал пакеты.

1
ответ дан 3 December 2019 в 11:47
        Router <-> IGMPv2 snooping switch <-> IGMPv3 capable host

Здесь, я думаю, стандарт объясняет,

Незарегистрированный пакет Igmpv3 отправляется коммутатору отслеживания (IGMPv2), он не должен распознавать пакет Igmp, затем коммутатор удаляет пакет Igmp, затем многоадресный пакет Igmpv3 делает не поступает на хост Igmpv3.

0
ответ дан 3 December 2019 в 11:47

Теги

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