2016-05-25 5 views
-1

Nehmen wir an, ich habe einen VoIP-Service auf mehreren Servern an verschiedenen Standorten und ich habe Kunden auf der ganzen Welt.
Wenn der Client eine Anforderung stellt, sollte ich in der Lage sein, meinem Client zu antworten, welcher Server für RTP verwendet werden soll, der viele Daten verwenden wird. Ich glaube, dass ich das einfach durch Überprüfen der Benutzer-IP erreichen kann. Wahrscheinlich sollte ich einen Choice Server haben, der weniger Hops zwischen sich und dem Client hat, aber aus dem Grund, dass es keine beste Geschwindigkeit oder geringste Verzögerung garantiert.Wie finde ich heraus, welcher Server weniger Hops zwischen Benutzer oder spezifischer IP hat?

Gibt es eine API für diese oder wie ist es möglich, dies zu erreichen? Ich werde dafür weder Ping noch Trace-Route in Betracht ziehen.

Vielen Dank!

+0

Warum vermeiden Sie die speziell dafür entwickelten Tools (Ping und Traceroute)? Betrachtet man die Anzahl der Open-Source-Traceroute-Lösungen, scheint es am einfachsten zu sein, die eigene Logik zu kopieren. Welche Sprache möchtest du verwenden? –

+0

Es könnte für 1 oder 2 Client funktionieren, aber ich habe 10 000 Clients, ich möchte nicht meinen Server und alle Netzwerkgeräte zwischen Client und Server DDOS. Ich dachte, dass es eine Art von API geben könnte, wo ich IPs füttern kann und es mit der besten Route antworten wird ... – os11k

+0

Dieser Kommentar bedeutet, dass Sie etwas auf dem Routing zu tun haben, was ** dynamisch ** ist. Es gibt IP-Geolocation-Lösungen, die Sie in die richtige Richtung weisen können, aber sie können nicht zuverlässig zeigen, welcher Server in Bezug auf die Vernetzung näher ist. Letzte Woche analysierte ich einen Fall eines Servers in den USA, für den der Verkehr aus dem größten Teil von Nordamerika nach Großbritannien geleitet wurde, bevor er zurückkam und sein Ziel erreichte. Nur ein Ping könnte das offensichtlich machen. –

Antwort

0

Sie können eine Echoanforderung von Clients an alle Ihre Server senden und den Server verwenden, von dem die erste Antwort empfangen wurde. Dies kann ein einfaches UDP-Paket sein und Sie müssen dies nur beim ersten Start machen und sich an die Antwort erinnern.

Verwandte Themen