Loading AI tools
Aus Wikipedia, der freien Enzyklopädie
Mit NAPTR (Naming Authority Pointer) Resource Records werden DNS-Namen Adressen von Servern und weitere Informationen zugeordnet.
Traditionell werden über den DNS-Dienst Namen in IP-Adressen aufgelöst. Man sendet einen Namen zu einem DNS-Server und erhält eine IP-Adresse zurück (hinter der sich dann meist ein Server verbirgt). Dieses einfache und bewährte Verfahren ist heute in vielen Fällen unzureichend, da die Anfragenden oft weitere Information benötigen.
NAPTR-Records liefern diese zusätzlichen Informationen auf sehr flexible Art und Weise. Unter anderem wird das Protokoll angegeben, das der Server verwendet. Über die Gewichtung kann, falls mehrere NAPTR-Records zu einem Namen existieren, eine Priorisierung festgelegt werden. Außerdem kann, falls mehrere NAPTR-Records gleicher Priorität zu einem Namen existieren, per Präferenz eine Lastverteilung erreicht werden.
Der NAPTR-Record-Typ kann damit als eine Erweiterung des klassischen A-Records (oder auch SRV-Records) aufgefasst werden.
Die Struktur von NAPTR-Records ist kompliziert, da eine Vielzahl von Fällen abgedeckt werden muss. Eine Hauptschwierigkeit besteht darin, dass oft nicht direkt ein Server-Name zurückgeliefert wird, sondern ein Regulärer Ausdruck, der zunächst aufgelöst werden muss.
Einfaches Beispiel eines NAPTR-Records (ohne regulären Ausdruck):
dienst.example.com. IN NAPTR 100 10 "A" "" "" prodserver.example.com.
Links steht hier ein DNS-Name und ganz rechts ein Verweis auf den Namen eines Servers, der den gewünschten Dienst bereitstellt. Das "A" bedeutet: Der ganz rechts stehende Ausdruck "prodserver.example.com" ist ein A-Record. Um die IP-Adresse zu erhalten, ist damit noch ein weiterer Schritt erforderlich: Dieser A-Record muss aufgelöst werden (einige Name-Server wie BIND erledigen das aber selbständig und liefern die IP-Adresse in der Additional-Section mit).
Zurzeit sind folgende Flags definiert:
Um die IP-Adresse des gesuchten Servers zu erhalten, muss also in jedem Fall mindestens eine weitere DNS-Anfrage gestellt oder eine URL aufgelöst werden. Bei leerem Flag ist eine weitere NAPTR-Anfrage erforderlich. Man spricht in diesem Fall von einer Verkettung.
Das oben aufgeführte Beispiel wird durch Einbeziehung eines regulären Ausdrucks realisiert:
dienst.example.com. IN NAPTR 100 10 "A" "" "!^.*$!prodserver.example.com!".
Der reguläre Ausdruck entspricht einer Posix Extended Regular Expression.[1] Das erste im regulären Ausdruck vorkommende Zeichen (hier "!") dient als Begrenzer. Es ist sinnvoll als Begrenzer z. B. das "!" anstelle des gewöhnlich genutzten Begrenzers "/" zu wählen, da URLs häufig bereits "/" beinhalten und der reguläre Ausdruck so einfacher zu lesen ist. Im ersten von den Begrenzern definierten Feld (^.*$) befinden sich Informationen, die definieren, welche Teile des Eingangsstrings (dienst.example.com.) durch den rechts vom Begrenzer stehenden String (prodserver.example.com) ersetzt werden sollen. "^.*$" bedeutet: Es soll alles ersetzt werden.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.