名前権威ポインタ(NAPTR )は、インターネットのドメインネームシステムにおけるリソースレコードの一種です。 [ 1 ] [ 2 ]
NAPTRレコードは、インターネット電話のアプリケーションで最も一般的に使用されており、例えば、セッション開始プロトコル(SIP)におけるサーバーとユーザーアドレスのマッピングなどに用いられます。NAPTRレコードとサービスレコード(SRV)を組み合わせることで、複数のレコードを連結して複雑な書き換えルールを形成し、新しいドメインラベルやURI( Uniform Resource Identifier)を生成することが可能になります。
NAPTRレコードのDNSタイプコードは35です。[ 1 ]
統一リソース名(URN )は、人名や電話番号などの抽象的な識別子に使用される統一リソース識別子( URI )のサブセットです。URNが意味を持つためには、何らかの具体的なリソースにマッピングされる必要があります。コンピュータのホスト名やローカルファイルなど、そのようなリソースを記述するために、統一リソースロケータ( URL)がよく使用されます。
NAPTR レコードは URN の標準化に役立ちます。NAPTR レコードは、URN、URL、およびプレーンドメイン名のセットをマッピングし、マッピングされたリソースとの通信に使用できるプロトコルをクライアントに提案します。[ 3 ]各 NAPTR レコードには、サービス名、フラグのセット、正規表現ルール、順序値、優先度、および置換パターンが含まれます。複数のレコードをカスケードで連結して、URI を決定論的に書き換えることができます。これらのカスケード ルールは、 RFC 2915および3403で標準化されています。
NAPTRレコードの一般的な用途の一つは、IPネットワーク上で電話セッションをルーティングするセッション開始プロトコル(SIP)です。例えば、米国の電話番号1-800-555-1234のURIはtel:+1-800-555-1234、ドメイン名は4.3.2.1.5.5.5.0.0.8.1.e164.arpaとなる場合があります。この名前を照会するSIPクライアントは、以下のような応答を受け取る可能性があります。
$ORIGIN 4.3.2.1.5.5.5.0.0.8.1.e164.arpa. IN NAPTR 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" . IN NAPTR 102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" .最初のレコードの順序値は 100 で、102 より小さいため、優先されます。順序が 100 の他のルールがないため、その優先度 10 は重要ではありません。サービス名 E2U+sip は、レコードが電話番号から SIP URI クエリで使用できることを示すENUM文字列です。 [ 4 ] クライアントは正規表現を適用し!^.*$!sip:customer-service@example.com!、URI tel:+1-800-555-1234全体をsip:customer-service@example.comに置き換えます。フラグU は、置換文字列が SIP URI であり、それ以上のルールを適用しない必要があることを示します。
SIP URIを解決するために、クライアントはexample.comに対して2回目のNAPTRルックアップを実行し、以下の結果を得ます。
$ORIGIN example.com. IN NAPTR 100 10 "S" "SIP+D2U" "!^.*$!sip:customer-service@example.com!" _sip._udp.example.com. IN NAPTR 102 10 "S" "SIP+D2T" "!^.*$!sip:customer-service@example.com!" _sip._tcp.example.com.最初の例と同様に、クライアントは順序値が最も低い最初のレコードを選択します。正規表現ルールはクエリURIを、今回はドメイン名_sip._udp.example.comに置き換えます。フラグSは、結果として得られるドメイン名がSRVレコードを指していることを示します。したがって、クライアントは_sip._udp.example.comで処理を完了し、そこからSRVレコードを取得して電話発信を開始できます。
NAPTRの実装では、通常、EDNSも実装されます。これは、複数のNAPTRレコードを返す応答は通常、通常の512バイトのパケットサイズ制限よりも大きいため、そうでなければ、トランスポートプロトコルとしてUDPではなくTCPへの効率の低いフォールバックが必要になるためです。
以下は、NAPTRレコードを必要とする、またはサポートするVoIPサービスおよび製品の一部です。
NAPTRレコードは、SIP以外のサービスでも使用されます。NAPTRを経路案内に利用している代表的なローミングサービスを以下に示します。