Aller au contenu principal

5. Transport

5. Transport

D'autres opérations DNS comme DNS Update [RFC2136] PEUVENT utiliser soit DNS sur User Datagram Protocol (UDP) [RFC0768], soit DNS sur Transmission Control Protocol (TCP) [RFC0793] comme protocole de transport, à condition qu'elles suivent le précédent historique selon lequel les requêtes DNS doivent d'abord être envoyées en utilisant DNS sur UDP et ne basculer vers DNS sur TCP que si nécessaire [RFC1123]. Cette exigence de préférer UDP a par la suite été assouplie [RFC7766].

En accord avec le précédent plus récent, DNS Push Notification est défini uniquement pour TCP. Les clients DNS Push Notification DOIVENT utiliser DNS Stateful Operations [RFC8490] s'exécutant sur TLS sur TCP [RFC7858].

La configuration de connexion sur TCP garantit l'accessibilité de retour et atténue les préoccupations de surcharge d'état au niveau du serveur, un problème potentiel avec les protocoles sans connexion, qui peuvent être plus vulnérables à l'exploitation par des attaquants utilisant des adresses sources usurpées. Tous les abonnés sont garantis d'être accessibles par le serveur en vertu de la poignée de main à trois voies TCP. Les attaques par inondation sont possibles avec n'importe quel protocole, et un avantage de TCP est qu'il existe déjà des meilleures pratiques industrielles établies pour se protéger contre les inondations SYN et les attaques similaires [SYN] [RFC4953].

L'utilisation de TCP permet également aux DNS Push Notifications de tirer parti des développements actuels et futurs de TCP tels que Multipath TCP (MPTCP) [RFC8684], TCP Fast Open (TFO) [RFC7413], l'algorithme de détection rapide de perte TCP RACK [TCPRACK], etc.

Transport Layer Security (TLS) [RFC8446] est bien compris et est utilisé par de nombreux protocoles de couche application s'exécutant sur TCP. TLS est conçu pour empêcher l'écoute clandestine, la falsification et la contrefaçon de messages. TLS est REQUIS pour chaque connexion entre un abonné client et un serveur dans cette spécification de protocole. Des mesures de sécurité supplémentaires telles que l'authentification du client pendant la négociation TLS peuvent également être employées pour accroître la relation de confiance entre le client et le serveur.