Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#17

Re: [idUDPClient] Broadcast auf allen Interfaces raus senden

  Alt 9. Mär 2009, 13:15
Hi,

Zitat von gsh:
das Problem ist das der Broadcast über den Adapter mit der jeweiligen Source-IP rausgehen muss.
Wenn ich jetzt wie du beschrieben hast die IP manuell setze dann geht der Broadcast auf allen Adapter mit der manuel festgelegten Source IP raus. Was aber wieder beim ersten Adapter schlecht ist.

Zum besseren Verständniss ein beispiel: (Packet geht mit folgender Source-IP raus)
So sieht es ohne manuelle IP aus

Hamachi-Adapter: 5.x.x.x
LAN-Adapter: 5.x.x.x


Wenn ich die IP manuel auf 192.168.0.x ändern

Hamachi-Adapter: 192.168.0.x
LAN-Adapter: 192.168.0.x


So sollte es aussehen

Hamachi-Adapter: 5.x.x.x
LAN-Adapter: 192.168.0.x
Aber das ist kein Broadcast. Beim Broadcast geht es ja gerade darum, daß ohne die Clients zu kennen mit einem festen Endpunkt (also wir als Sender) etwas an alle rausschicken. Die Clients bzw. Empfänger des Broadcasts selbst entscheiden dann, was und ob sie mit den Informationen machen.

Du kannst meines Wissens nicht automatisch den Broadcast mit abweichenden Source-IPs senden. Das geht nur in dem Du durch die Liste der lokalen IP Adressen iterierst und dann für jede IP einen Broadcast sendest (der wieder über alle Adapter rausgeht).

Das wären also bei 3 Adaptern: 3 x 3 Broadcasts

Aber das führt die ganze Logik eines Broadcasts ad absurdum. An sich ist es dann Aufgabe des Clients bzw. des VPN Tunnels hier eine geeignete Route zu finden, mit der man den Sender kontaktiert. Wenn das nicht geht, schlägt die Verbindung entsprechend fehl.

Im Falle eines normalen VPN (Win2003/2008 Server) über L2TP/PPTP würde meinetwegen der Broadcast von Source 192.168.100.1 über den VPN-Tunnel (Serverseite 10.0.0.1) an den VPN-Client (10.0.0.2) an den Rechner 192.168.100.100 gehen. Wenn jetzt der Client 192.168.100.100 den Broadcast empfängt und an 192.168.100.1 antworten will, ist der (VPN)-Router für die Durchleitung mittels des 10.0.0.x Netzwerkes zuständig.

Das kommt aber auch sehr auf den VPN-Tunnel an. Bei einfachen Sachen werden die Subnetze nicht vollständig verbunden, sondern wird NAT verwendet.

So gesehen, haben es die Hamachi-Entwickler schon richtig gemacht: Damit die Programmierer nicht in diese Falle laufen, hat der Adapter die höchste Routing-Priorität und sendet über 5.0.0.x/8 - dann antwortet der Broadcast-Client an diese IP und der Server erhält die Antwort. Dabei muß der Client natürlich auch wieder über eine 5.0.0.x gebunden sein.

Wenn jetzt Hamachi aus ist und der Adapter trotzdem läuft (und Priorität hat) gehen halt die Packete verloren. Das ist dann aber ein Problem der Hamachi Software. Logisch läßt sich das nicht anders lösen befürchte ich...

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat