winsock2 bind( ... ) bei NIC's mit mehreren IP's ??
-
Hallo an Alle,
hoffe, mir kann hier jemand bei einem 'Rätsel' weiterhelfen.
Umfeld
Rechner mit mehreren NIC's , die ggf auch mehrere IP's haben können.
MFC mit DotNet 2003, aber normale Windows sockets (nicht cAsyncSocket), UDPAuslesen der Info's zu Hardwareausstattung (wieviele NIC's und so) und der verschiedenen jeweiligen vergebenen IP-Adressen funzt komplett.
ServerSocket der Reihe nach reinitialisieren, an die verschiedene NICs (!) binden, funzt alles und Kommunikation problemlos. (Versende Multicast-Packete und werte Antworten von bestimmten Geräten aus)Aber:
Es scheint völlig unmöglich, die Socket an eine zweite IP-Adresse einer NIC (!)so zu binden, dass im IP Header auch diese zweite IP drinsteht. Da steht immer die Erste drin ??
ergo::Kommunikationsprobleme.
bind ( ... ) gibt keine Fehlermeldung zurück, alles läuft prächtig, nur im IP-Header steht immer die Erste IP-Adresse, egal wie die Socket gebunden wird.
Habe schon vieles durchsucht, aber nirgends irgendeine weiterführende Information hierzu finden können, mehrfache IP's auf einer NIC scheinen in keinem einzigen Tutorial ein Thema zu sein.
Hoffe sehr, hier einen Tip zu bekommen, was man da noch machen könnte und sach schon mal vielen vielen Danke an jeden, der mir einen Tip hierzu geben kann.

Thx arnips
prinzipiell gäbe es ja noch die Möglichkeit, RAW-Sockets zu verwenden und den IP Header dann selbst 'zu Fuß' zu editieren. Dazu werden allerdings Administratorechte benötigt und scheidet daher aus.
-
Hallo,
niemand im Forum, der mir einen Tip geben könnte?
noch keiner auf das Problem mit Netzwerkkarten mit mehreren
IP-Adressen gestoßen? (push)

LG arni
-
Sorry, bisher bloss mehrere sockets (mit unterschiedlichen IPs) mit TCP verwendet. Funktioniert problemlos, egal auf welchem Adapter die hängen. Leider keine Erfahrung mit UDP...
-
Ja, verschiedene Adapter ist auch mit UDP problemlos, denke das unterscheidet sich nicht von TCP. Wenn auf einem Adapter halt mehrere IP's konfiguriert sind, bekomme ich einfach kein Paket mit einer anderen Absender-IP als der jeweils ersten konfigurierten ins Netzwerk raus. Beim Binden scheint alles fehlerlos, eine spezielle Socketoption für so einen Fall scheint es nicht zu geben ...
aber wenn ich mit nem Ping ein ICMP-Paket schicke steht als Absende-IP diejenige IP-Adresse der Netzwerkkarte im Header, die zu dem Netzbereich passt in den ich reinpingen will. Also w2k hat da da schon irgendwie eine Lösung gefunden. Jedenfalls bei ICMP.
Aber vielleicht mache ich auch einfach einen Denkfehler? Vielleicht wird ein Multicast nur dann in die Richtung geschickt, wenn in der Routing Table auch die anderen IP-Adressen als Gateways für Multicast eingetragen werden ? Wäre es überhaupt möglich, mehrere verschiedene Gateways für multicast auf einer NIC einzutragen ?
Jetzt wäre ich mal gerne ein paar Minuten der Wahnsinns-win-administrator-crack, dann würde ich vielleicht mehr schnallen. Aber vielleicht hilft mir da noch jemand ebbes weiter?
Wär suuuper. arni
-
frag doch mal in der newsgroup microsoft.public.win32.programmer.networks