Weitergeleitete Broadcasts an andere als das eigene IP-Subnetz werden bis zum Herunterfahren der Socket empfangen - warum?
Meine beiden Hosts befinden sich im selben Ethernet-Segment. Host A ist 10.1.0.1/16
, Host B ist 10.1.0.2/16
. A sendet gerichtete UDP-Broadcasts an 10.1.255.255
einen UDP-Listen-Socket, der INADDR_ANY
an B gebunden ist .
Nachdem ich wechselnde IP - Konfiguration auf A zu, 10.0.0.1/16
so dass sie gehört zu einem anderen IP - Subnetz und beginnt Rundfunk 10.0.255.255
, dass gleicher Buchse auf B noch empfängt diese Sendung.
Wenn ich die Höranwendung auf B neu starte, werden diese Broadcasts in einem "falschen" Subnetz nicht mehr vom Socket empfangen .
Frage: Warum lässt der Netzwerkstapel von B das Paket nicht fallen, was weder ein Unicast zu B noch ein Broadcast zu einem Subnetz von B ist, bis das Socket heruntergefahren wird?
Ich weiß, dass RFC1122 sagt :
Hosts SHOULD use the Limited Broadcast address to broadcast to a connected network.
Ich verstehe, dass die Anwendung von A, die gerichtete Broadcasts mit der Absicht sendet, an das eigene Subnetz zu senden, nicht der "Sollte" -Klausel folgt. Aber meine Frage ist, warum B sie nicht fallen lässt, solange UDP-Socket lebt.
Ich habe dieses Verhalten auf den Linux-Kerneln 4.4 und 3.13 beobachtet.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
5
XP-Netzwerkverbindung ohne Neustart freigeben?
-
5
Wie richte ich Windows ein, 802.11 gegenüber 3G zu bevorzugen?