Направленные широковещательные рассылки, не относящиеся к собственной IP-подсети, принимаются до отключения сокета - почему?
Мои два хоста находятся в одном и том же сегменте Ethernet. Хост A есть 10.1.0.1/16
, хост B есть 10.1.0.2/16
. Посылает широковещательные UDP направляется к и слушающий сокет UDP, связанный с на Б принимает их.10.1.255.255
INADDR_ANY
После того, как я изменение конфигурации IP на, чтобы таким образом, что он принадлежит к другой IP - подсети и начинает вещание на, тот же разъем на B - прежнему получает эту передачу.10.0.0.1/16
10.0.255.255
Если я перезапущу прослушивающее приложение на B, эти трансляции в «неправильную» подсеть больше не будут приниматься сокетом .
Вопрос: почему сетевой стек B не отбрасывает пакет, который не является ни одноадресной передачей B, ни широковещательной рассылкой подсети B, пока не будет отключен сокет?
Я знаю, что RFC1122 говорит :
Hosts SHOULD use the Limited Broadcast address to broadcast to a connected network.
Я понимаю, что применение на А посылающих направленных передач с целью вещания в собственной подсети не следует «должно» положение. Но мой вопрос заключается в том, почему B не удаляет их, пока работает сокет UDP.
Я наблюдал такое поведение в ядрах Linux 4.4 и 3.13.
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Каковы различия между оконными менеджерами Linux?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?