Zum Hauptinhalt springen

2.4.2. AliasMode

2.4.2. AliasMode

Im AliasMode erstellt der SVCB-Eintrag einen Alias für einen Dienst zu einem TargetName. SVCB RRsets SOLLTEN nur einen RR im AliasMode haben. Wenn mehrere AliasMode RRs vorhanden sind, SOLLTEN Clients oder rekursive Resolver einen zufällig auswählen.

Der Hauptzweck von AliasMode besteht darin, Aliasing am Zonenscheitel (zone apex) zu ermöglichen, wo CNAME nicht erlaubt ist (siehe z. B. [RFC1912], Abschnitt 2.4). Im AliasMode ist der TargetName der Name einer Domäne, die sich in SVCB-, AAAA- und/oder A-Einträge auflöst. (Siehe Abschnitt 6 für das Aliasing von SVCB-kompatiblen RR-Typen.) Im Gegensatz zu CNAME beeinflussen AliasMode-Einträge nicht die Auflösung anderer RR-Typen und gelten nur für einen bestimmten Dienst, nicht für einen gesamten Domänennamen.

Der AliasMode TargetName SOLLTE NICHT gleich dem Besitzernamen sein, da dies zu einer Schleife führen würde. Im AliasMode MÜSSEN Empfänger alle vorhandenen SvcParams ignorieren. Zonendatei-Parser KÖNNEN eine Warnung ausgeben, wenn ein AliasMode-Eintrag SvcParams hat. Die Verwendung von SvcParams in AliasMode-Einträgen ist derzeit nicht definiert, aber eine zukünftige Spezifikation könnte AliasMode-Einträge erweitern, um SvcParams einzuschließen.

Zum Beispiel könnte der Betreiber von "foo://example.com:8080" Anfragen an einen Dienst weiterleiten, der unter "foosvc.example.net" läuft, indem er Folgendes veröffentlicht:

_8080._foo.example.com. 3600 IN SVCB 0 foosvc.example.net.

Die Verwendung von AliasMode bewahrt die Trennung der Belange: Der Besitzer von "foosvc.example.net" kann ServiceMode SVCB-Einträge hinzufügen oder entfernen, ohne dass eine entsprechende Änderung an "example.com" erforderlich ist. Beachten Sie, dass wenn "foosvc.example.net" verspricht, immer einen SVCB-Eintrag zu veröffentlichen, dieser AliasMode-Eintrag durch einen CNAME mit demselben Besitzernamen ersetzt werden kann.

AliasMode ist besonders nützlich für SVCB-kompatible RR-Typen, die kein Unterstrich-Präfix erfordern, wie z. B. den HTTPS RR-Typ. Zum Beispiel könnte der Betreiber von "https://example.com" Anfragen an einen Server unter "svc.example.net" weiterleiten, indem er diesen Eintrag am Zonenscheitel veröffentlicht:

example.com. 3600 IN HTTPS 0 svc.example.net.

Beachten Sie, dass der Besitzername des SVCB-Eintrags der kanonische Name eines CNAME-Eintrags sein KANN und der TargetName der Besitzer eines CNAME-Eintrags sein KANN. Clients und rekursive Resolver MÜSSEN CNAMEs normal folgen.

Um unbegrenzte Alias-Ketten zu vermeiden, MÜSSEN Clients und rekursive Resolver ein Limit für die Gesamtzahl der SVCB-Aliasse festlegen, denen sie für jede Auflösungsanfrage folgen. Dieses Limit DARF NICHT null sein, d. h. Implementierungen MÜSSEN in der Lage sein, mindestens einem AliasMode-Eintrag zu folgen. Der genaue Wert dieses Limits wird den Implementierungen überlassen.

Zonen, die das Folgen mehrerer AliasMode-Einträge erfordern, könnten auf Kompatibilitäts- und Leistungsprobleme stoßen.

Da Legacy-Clients nicht wissen, dass sie diesen Eintrag verwenden sollen, müssen Dienstbetreiber wahrscheinlich Fallback-AAAA- und A-Einträge neben diesem SVCB-Eintrag beibehalten, obwohl im Normalfall das Ziel des SVCB-Eintrags möglicherweise eine bessere Leistung bietet und daher für Clients, die diese Spezifikation implementieren, vorzuziehen wäre.

AliasMode-Einträge gelten nur für Abfragen für den spezifischen RR-Typ. Zum Beispiel kann ein SVCB-Eintrag nicht auf einen HTTPS-Eintrag alias werden oder umgekehrt.