Round Robin DNS & IP Failover

By Andrei Ungureanu - Last updated: Wednesday, June 5, 2013 - Save & Share - Leave a Comment

Perceptia cu Round Robin DNS este de mult timp cum ca serverul DNS va trimite ca raspuns o lista de IP-uri, iar clientul va selecta una de acolo indiferent ca IP-ul respectiv este online sau nu. Deci intr-un scenariu cu doua servere puse in Round Robin iar unul dintre ele picat, sansele ar fi ca teoretic 50% din clienti sa incerce sa acceseze serverul offline.

image

Dar ce nu stie multa lume este ca o parte din codul low level din sistemele de operare si aplicatii a evoluat foarte mult in ultimii ani. Doar ca nimeni nu mai este atent la aceste schimbari si de multe ori trec neobservate.

Majoritatea web browserelor moderne stiu deja sa diferentieze IP-urile offline din lista oferita de serverul DNS. Daca IP-ul selectat la care incearca sa se conecteze este offline, va incerca urmatorul IP din lista. Bineinteles ca va dura ceva timp pana cand OS-ul va raporta acel timeout, insa daca clientul are rabdare, failoverul se va realiza.

Din cate am inteles eu schimbarile au inceput sa apara cam de cand arhicunoscuta functie gethostbyname() a inceput sa fie inlocuita cu getaddrinfo() in noile OS-uri. GETADDRINFO returneaza acum aplicatiei intreaga lista de IP-uri iar codul aplicatiei poate contine logica ce poate utiliza toate ip-urile de acolo.

Eu personal am vazut schimbarile chiar si in cateva tool-uri builtin din noile versiuni de Windows, gen TELNET si PING.

Concluzia este ca desi Round Robin DNS a ramas acelasi, s-a schimbat modul in care informatia oferita de serverul DNS este folosita pe client. Si s-a schimbat intr-un mod bun, asa cum ar fi trebuit sa fie de la inceput.

PS:Comportamentul l-am observat inca din perioada beta a lui Windows 7 insa nici pana in ziua de azi nu am reusit sa gasesc un material oficial pe aceasta tema. Poate doar ceva din documentatia Mozilla ce specifica suportul pentru Round Robin: http://www-archive.mozilla.org/docs/netlib/dns.html

Posted in Networking • Tags: , , Top Of Page

Write a comment