Name Authority Pointer (NAPTR) er en type ressourcepost i Internet Domain Name System .
NAPTR-poster bruges mest til internettelefoniapplikationer , såsom visning af servere og brugeradresser i Session Initiation Protocol (SIP) . Flere NAPTR-poster kombineret med Service Records (SRV'er) tillader kæde af poster for at danne komplekse omskrivningsregler, der bruges til at oprette yderligere dele af et domænenavn eller en identifikator (URI) .
DNS-koden for NAPTR-posten er 35.
Uniforme ressourcenavne (URN'er) er en undergruppe af Uniform Resource Identifiers (URI'er) og bruges til abstrakte identifikatorer såsom en persons navn eller telefonnummer . URN'er kræver en tilsvarende tilknytning til en eller anden type ressource. URL-navne bruges ofte til at beskrive ressourcer, såsom et computerværtsnavn eller en lokal fil. NAPTR-recorden hjælper med at standardisere nye URN'er. NAPTR står for et kort mellem en kombination af URN'er, URL'er og simple domænenavne og tillader netværksklienter de tilgængelige protokoller til at kommunikere med den tilsluttede ressource. Hver NAPTR-post indeholder et tjenestenavn , et sæt flag, regulære udtryksregler , rækkefølgeværdier, en præference og et erstatningsmønster. Flere poster kan kædes sammen i en URI-omskrivningskaskade på deterministiske måder. Disse kaskaderegler er blevet standardiseret i RFC2915 og RFC3403.
For eksempel, efter oversættelse af telefonnummeret +1-770-555-1212 til URI 2.1.2.1.5.5.5.0.7.7.1.e164.arpa som beskrevet i E.164 og ENUM , bruges DDDS til at oversætte dette ved hjælp af omskrivning regler, indeholdt i NAPTR-poster. BIND- konfigurationen for indgange returnerer fra forespørgslen for 2.1.2.1.5.5.5.0.7.7.1.e164.arpa , valgmulighederne er:
$ORIGIN 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+e-mail" "!^.*$!mailto:[email protected]!i" .Af disse to poster har den første en ordreværdi på 100, hvilket er mindre end 102, så den vælges først. En præference på 10 betyder ikke noget, da ingen andre regler har en rækkefølge på 100. "u"-flaget viser slutreglen i ENUM- og URI -applikationer , så outputtet af denne omskrivning vil være det resultat, vi leder efter. Se RFC 2915 for en liste over gyldige flag.
Hvis serveren understøtter tjenesten defineret af "E2U+sip"-nøglen, vil den ikke fortsætte med at kontrollere andre regler med højere ordreværdier. Det regulære udtryk til at omskrive strengen "!^.*$! sip:[email protected]!i " finder outputværdien ved at konvertere den oprindelige anmodning 2.1.2.1.5.5.5.0.7.7.1.e164.arpa at sip:information @pbx.example.com . I det regulære udtryk ovenfor er udråbstegn '!' vil være en afgrænsning (med undtagelse af brugen af '/' og '\', fordi de kunne fortolkes som escape-sekvenser andre steder). Udtrykket "^.*$" i det regulære udtryk betyder "start, et vilkårligt antal tegn og slutning" (med andre ord, enhver streng af data matcher dette mønster) ændret til " sip:[email protected] " , og indstillingen 'i' ignoreres. (Opmærksomme læsere vil bemærke, at 'i' er irrelevant i betragtning af brugen af ".*"). I Perl regulære udtryksstandard kunne det tilsvarende mønster skrives som "s/^.*$/ sip:[email protected]/i " . Dette vil returnere URI'en " sip:[email protected] " . Hvis serveren ikke understøttede SIP , ville behandlingen returnere en regel, der resulterede i "mailto:[email protected]" .
EDNS bruges også i NAPTR-implementering og understøtter længere DNS -pakker , der kan være nødvendige, når der bruges flere NAPTR-poster.
Den originale BIND , der understøtter NAPTR, understøtter ikke djbdns , medmindre du installerer en patch eller bruger generiske tinydns- indgange ( RFC 3403 ).