Aller au contenu principal

8. Champ de Longueur de Message TCP (TCP Message Length Field)

Les clients et serveurs DNS DEVRAIENT (SHOULD) passer le champ de longueur de deux octets, et le message décrit par ce champ de longueur, à la couche TCP en même temps (par exemple, dans un seul appel système "write") pour rendre plus probable que toutes les données seront transmises dans un seul segment TCP. C'est pour des raisons à la fois d'efficacité et pour éviter les problèmes dus à certaines implémentations de serveurs DNS se comportant de manière indésirable lors de la lecture des données depuis la couche TCP (en raison d'un manque de clarté dans les documents précédents). Par exemple, certaines implémentations de serveurs DNS pourraient interrompre une session TCP si la première "lecture" depuis la couche TCP ne contient pas à la fois le champ de longueur et le message entier.

Pour clarifier, les serveurs DNS NE DOIVENT PAS (MUST NOT) fermer une connexion simplement parce que la première "lecture" depuis la couche TCP ne contient pas le message DNS entier, et les serveurs DEVRAIENT (SHOULD) appliquer les délais d'attente de connexion tels que spécifiés dans la section 6.2.3.