Quelle est la limite pratique pour les adresses IP dans les tourniquets DNS?

8

J'exécute actuellement un site dont le trafic est réparti entre 7 serveurs miroirs en ce moment (en utilisant DNS round robin). Mais bientôt plus de miroirs seront nécessaires compte tenu du trafic important qui ne cesse de croître.

Existe-t-il une limite pratique ou recommandée pour le nombre d'adresses IP associées à un nom de domaine donné lors de l'utilisation du DNS à tour de rôle ??

Aussi, quel type de solution recommanderiez-vous lorsque le nombre de miroirs est élevé (par exemple plus de 10 ou 20 miroirs)?

Merci.

GetFree
la source

Réponses:

10

Une chose à garder à l'esprit est que, par défaut, les recherches DNS utilisent UDP. Si la réponse est plus grande que celle qui peut tenir dans un seul datagramme, autant de réponses que possible seront retournées et le bit TC (tronqué) est défini dans l'en-tête.

Le demandeur peut choisir de travailler avec ce qui a été renvoyé ou de relancer la requête à l'aide de TCP.

Les serveurs DNS de mise en cache ne sont pas censés mettre en cache les réponses tronquées, car ils ne savent pas à quel point l'ensemble des enregistrements renvoyés est complet (la réponse ne dit pas «Je vous donne 12 des 28 enregistrements»).

Ainsi, le nombre maximal d'enregistrements est un facteur de la quantité que vous pouvez coller dans un datagramme UDP. N'oubliez pas que la réponse doit inclure la section d'autorité, dont la taille variera en fonction de l'enregistrement SOA de la zone.

Si vous utilisez des enregistrements CNAME, cela augmentera également la taille de la réponse, car vous récupérez le CNAME et l'enregistrement A de la chose pointée.

Votre meilleur pari est de jouer avec différents nombres d'enregistrements A en utilisant dig ou "host -v" pour voir quand la requête dépasse la taille maximale d'une réponse UDP.

James F
la source
1
en fait, les serveurs de mise en cache sont autorisés à mettre en cache les réponses si la section entière a été reçue. Si la section «réponse» est correcte mais que la section «supplémentaire» a été tronquée, il serait correct de mettre cette réponse en cache.
Alnitak
8

Il n'y a pas de limite stricte, mais la plupart des sites n'exécutent pas plus de 5 ou 10 miroirs. La mise en miroir via un round robin DNS est plus utile si les sites sont géographiquement séparés de sorte qu'il existe une redondance en plus du partage de charge.

À mesure que le nombre de miroirs augmente, l'efficacité de l'utilisation de la ronde DNS comme partage de charge diminue, car la ronde DNS ne prend pas en compte les différentes demandes nécessitant plus de ressources. Il est préférable d'utiliser l'équilibrage de charge frontal pour répartir la charge de travail en fonction de la charge du processeur et de la disponibilité du serveur, ce qui simplifiera également la maintenance, car un serveur peut être immédiatement arrêté sans modification DNS, ce qui oblige les clients à accéder à un serveur arrêté à partir d'enregistrements DNS mis en cache. .

Mike
la source
3

Je suis en retard à cette question, mais j'ai pensé qu'il serait bien de mentionner les limites réelles de ce que vous pouvez faire. Il n'y a pas de limite théorique que je connaisse, mais plusieurs FAI ne prendront rien au-delà de 36. En fait, si vous incluez plus que cela, cela n'inclura pas seulement les serveurs supplémentaires, ils vous ignoreront complètement. Verizon et Comcast étaient les deux avec lesquels j'ai eu des problèmes, mais je suis sûr que d'autres sont concernés.

Cela dit, si vous avez suffisamment de trafic pour garantir 36 miroirs, n'utilisez pas de DNS à tour de rôle.

UltimateBrent
la source
2

Si vous avez beaucoup de serveurs, la meilleure réponse est peut-être de faire comme Akamai et d'utiliser des serveurs DNS anycast et round robin. En d'autres termes, les serveurs DNS de la zone sont répartis sur le net, tous avec les mêmes adresses IP, et les points de routage des clients sur les serveurs les plus proches du réseau. Chaque serveur répond en tourniquet pour un sous-ensemble de la liste complète des serveurs possibles.

Andrew McGregor
la source
1

Nous faisons quelque chose de très similaire, mais nous utilisons des équilibreurs de charge matériels (Cisco ACEs btw), de cette façon, la seule limite est la taille du sous-réseau (le cas échéant).

Chopper3
la source