NAPTR

Name Authority Ukazatel (NAPTR) je typ záznamu prostředku v internetovém Domain Name System .

Záznamy NAPTR se nejčastěji používají pro aplikace internetové telefonie , jako je zobrazení serverů a uživatelských adres v protokolu SIP (Session Initiation Protocol) . Více záznamů NAPTR v kombinaci se záznamy služeb (SRV) umožňuje zřetězení záznamů za účelem vytvoření složitých pravidel přepisu, která se používají k vytvoření dalších částí názvu domény nebo identifikátoru (URI) .

DNS kód pro záznam NAPTR je 35.

Odůvodnění

Jednotné názvy zdrojů (URN) jsou podmnožinou identifikátorů URI (Uniform Resource Identifiers) a používají se pro abstraktní identifikátory, jako je jméno osoby nebo telefonní číslo . URN vyžaduje odpovídající mapování na nějaký typ zdroje. Názvy URL se často používají k popisu zdrojů, jako je název hostitele počítače nebo místní soubor. Záznam NAPTR pomáhá při standardizaci nových URN. NAPTR znamená mapu mezi kombinací URN, URL a jednoduchých názvů domén a umožňuje síťovým klientům dostupným protokolům komunikovat s připojeným zdrojem. Každý záznam NAPTR obsahuje název služby , sadu příznaků, pravidla regulárních výrazů , hodnoty objednávky, preference a vzor náhrady. Více položek může být zřetězeno dohromady v kaskádě přepisování URI deterministickými způsoby. Tato kaskádová pravidla byla standardizována v RFC2915 a RFC3403.

Příklady

Například po překladu telefonního čísla +1-770-555-1212 na URI 2.1.2.1.5.5.5.0.7.7.1.e164.arpa , jak je popsáno v E.164 a ENUM , se k překladu pomocí přepisování použije DDDS pravidla, obsažená v záznamech NAPTR. Konfigurace BIND pro záznamy se vrací z dotazu pro 2.1.2.1.5.5.5.0.7.7.1.e164.arpa . Možnosti jsou:

$ORIGIN 2.1.2.1.5.5.5.0.7.7.1.e164.arpa. V NAPTR 100 10 "u" "E2U+sip" "!^.*$! sip:informace@pbx.example.com!i " . V NAPTR 102 10 "u" "E2U+e-mail" "!^.*$!mailto:informace@example.com!i" .

První z těchto dvou položek má hodnotu objednávky 100, což je méně než 102, takže je vybrán jako první. Na Preference 10 nezáleží, protože žádná jiná pravidla nemají Pořadí 100. Příznak "u" ukazuje koncové pravidlo v aplikacích ENUM a URI , takže výstup tohoto přepsání bude výsledkem, který hledáme. Seznam platných příznaků naleznete v RFC 2915 .

Pokud server podporuje službu definovanou klíčem "E2U+sip", nebude pokračovat v kontrole ostatních pravidel s vyššími hodnotami Order. Regulární výraz pro přepsání řetězce "!^.*$! sip:information@pbx.example.com!i " najde výstupní hodnotu převedením původního požadavku 2.1.2.1.5.5.5.0.7.7.1.e164.arpa k popíjení:informace @pbx.example.com . Ve výše uvedeném regulárním výrazu je vykřičník '!' bude oddělovač (s výjimkou použití '/' a '\', protože by mohly být jinde interpretovány jako escape sekvence ). Výraz „^.*$“ v regulárním výrazu znamená „začátek, libovolný počet libovolných znaků a konec“ (jinými slovy, jakýkoli řetězec dat odpovídá tomuto vzoru) změněno na „ sip:information@pbx.example.com “ a možnost „i“ je ignorována. (Pozorní čtenáři si všimnou, že 'i' je irelevantní vzhledem k použití ".*"). Ve standardu regulárních výrazů Perlu by ekvivalentní vzor mohl být zapsán jako "s/^.*$/ sip:information@pbx.example.com/i " . To vrátí URI " sip:information@pbx.example.com " . Pokud by server nepodporoval SIP , zpracování by vrátilo pravidlo s výsledkem "mailto:informace@example.com" .

Viz také

EDNS se také používá v implementaci NAPTR a podporuje delší pakety DNS , které mohou být vyžadovány při použití více záznamů NAPTR.

Vnější vztahy

Původní BIND , který podporuje NAPTR, nebude podporovat djbdns , pokud nenainstalujete opravu nebo nepoužijete generické položky tinydns ( RFC 3403 ).