fragen stichworte

So konfigurieren Sie einen Netzwerkrouter für die Weiterleitung der Wcf-Erkennung

Ich kann keine WCF-Erkennung über einen Netzwerkrouter durchführen.

Ich habe eine Client- und Server-App. Wenn Sie diese beiden Apps auf zwei Computern auf demselben LAN bereitstellen, funktioniert das einwandfrei. Die Client-App findet die Server-App und beginnt mit der Kommunikation. Wenn ich den Client in ein anderes Netzwerk versetze, getrennt durch einen Router, kann er den Server nicht finden.

Der Router ist ein Cisco Catalyst 3750. Ich habe die volle Berechtigung zum Ändern der Einstellungen, weiß aber nicht, welche Einstellungen für Wcf Discovery-Pakete gelten.

Mein Ziel ist es, die Routerkonfiguration so zu ändern, dass das wcf-Erkennungspaket, das auf dem LAN des Clients übertragen wird, über den Router erneut an das LAN des Servers gesendet wird.

Können Sie Beispiele für die Durchführung der WCF-Erkennung über einen Router geben? Kennen Sie irgendwelche Routereinstellungen, nach denen ich suchen sollte?

antworten

Wir konnten die WCF-Erkennung netzwerkübergreifend nutzen. Im Grunde mussten wir das TimeToLive in WCF auf mehr als den Standardwert von 1 erhöhen. Hier ist eine detailliertere Erklärung von unserem Netzwerkberater:

The standard TTL for the WS-Discovery packets from WCF are 1. By increasing this to a larger number, and enabling sparse-dense PIM on the correct SVIs on layer 3 switch configured as a the RP, multicast routing allows the WS-Discovery protocol to traverse multiple subnets on a larger enterprise level. This will NOT work through NAT, firewall, etc – it will only work between actual routed subnets (though it should work through an IPsec encrypted VTI with properly configured IP and multicast routing protocols).

Nach langem Nachdenken habe ich entschieden, dass dies entweder nicht möglich oder zumindest völlig unpraktisch ist. Bei Netzwerkdefinitionen würde die Übertragung von udp über einen Router kein aussagekräftiges Ergebnis liefern.

Nehmen wir beispielsweise an, ich könnte den Router dazu bringen, die Nachricht an alle anderen Subnetze weiterzuleiten. Ich könnte mir vorstellen, dass ich Ergebnisse aus 10.0.1.5 in einem Subnetz (nennen wir diesen PC1) und 10.0.1.5 in einem anderen Subnetz (PC2) erhalten könnte. Die TCP/IP-Technologie kann sie nicht unterscheiden. Außerdem wäre der Versuch, einen Kanal zu 10.0.1.5 und einen anderen Kanal zu 10.0.1.5 zu öffnen, einfach dumm. Obwohl ich weiß, dass ich aufgrund meiner Netzwerktopologie eindeutige Ergebnisse erhalten würde, hätte der Router keine Möglichkeit, dies zu beweisen.

Um das Ganze noch schlimmer zu machen, verbirgt der Router tatsächlich PC1- und PC2-IPS vor mir. Dies geschieht durch die NAT-Technologie (Network Address Translation). Ich muss möglicherweise 10.3.3.64 angeben, um PC1 zu erreichen, und 10.3.4.64, um PC2 zu erreichen. Wiederum führt meine Topologie nicht zu diesen unklaren Zahlen, sie sind ziemlich eindeutig und vorhersehbar, aber das System kann das nicht beweisen.

Schlussfolgerung: Ich habe mich entschieden, einen "Tracker" zu bauen. So funktionieren P2P-Netzwerke. Alle Computer melden sich bei einem bekannten Tracker an, und die Clients fragen den Tracker nach Adressen zu den gewünschten Servern.