Qual è il limite pratico per gli indirizzi IP nel round robin DNS?


8

Attualmente sto gestendo un sito il cui traffico è distribuito tra 7 server mirror in questo momento (usando il round robin DNS). Ma presto saranno necessari più mirror, data l'elevata quantità di traffico in costante crescita.

Esiste un limite pratico o raccomandato per il numero di indirizzi IP associati a un determinato nome di dominio quando si utilizza il round robin DNS ??

Inoltre, quale tipo di soluzione consiglieresti quando il numero di specchi è elevato (ad es. Più di 10 o 20 specchi)?

Grazie.

Risposte:


10

Una cosa da tenere a mente è che, per impostazione predefinita, le ricerche DNS utilizzano UDP. Se la risposta è maggiore di quella che può rientrare in un singolo datagramma, vengono restituiti quanti ne rientrano e il bit TC (troncato) viene impostato nell'intestazione.

Il richiedente può scegliere di lavorare con ciò che è stato restituito o riprovare la query utilizzando TCP.

I server DNS di cache non sono tenuti a memorizzare nella cache le risposte troncate, in quanto non sanno quanto sia completo l'insieme dei record restituiti (la risposta non dice "Ti sto dando 12 di 28 record").

Quindi il numero massimo di record è un fattore di quanto puoi attaccare in un datagramma UDP. Ricorda che la risposta deve includere la sezione di autorità, che varierà di dimensioni in base al record SOA per la zona.

Se stai usando i record CNAME, ciò aumenterà anche la dimensione della risposta, man mano che ritorni il CNAME e il record A della cosa indicata.

La tua scommessa migliore è giocare con vari numeri di record A usando dig o "host -v" per vedere quando la query supera la dimensione massima di una risposta UDP.


1
in realtà i server di cache sono autorizzati a memorizzare nella cache le risposte se è stata ricevuta l'intera sezione. Se la sezione "risposta" va bene ma la sezione "aggiuntiva" è stata troncata, andrebbe bene memorizzare nella cache quella risposta.
Alnitak,

8

Non esiste un limite rigido, ma la maggior parte dei siti non esegue più di 5 o 10 mirror. Il mirroring tramite round robin DNS è molto utile se i siti sono geograficamente separati in modo che vi sia ridondanza oltre alla condivisione del carico.

All'aumentare del numero di mirror, l'efficienza dell'utilizzo del round robin DNS come condivisione del carico diminuisce perché il round robin DNS non tiene conto delle diverse richieste che richiedono più risorse. È preferibile utilizzare il bilanciamento del carico front-end per distribuire il carico di lavoro in base al carico della CPU e alla disponibilità del server, il che semplifica anche la manutenzione poiché un server può essere immediatamente rimosso senza una modifica del DNS, causando i client che tentano di accedere a un server scaricato da record DNS memorizzati nella cache .


3

Sono in ritardo a questa domanda, ma ho pensato che sarebbe stato bello menzionare i limiti reali di ciò che puoi fare. Non ho limiti teorici che conosco, ma diversi ISP non porteranno nulla oltre il 36. In realtà, se includi più di quello, non solo non includerà i server extra, ti ignoreranno del tutto. Verizon e Comcast sono stati i due con cui ho avuto problemi, ma sono sicuro che ne sono interessati altri.

Detto questo, se hai abbastanza traffico per garantire 36 mirror, ti preghiamo di non utilizzare il DNS round robin.


2

Se hai molti server, forse la risposta migliore è fare come Akamai e usare qualunque server DNS e round robin. In altre parole, i server DNS per la zona sono distribuiti in rete, tutti con gli stessi indirizzi IP e client di punti di instradamento sui server più vicini a livello di rete. Ogni server risponde in round robin per un sottoinsieme dell'elenco completo dei server possibili.


1

Facciamo qualcosa di molto simile ma utilizziamo i bilanciatori del carico hardware (Cisco ACE tra l'altro), in questo modo l'unico limite è la dimensione della sottorete (se quella).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.