1

Android アプリケーションで SRV レコードの DNS ルックアップを作成し、そのうちの 1 つを選択する必要があります。優先度と重みが異なる複数の SRV レコードを DNS サーバーに照会すると、要求ごとに異なる順序でレコードが取得されます。これらのレコードはサーバーによって順序付けられますか? はいの場合、注文アルゴリズムは何ですか?

低い優先度が最も優先されるため、優先度を尊重すると推測しましたが、優先度が等しい場合、ラウンドロビンスタイルで重みを尊重すると思いましたが、それは起こりませんでした!

次のように、2 つの SRV レコードを持つ単純な bind9 DNS サーバーがありました。


ドメインの優先順位の重み


aaa.example.com 1 90


bbb.example.com 2 10

検索すると、最初の結果としてaaa.example.comを 9回取得し、最初の結果として bbb.example.com を取得する10期待していましたが、これは起こりませんでした! サーバーは要求ごとに順序を逆にします!

4

2 に答える 2

2

SRV レコードを照会している場合、それらが返される順序は任意であり、クライアント アプリケーションで考慮されるべきではありません。

むしろ、 RFC 2782で指定されているように、重みと優先度に従って受信した結果を並べ替えるのはアプリケーションの役割です。

また、RFC で指定されているのは、複数のレコードが同じ重みと優先度で返される場合、クライアントはそれらのレコードが返される順序に従ってではなく、ランダムに選択することです。

その結果、ラウンド ロビン DNS を使用して SRV レコードを提供することは冗長です。

于 2012-01-24T14:24:49.387 に答える
1

SIPアプリケーションのコンテキストで質問していると思うので、使用するSRVレコードを決定するために使用する必要があるガイドラインがあります。http://www.ietf.org/rfc/rfc3263.txtを参照してください。

于 2012-01-29T21:56:07.730 に答える