Je cherchais une réponse à cette question (celle du titre) et la meilleure chose que j'ai trouvée était:
Dans la conception du protocole DNS, la taille du bloc de transport UDP (taille de la charge utile) a été limitée à 512 octets pour optimiser les performances tout en générant un trafic réseau minimal.
ma question est: comment cela améliore-t-il exactement les performances et y a-t-il d'autres raisons à cette limitation lors de l'utilisation d'UDP?
domain-name-system
Moha le chameau tout-puissant
la source
la source
Réponses:
La charge utile de 512 octets garantit que les paquets DNS peuvent être réassemblés s'ils sont fragmentés en transit. De plus, d'une manière générale, il y a moins de chances que des paquets plus petits soient abandonnés de manière aléatoire.
La norme IPv4 spécifie que chaque hôte doit pouvoir réassembler des paquets de 576 octets ou moins. Avec un en-tête IPv4 (20 octets, bien qu'il puisse atteindre 60 octets avec options) et un en-tête UDP de 8 octets, un paquet DNS avec une charge utile de 512 octets sera inférieur à 576 octets.
Comme le dit @RyanRies: DNS peut utiliser TCP pour des charges utiles plus importantes et pour les transferts de zone et DNSSEC. Il y a beaucoup plus de latence lorsque TCP entre en jeu car, contrairement à UDP, il y a une poignée de main entre le client et le serveur avant que les données ne commencent à circuler.
la source
Le DNS moderne n'est plus limité à 512 octets de charge utile pour UDP.
Lorsque EDNS0 est utilisé, une taille de charge utile plus grande peut être spécifiée, ce qui est également généralement le cas pour les clients prenant en charge DNSSEC.
La prise en charge de charges utiles plus importantes sur UDP a été une arme à double tranchant, cependant, c'est en partie la raison pour laquelle l'utilisation de serveurs de noms pour les attaques d'amplification est devenue plus populaire car vous pouvez obtenir une meilleure amplification si l'attaquant utilise une requête qui obtient une réponse importante. .
Voir rfc2671 pour plus de détails sur EDNS0
la source
Ron Aitchison - Pro DNS et BIND 10-2011
la source
C'est une chose QOS.
Parce que UDP est sans état, la gestion des erreurs des paquets n'est pas possible.
Ainsi, en gardant les paquets à une taille maximale, il y a un plus grand changement qu'ils atteindront leur destination, réduisant l'impact de l'absence de gestion des erreurs.
la source