PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TCP/IP-Routing unter Windows


Gnafoo
2006-11-13, 22:01:24
Hiho, ich hab eine kurze Frage zum TCP/IP-Routing unter Windows. Soweit ich das verstanden habe sucht sich Windows wenn es eine Verbindung aufbauen will zunächst alle Routen, deren Zielnetzwerk (also Ziel-IP und Netmask) zur IP des Ziels passt. Wenn es nun mehrere Routen gibt wird die mit der niedrigsten Metrik ausgewählt, was der schnellsten Verbindung entsprechen sollte.
Was passiert aber jetzt, wenn es zwei Routen ins selbe Netzwerk gibt und der Verbindungsaufbau über die Route mit der niedrigeren Metrik scheitert? Wird dann die nächste Route getestet, bis eine Verbindung gelingt, oder wird direkt abgebrochen? :confused:

Und gibt es eine elegante Methode unter C#/.NET rauszubekommen, welches Interface für eine Verbindung zur gegebenen IP benutzt wird (möglichst ohne eine konkrete Verbindung aufbauen zu müssen)? Bisher habe ich einfach das Interface herausgesucht, dessen Netzwerkbereich zur IP passt. Die Metrik habe ich zunächst ignoriert. Für den obigen Fall würde das Verfahren aber sowieso scheitern, daher wollte ich kurz mal nachfragen, ob hier jemand genaueres weiß.

Seraf
2006-11-14, 09:05:37
Wenn du RIP verwendest sollten die Router und Windows von selbst feststelllen das ein Router ausgefallen ist. Dann wird die Routing Tabelle "von allen Netzwerkteilnehmern" ständig aktualisiert. Bei einer statischen Route wäre ich mir nicht so sicher ob einfach zum Netz mit höherer Metrik geswitcht wird.

Normal sollten Routen mit höherer Metrik verworfen werden.
Guck doch mal mit "route print" ob die Route mit höherer Metrik überhaupt gelistet ist.

Haarmann
2006-11-14, 12:13:40
Der Tod

Windows kann sogar mit der gleichen Metrik leben... das kann dann allerdings total heiter werden, wenn die beiden Leitungen nicht zum gleichen ISP gehen und man nen mail verschicken will.

Gnafoo
2006-11-14, 13:54:33
Ok danke Leute. Ich denke ich habs schon geklärt. Wenn ich bei meinem Notebook mit dem WLAN-Adapter und der Netzwerkkarte gleichzeitig im selben Netzwerk hänge, dann bekommt meine normale Netzwerkkarte die niedrigere Metrik.
Ich kann dann alle Rechner im Netzwerk erreichen. Ziehe ich aber den Netzwerkadapter vom Switch ab, dann scheitert eine Verbindung. D. h. es wird scheinbar nur die Route mit der niedrigeren Metrik getestet. Deaktiviere ich dann den normalen Netzwerkadapter, dann funktioniert es wieder ohne Probleme über WLAN.

Was meine Frage zum Thema C#/.NET angeht: ich kann die Ip Helper API benutzen. Das ist zwar nicht direkt .NET, aber anders geht es wohl nicht. Dort gibt es die nette Funktion "GetBestInterface", die genau das tut was ich will :).

@Seraf: danke für den Hinweis. Wenn die Routing-Tabelle aber ständig aktualisiert wird, kann ich mich aber trotzdem wie gehabt darauf verlassen oder?
Geht hier sowieso eher ums lokale Netzwerk mit ner handvoll von Rechnern.