A Name Authority Pointer (NAPTR) egyfajta erőforrásrekord az internetes tartománynévrendszerben .
A NAPTR rekordokat leggyakrabban internetes telefonos alkalmazásokhoz használják , például szerverek és felhasználói címek megjelenítésére a Session Initiation Protocol (SIP) protokollban . A szolgáltatásrekordokkal (SRV) kombinált több NAPTR -rekord lehetővé teszi a rekordok láncolását olyan összetett átírási szabályok kialakításához, amelyek a tartománynév vagy azonosító (URI) további részeinek létrehozására szolgálnak .
A NAPTR rekord DNS-kódja 35.
Az egységes erőforrásnevek (URN-ek) az egységes erőforrás-azonosítók (URI) egy részhalmazát képezik, és elvont azonosítókhoz, például egy személy nevéhez vagy telefonszámához használatosak . Az URN-ek megfelelő leképezést igényelnek bizonyos típusú erőforrásokhoz. Az URL-neveket gyakran használják az erőforrások leírására, például a számítógép gazdagépnevére vagy egy helyi fájlra. A NAPTR rekord segít az új URN-ek szabványosításában. A NAPTR az URN-ek, URL-ek és egyszerű tartománynevek kombinációja közötti leképezést jelöli, és lehetővé teszi a hálózati ügyfelek számára, hogy a rendelkezésre álló protokollok kommunikáljanak a csatlakoztatott erőforrással. Minden NAPTR bejegyzés tartalmaz egy szolgáltatásnevet , egy jelzőkészletet, reguláris kifejezés szabályait , sorrendi értékeket, egy preferenciát és egy helyettesítési mintát. Több bejegyzés determinisztikus módon láncolható össze egy URI újraírási kaszkádban. Ezeket a lépcsőzetes szabályokat az RFC2915 és az RFC3403 szabványban szabványosították.
Például a +1-770-555-1212 telefonszám lefordítása URI 2.1.2.1.5.5.5.0.7.7.1.e164.arpa -ra , az E.164 és az ENUM leírása szerint , a DDDS -t használják ennek lefordításához újraírással. szabályokat, amelyeket a NAPTR rekordok tartalmaznak. A bejegyzések BIND konfigurációja a 2.1.2.1.5.5.5.0.7.7.1.e164.arpa lekérdezésből ad vissza, a lehetőségek a következők:
$EREDET 2.1.2.1.5.5.5.0.7.7.1.e164.arpa. IN NAPTR 100 10 "u" "E2U+sip" "!^.*$! sip:[email protected]!i " . IN NAPTR 102 10 "u" "E2U+email" "!^.*$!mailto:[email protected]!i" .E két bejegyzés közül az elsőnek 100 a rendelési értéke, ami kisebb, mint 102, tehát ez kerül kiválasztásra először. A 10-es preferencia nem számít, mivel egyetlen más szabálynak sincs 100-as sorrendje. Az "u" jelző a végszabályt mutatja az ENUM- és URI -alkalmazásokban , így ennek az átírásnak a kimenete lesz a keresett eredmény. Az érvényes jelzők listáját lásd az RFC 2915 -ben.
Ha a szerver támogatja az "E2U+sip" kulcs által meghatározott szolgáltatást, akkor nem folytatja a többi, magasabb Rendelési értékkel rendelkező szabályok ellenőrzését. A "!^.*$! sip:[email protected]!i " karakterlánc újraírására szolgáló reguláris kifejezés az eredeti kérés 2.1.2.1.5.5.5.0.7.7.1.e164.arpa konvertálásával találja meg a kimeneti értéket to sip:information @pbx.example.com . A fenti reguláris kifejezésben a felkiáltójel '!' határoló jel lesz (kivéve a '/' és a '\' használatát, mert máshol menekülési szekvenciákként értelmezhetők ). A "^.*$" kifejezés a reguláris kifejezésben azt jelenti, hogy "kezdet, tetszőleges számú karakter és vége" (más szóval bármely adatsor megfelel ennek a mintának) a következőre módosult: " sip:[email protected] " , és az "i" opció figyelmen kívül marad. (A figyelmes olvasók megjegyzik, hogy az 'i' irreleváns a ".*" használata miatt). A Perl reguláris kifejezés szabványában az ekvivalens minta a következőképpen írható: "s/^.*$/ sip:[email protected]/i " . Ez a " sip:[email protected] " URI -t adja vissza . Ha a szerver nem támogatja a SIP -t, a feldolgozás egy szabályt ad vissza, ami a következőt eredményezi: "mailto:[email protected]" .
Az EDNS -t a NAPTR megvalósításában is használják, támogatva a hosszabb DNS -csomagokat , amelyekre több NAPTR rekord használatakor lehet szükség.
A NAPTR-t támogató eredeti BIND nem támogatja a djbdns -t , hacsak nem telepít egy javítást vagy nem használ általános tinydns bejegyzéseket ( RFC 3403 ).