2016-05-25 4 views
-1

私は別の場所にあるいくつかのサーバーでVoIPサービスを持っていると仮定し、私は世界中のクライアントを持っています。
クライアントがリクエストすると、多くのデータを使用するRTP用のサーバーをクライアントに返信できるはずです。私はユーザーIPをチェックするだけでこれを行うことができると信じています。おそらく、自分自身とクライアントの間のホップ数が少ないサーバーを選ぶべきですが、それは最良の速度または最低遅延を保証しないからです。ユーザーまたは特定のIP間のホップ数が少ないサーバーを見つける方法を教えてください。

これにはAPIがありますか、これを実現する方法はありますか?私はこれについてpingまたはtrace-routeを考慮しません。

ありがとうございました!

+0

なぜ、そのために特別に作られたツール(pingとtraceroute)の使用を避けるのですか?オープンソースのtracerouteソリューションの数を考えると、タスクを実行するロジックをコピーするのが最も簡単な選択肢のようです。どの言語を使いたいですか? –

+0

クライアントが1人か2人でも動作するかもしれませんが、私は10 000台のクライアントを持っています。私のサーバーとクライアントとサーバーの間のすべてのネットワーク機器をDDOSしたくありません。 私は、IPをフィードすることができ、最良の経路で返信するAPIがあるかもしれないと考えていました。 – os11k

+0

このコメントはルーティングにいくつかの学習があることを意味します**動的**。適切な方向にあなたを指すことができるip geolocationソリューションがありますが、どのサーバがネットワークの面でより近いかを確実に示すことはできません。先週、私は、北アメリカの大半からのトラフィックがイギリスに戻って目的地に到着する前に、米国のサーバーの事例を分析していました。 pingだけがそれを明らかにすることができます。 –

答えて

0

クライアントからのエコー要求をすべてのサーバーに送信し、最初の応答が受信されたサーバーを使用できます。これは単純なUDPパケットでもかまいません。最初に起動して答えを覚えておく必要があります。

関連する問題