Zum Hauptinhalt springen

4. Anwendbarkeit

DNS Zustandsbehaftete Operationen sind auf mehrere bekannte Anwendungsfälle anwendbar und nur auf Transporten anwendbar, die in der Lage sind, eine DSO-Sitzung zu unterstützen.

4.1. Anwendungsfälle

Im Folgenden werden mehrere Anwendungsfälle für DNS Zustandsbehaftete Operationen beschrieben.

4.1.1. Sitzungsverwaltung

In einem Anwendungsfall ist das Festlegen von Sitzungsparametern wie serverdefinierten Timeouts von großem Nutzen für die allgemeine Verwaltung persistenter Verbindungen. Beispielsweise ist die Verwendung von DSO-Sitzungen für Stub-zu-Rekursiv-DNS-over-TLS [RFC7858] sowohl für den Client als auch für den Server flexibler als der Versuch, Sitzungen nur mit der edns-tcp-keepalive EDNS(0)-Option [RFC7828] zu verwalten. Der einfache Satz von TLVs, der in diesem Dokument definiert ist, reicht aus, um die Verbindungsverwaltung für diesen Anwendungsfall erheblich zu verbessern.

4.1.2. Langlebige Abonnements

In einem anderen Anwendungsfall hat sich die DNS-basierte Service Discovery (DNS-SD) [RFC6763] zu einem natürlich sitzungsbasierten Mechanismus entwickelt, bei dem sich beispielsweise langlebige Abonnements für 'Push'-Mechanismen im Gegensatz zum Polling eignen. Langlebige zustandsbehaftete Verbindungen und serverinitiierte Nachrichten passen zu diesem Anwendungsfall [Push].

Ein allgemeiner Anwendungsfall ist, dass DNS-Verkehr oft stoßweise auftritt, aber der Sitzungsaufbau teuer sein kann. Eine Herausforderung bei langlebigen Verbindungen besteht darin, genügend Verkehr aufrechtzuerhalten, um den NAT- und Firewall-Status beizubehalten. Um dieses Problem zu mildern, führt dieses Dokument ein neues Konzept für das DNS ein -- DSO "Keepalive-Verkehr". Dieser Verkehr überträgt keine DNS-Daten und wird nicht als 'Aktivität' im klassischen DNS-Sinne betrachtet, dient jedoch dazu, den Status in Middleboxen aufrechtzuerhalten und dem Client und Server zu versichern, dass sie weiterhin eine Verbindung zueinander haben.

4.2. Anwendbare Transporte

DNS Zustandsbehaftete Operationen sind in Fällen anwendbar, in denen es nützlich ist, eine offene Sitzung zwischen einem DNS-Client und -Server aufrechtzuerhalten, wo der Transport die Aufrechterhaltung einer solchen Sitzung ermöglicht und wo der Transport die ordnungsgemäße Zustellung von Nachrichten garantiert, von denen DSO abhängt. Zwei spezifische Transporte, die die Anforderungen zur Unterstützung von DNS Zustandsbehafteten Operationen erfüllen, sind DNS-over-TCP [RFC1035] [RFC7766] und DNS-over-TLS [RFC7858].

Beachten Sie, dass es im Fall von DNS-over-TLS keinen Mechanismus für ein Upgrade von DNS-over-TCP auf DNS-over-TLS während der Verbindung gibt (siehe Abschnitt 7 der DNS-over-TLS-Spezifikation [RFC7858]). Eine Verbindung ist entweder von Anfang an DNS-over-TCP oder von Anfang an DNS-over-TLS.

DNS Zustandsbehaftete Operationen sind nicht anwendbar für Transporte, die keine saubere Sitzungssemantik unterstützen können oder keine ordnungsgemäße Zustellung garantieren. Während ein solcher Transport im Prinzip über UDP konstruiert werden könnte, bietet die aktuelle Spezifikation von DNS-over-UDP [RFC1035] keine ordnungsgemäße Zustellung oder Sitzungssemantik und kann daher nicht verwendet werden. Ebenso kann DNS-over-HTTP [RFC8484] nicht verwendet werden, da HTTP seinen eigenen Mechanismus zur Verwaltung von Sitzungen hat, der mit dem hier spezifizierten Mechanismus inkompatibel ist.

Derzeit sind nur DNS-over-TCP und DNS-over-TLS für die Verwendung mit DNS Zustandsbehafteten Operationen definiert. Andere Transporte können in Zukunft hinzugefügt werden, wenn sie die im ersten Absatz dieses Abschnitts dargelegten Anforderungen erfüllen.