Направленные широковещательные рассылки, отличные от собственной IP-подсети, принимаются до отключения сокета - почему?


2

Мои два хоста находятся в одном и том же сегменте Ethernet. хозяин является 10.1.0.1/16хост В является 10.1.0.2/16, отправляет направленные UDP-трансляции на 10.1.255.255 и сокет прослушивания UDP, связанный с INADDR_ANY на В получает их.

После того, как я меняю конфигурацию IP на в 10.0.0.1/16 так что он принадлежит другой подсети IP и начинает вещание на 10.0.255.255та же розетка на В все еще получает эта трансляция.

Если я перезапущу приложение прослушивания на В эти трансляции в «неправильную» подсеть больше не принимается сокетом ,

Вопрос: почему сетевой стек В не отбрасывает пакет, который не является ни одноадресным В ни трансляция в подсеть В До отключения розетки?

Я знаю, что RFC1122 говорит :

Hosts SHOULD use the Limited Broadcast address to broadcast to a connected network.

Я понимаю, что приложение на отправка направленный широковещательная рассылка с намерением вещать в собственную подсеть не следует условию «должен». Но мой вопрос почему В не удаляет их, пока работает сокет UDP.

Я наблюдал такое поведение на ядрах Linux 4.4 и 3.13.


2
Когда вы говорите «B получает эту широковещательную рассылку», какая программа фактически показывает это - захват пакета (tcpdump) или обычный сокет UDP?
grawity

@ Grawity UDP сокет. (Естественно, tcpdump также и тогда, когда интерфейс не находится в случайном режиме.)
Konstantin Shemyak

То, что хост B видит трафик, который является нормальным, не означает, что он действует на него. В зависимости от вашего метода мониторинга вы можете неправильно интерпретировать ваши данные. Если вы используете инструмент анализа сети, адаптер Ethernet, вероятно, находится в случайном режиме, поэтому, конечно, он будет видеть весь трафик в сети, а не адресован ему или нет.
Appleoddity

Также имеет значение, подключены ли эти устройства через коммутатор или концентратор.
Appleoddity

2
@Appleoddity: на уровне Ethernet это совершенно нормально независимо (поскольку все типы широковещания имеют один и тот же MAC-адрес); Я полагаю, что ОП спрашивает, почему он не сбрасывается, когда достигает уровня IP.
grawity
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.