DNS ロングライフクエリは、 DNSクライアントがポーリングせずに DNS データの変更を知ることができるメカニズムです。[ 1 ]
DNS LLQは、Apple Inc.のBack To My Mac(BTMM)サービスで、BTMMサーバーとクライアントのIPアドレスの変更を追跡するために使用されています。[ 2 ] DNS LLQは、ルーティングされたネットワーク上で、長期間持続するTCP/IP接続を使用してDNSベースのサービス検出(DNS-SD)を実行するためのソリューションとしても提案されています。
DNS-SD は、ローカル ネットワーク上のサービスを識別するためのメカニズムです。[ 3 ] DNS-SD は通常、ユーザー インターフェイスにサービス名 (プリンタやファイル サーバーなど) を表示するために使用されます。DNS Long-Lived Queries (DNS-LLQ) は、DNS-SD に使用でき、頻繁なポーリングを必要とせずに、新しいサービスがアクティブなユーザー インターフェイスに自動的に表示されるようにします。DNS-LLQ は、IETF DNSSDワーキング グループで、これらのルーティング ネットワークでサービス検出を提供するオプションの 1 つとして提案されています。[ 4 ] TCP/IP 上の DNS LLQ は標準化されていませんが、Apple Inc. の現在のmDNS実装 で使用されています。[ 5 ]
DNS LLQ は、DNS で 1 つ以上の名前を追跡したいクライアントリゾルバによって開始されます。クライアント リゾルバは、登録メッセージをキャッシュ サーバー、または追跡する名前を含むゾーンの権威サーバーに送信します。クエリにはリースが含まれており、追跡はリースの期間中継続されます。リースの期限が切れた後も追跡が必要な場合は、クライアント リゾルバは新しい登録を送信します。登録メッセージには、1 つ以上のクエリのリストが含まれています。サーバーは、これらのクエリに対する回答をすぐに返します。リースの期間中、いずれかのクエリでカバーされる情報が変更されるたびに、サーバーは新しい回答を含む「無償応答」を送信します。クエリに回答してリースを記録する前に、サーバーとクライアントはチャレンジ/レスポンスの交換を実行して登録を検証します。無償応答はクライアントによって確認され、確認されない場合は再送信されます。数回の試行の後、登録を保持しているサーバーは、クライアント リゾルバが利用できなくなったと判断し、登録を削除します。[ 1 ]