Cu siguranță, mulți au auzit de Anycast. Prin această metodă de adresare și rutare în rețea, o adresă IP este atribuită mai multor servere din rețea. Aceste servere pot fi situate chiar și la distanțe mari unele de altele în centrele de date. Ideea Anycast este că, în funcție de locația sursei cererilor, datele sunt trimise către serverul cel mai aproape (conform topologiei rețelei, mai exact — protocolului de rutare BGP). Astfel, se poate reduce numărul de salturi (hop) și întârzierea (latency).
În esență, se anunță aceeași rută din mai multe centre de procesare a datelor din întreaga lume. Astfel, clienții vor fi direcționați către centrul de procesare a datelor „cel mai bun” și „cel mai apropiat” pe baza rutelor BGP. De ce, totuși, Anycast? De ce să folosești Anycast în loc de Unicast?
Unicast este într-adevăr potrivit pentru un site cu un singur server web și un volum moderat de trafic. Totuși, dacă serviciul are milioane de abonați, acesta utilizează, de obicei, mai multe servere web, fiecare având aceeași adresă IP. Aceste servere sunt distribuite geografic pentru a optimiza procesarea cererilor.
Într-un astfel de scenariu, Anycast va oferi îmbunătățiri de performanță (traficul este îndreptat către utilizator cu întârzierea minimă), va asigura fiabilitatea serviciului (datorită serverelor de rezervă) și va permite balansarea încărcăturii — rutarea pe mai multe servere va distribui eficient încărcătura între acestea, îmbunătățind astfel viteza de funcționare a site-ului.
Operatorii oferă clienților diverse tipuri de balansare a încărcăturii pe baza Anycast și DNS. Clienții pot specifica adresele IP la care vor fi trimise cererile în funcție de locația geografică a site-ului. Acest lucru permite o distribuire mai flexibilă a cererilor utilizatorilor.
Să presupunem că există câteva platforme între care trebuie să se distribuie încărcătura (utilizatorii), de exemplu, un magazin online cu 100.000 de cereri pe zi sau un blog popular. Pentru a limita regiunea din care utilizatorii accesează o platformă anume, se poate folosi opțiunea Geo Community. Aceasta permite restricționarea regiunii în cadrul căreia operatorul va anunța ruta.


Anycast și Unicast: diferențele
Anycast este adesea utilizat în aplicații precum DNS (sistemul de nume de domenii) și CDN (rețele de livrare a conținutului), permițând luarea deciziilor de rutare care îmbunătățesc performanța rețelei. Rețelele de livrare a conținutului folosesc Anycast datorită volumelor mari de trafic, iar Anycast aduce în acest caz o serie de avantaje (despre care se va discuta mai jos). În DNS, Anycast permite îmbunătățirea semnificativă a nivelului de fiabilitate și disponibilitate a serviciului.

În Anycast IP, folosind BGP, există mai multe rute către un anumit gazdă. De fapt, acestea sunt copii ale gazdelor în mai multe centre de date, utilizate pentru a stabili conexiuni cu latență mai mică.
Astfel, în rețeaua Anycast, aceeași adresă IP este anunțată din locuri diferite, iar rețeaua decide unde să trimită cererea utilizatorului în funcție de „costul” rutei. De exemplu, de multe ori pentru a determina cea mai scurtă rută de transmisie a datelor se utilizează protocolul BGP. Când un utilizator trimite o cerere Anycast, BGP determină cea mai bună rută pentru serverele disponibile în rețeaua Anycast.
Avantajele Anycast
Reducerea latenței
Sistemele cu Anycast pot reduce latența în procesarea cererilor utilizatorilor, deoarece permit obținerea datelor de la cel mai apropiat server. Adică, utilizatorii se vor conecta întotdeauna la serverul DNS „cel mai apropiat” (din punct de vedere al protocolului de rutare). Ca urmare, Anycast reduce timpul de interacțiune prin diminuarea distanței în rețea între client și server. Aceasta nu numai că reduce latența, dar asigură și o distribuție uniformă a încărcăturii.
Viteză
Deoarece traficul este direcționat către nodul cel mai apropiat și latența în transmiterea datelor între client și nod este redusă, rezultatul va fi optimizarea vitezei de livrare, indiferent de locul din care clientul solicită informațiile.
Stabilitate și disponibilitate crescută
Dacă mai multe servere din întreaga lume utilizează aceeași adresă IP, în cazul în care unul dintre servere întâmpină probleme sau este oprit, traficul va fi redirecționat către cel mai apropiat server. Ca urmare, Anycast face serviciul mai robust și asigură o accesibilitate mai bună la rețea/latență/viteză.
Prin urmare, datorită existenței mai multor servere, mereu disponibile pentru utilizatori, Anycast, de exemplu, crește stabilitatea funcționării DNS. În cazul în care un nod eșuează, cererile utilizatorilor vor fi redirecționate către un alt server DNS fără nicio intervenție manuală sau reconfigurare. Anycast asigură o comutare aproape transparentă către alte site-uri, eliminând pur și simplu rutele site-ului problematic.
Încărcare echilibrată
În sistemul Anycast, traficul de rețea este distribuit pe diferite servere. Adică funcționează ca un echilibrator de încărcare, prevenind ca orice server individual să primească cea mai mare parte a traficului. Încărcarea echilibrată poate fi utilizată, de exemplu, atunci când mai multe noduri de rețea se află la aceeași distanță geografică de sursa cererilor. În acest caz, sarcina este distribuită între noduri.
Reducerea impactului atacurilor DoS
O altă caracteristică a Anycast-ului este rezistența la DDoS. Atacurile DDoS ar avea dificultăți să pună la pământ sistemul Anycast, deoarece ar trebui să copleșească cu o avalanșă de cereri toate serverele dintr-o astfel de rețea.
În atacurile DDoS se folosesc adesea botneturi, care pot genera un volum atât de mare de trafic încât acestea suprasolicită serverul atacat. Avantajul utilizării Anycast în această situație este că fiecare server poate „absorbi” o parte din atac, reducând sarcina pe un server specific. O atac de tip „refuz al serviciului” va fi, cel mai probabil, localizat pe server și nu va afecta întregul serviciu.
Scalabilitate orizontală ridicată
Sistemele Anycast sunt bine adaptate pentru servicii cu volume mari de trafic. Dacă un serviciu care folosește Anycast necesită servere noi pentru a gestiona traficul în creștere, noi servere pot fi adăugate la rețea pentru a-l gestiona. Acestea pot fi amplasate pe noi sau pe locuri existente.
Dacă într-o anumită zonă se observă o creștere semnificativă a traficului, adăugarea unui server va ajuta la echilibrarea încărcării pentru acel loc. Adăugarea unui server într-o nouă locație va contribui la reducerea timpului de așteptare, creând pentru unii utilizatori un nou traseu mai scurt. Ambele metode ajută de asemenea la creșterea stabilității serviciului, deoarece se fac disponibile servere noi în rețea. Astfel, dacă un server este suprasolicitat, se poate pur și simplu desfășura un alt server în acel loc, care va putea prelua o parte din solicitările serverului suprasolicitat. În acest proces, nu este necesară configurarea din partea clienților.
Numai astfel se poate gestiona terabiți de trafic și un număr foarte mare de utilizatori, atunci când serverul are doar câteva porturi de 10 sau 25 Gbit/s. 100 de gazde cu o singură adresă IP vor permite procesarea volumelor de trafic de terabiți.
Ușurința gestionării configurației
Așa cum s-a menționat mai sus, o utilizare interesantă a Anycast-ului este DNS-ul. Puteți plasa la nodurile rețelei mai mulți servere DNS diferite, dar folosind o singură adresă DNS. În funcție de locul în care se află sursa, solicitările sunt direcționate către cel mai apropiat nod. Acest lucru asigură o anumită echilibrare a traficului și redundanță în caz de eșec al serverului DNS. Astfel, în loc să configurați diferite servere DNS în funcție de locul în care se află, configurația unui singur server DNS poate fi extinsă la toate nodurile.
Rețelele Anycast pot fi configurate pentru rutarea solicitărilor nu numai pe baza distanței, ci și pe baza unor parametri precum disponibilitatea serverului, numărul de conexiuni stabilite sau timpul de răspuns.
Pentru utilizarea tehnologii Anycast din partea clientului nu sunt necesare servere, rețele sau componente speciale. Dar Anycast are și dezavantajele sale. Se consideră că implementarea sa este o sarcină complexă, care necesită echipamente suplimentare, furnizori de încredere și o rutare corectă a traficului.
Dintr-o sursă pură în depărtare frumoasă
Deși Anycast direcționează utilizatorii pe baza celui mai mic număr de hop-uri, nu înseamnă neapărat o întârziere minimă. Întârzierea este o metrică mai complexă, deoarece pentru un hop aceasta poate fi mai mare decât pentru zece.

Exemplu: comunicațiile intercontinentale pot include o legătură cu o întârziere foarte mare.
Anycast este utilizat în principal pentru servicii bazate pe UDP, cum ar fi DNS. Cererile utilizatorilor sunt direcționate către cel mai "bun" și "aproape" datacenter pe baza căilor BGP.

Exemplu: stația de lucru a clientului DNS cu adresa IP Anycast DNS 123.10.10.10 efectuează rezolvarea DNS pentru cel mai apropiat dintre cele trei servere de nume DNS implementate cu aceeași adresă IP Anycast. În cazul unei defectiuni a routerului R1 sau a serverului A, pachetele clientului DNS vor fi redirecționate automat către următorul server DNS cel mai apropiat prin routerele R2 și R3. Mai mult, ruta către serverul nostru A va fi eliminată din tabelele de rutare, ceea ce va preveni utilizarea ulterioară a acestui server de nume.
Scenarii de implementare
Există două scheme comune utilizate pentru a determina la care server se conectează utilizatorul:
- Anycast la nivel de rețea. Conectează utilizatorul la cel mai apropiat server. Aici, traseul rețelei de la utilizator la server este important.
- Anycast la nivel de aplicație. În această schemă, există metrici mai complexe, inclusiv disponibilitatea serverului, timpul de răspuns, numărul de conexiuni etc. Aceasta depinde de un monitor extern care oferă statistici de rețea.
CDN pe baza Anycast
Să revenim acum la utilizarea Anycast în rețelele de livrare de conținut. Anycast reprezintă cu siguranță o concept rețea interesantă și câștigă tot mai multă recunoaștere din partea furnizorilor de CDN de nouă generație.
CDN este o rețea distribuită de servere care livrează conținut utilizatorilor finali cu o disponibilitate ridicată și o întârziere scăzută. Rețelele de livrare de conținut joacă astăzi un rol important, fiind baza numeroaselor servicii online multimedia, iar consumatorii devin din ce în ce mai puțin toleranți la vitezele lente de încărcare. Aplicațiile video și vocale sunt deosebit de sensibile la jitter și întârziere în rețea.
CDN conectează toate serverele într-o singură rețea și asigură o încărcare mai rapidă a conținutului. Uneori, timpul de așteptare al utilizatorului poate fi redus cu 5-6 secunde. Scopul CDN este de a optimiza livrarea prin furnizarea de conținut de pe serverul cel mai apropiat de utilizatorul final. Aceasta este foarte asemănătoare cu Anycast, unde serverul cel mai apropiat este selectat în funcție de locația utilizatorului final. S-ar părea că fiecare furnizor de servicii CDN va folosi în mod implicit Anycast, dar în realitate acest lucru nu este întotdeauna cazul.
Aplicațiile care utilizează protocoale precum HTTP/TCP se bazează pe conexiuni stabile. Dacă un nou nod Anycast este selectat (de exemplu, în caz de defectare a serverului), serviciul poate fi întrerupt. De aceea, Anycast a fost recomandat anterior pentru servicii fără conexiune, cum ar fi UDP și DNS. Totuși, Anycast funcționează bine și pentru protocoalele orientate pe conexiune; de exemplu, TCP funcționează excelent în modul Anycast.
Unii furnizori de CDN utilizează rutare pe baza Anycast, în timp ce alții preferă rutarea pe baza DNS: serverul cel mai apropiat este ales în funcție de locația serverului DNS al utilizatorului.
Infrastructurile hibride și infrastructurile cu mai multe centre de date sunt un alt exemplu de aplicare a Anycast. Adresa Load Balancing IP obținută de la furnizor permite distribuirea încărcăturii între adresele IP ale diferitelor servicii ale clienților în centrele de date ale furnizorului. Tehnologia de adresare asigură o performanță mai bună în condiții de trafic semnificativ, disponibilitate ridicată și ajută la optimizarea timpului de răspuns atunci când numărul de utilizatori este mare.
În infrastructurile hibride cu mai multe centre de date, traficul poate fi distribuit între servere sau chiar între mașini virtuale pe servere dedicate.
Astfel, există o gamă largă de soluții tehnice pentru construirea infrastructurii. De asemenea, se poate configura balansarea încărcării pe baza adreselor IP în mai multe centre de date, folosind adresarea pentru orice dispozitiv din grup pentru a optimiza funcționarea site-ului.
Este posibil să distribuiți traficul conform propriilor reguli, stabilind „greutatea” fiecărei servere distribuite în fiecare centru de date. Această configurație este deosebit de utilă atunci când există un parc de servere distribuite și performanța serviciilor nu este constantă. Acest lucru va permite o distribuire mai frecventă a traficului pentru a îmbunătăți performanța serverelor.
Pentru a crea un sistem de monitorizare prin intermediul comenzii ping, există opțiunea de a configura sonde. Acest lucru le permite administratorilor să definească propriile proceduri de control și să obțină o imagine mai clară a stării fiecărui component din infrastructură. Astfel, se pot stabili criterii de disponibilitate.
Există posibilitatea de a construi o infrastructură hibridă: uneori este convenabil să păstrați back-office-ul în rețeaua corporativă, iar partea de interfață să fie externalizată la un furnizor.
Există posibilitatea de a adăuga certificate SSL pentru echilibrarea încărcării, criptarea datelor transferate și securizarea comunicației între vizitatorii site-ului și infrastructura corporativă. Atunci când se face echilibrarea încărcării între centrele de date, SSL poate fi aplicat și aici.
Serviciul Anycast cu echilibrarea încărcării adreselor poate fi obținut de la furnizor. Această funcție va ajuta la îmbunătățirea algoritmului de interacțiune a utilizatorilor cu aplicațiile în funcție de locație. Este suficient să anunțați ce servicii sunt disponibile în centrele de date și traficul va fi redirecționat către cea mai apropiată infrastructură. Dacă există servere dedicate, de exemplu, în Franța sau în America de Nord, atunci clienții vor fi direcționați către cel mai apropiat server din rețea.
Una dintre opțiunile de utilizare a Anycast-ului este alegerea optimă a punctului de prezență al operatorului (PoP). Să luăm ca exemplu . LinkedIn (blocat în Rusia) își propune nu doar să îmbunătățească performanța și viteza produselor sale — aplicații mobile și web — ci și să îmbunătățească infrastructura de rețea pentru livrarea rapidă a conținutului. Pentru livrarea dinamică a conținutului, LinkedIn folosește activ PoP-uri – puncte de prezență. Pentru a direcționa utilizatorii către cel mai apropiat PoP, se folosește Anycast.
Motivul este că în cazul Unycast, fiecare PoP LinkedIn are o adresă IP unică. Apoi, utilizatorii sunt alocați PoP în funcție de locația lor geografică prin DNS. Problema este că, atunci când se utilizează DNS, aproximativ 30% dintre utilizatorii din Statele Unite erau redirecționați către un PoP neoptim. Datorită implementării progresive a Anycast, alocarea neoptimă a PoP-urilor a scăzut de la 31% la 10%.

Rezultatele testului pilot sunt prezentate în grafic, unde axa Y reprezintă procentul alocărilor optime PoP. Pe măsură ce Anycast a fost "scalat" în multe state din SUA, a existat o îmbunătățire a procentului de trafic către PoP-uri optimale.
Monitorizarea rețelei Anycast
Teoretic, rețelele Anycast sunt simple: mai multor servere fizice le este atribuit aceeași adresă IP, pe care BGP o folosește pentru a determina ruta. Însă implementarea și proiectarea platformelor Anycast sunt complexe, în special rețelele Anycast cu fiabilitate crescută sunt renumite pentru această complexitate. Monitorizarea eficientă a rețelei Anycast pentru identificarea rapidă și localizarea defecțiunilor este și mai dificilă.
Dacă serviciile folosesc un furnizor CDN extern pentru livrarea conținutului lor, este foarte important să monitorizeze și să verifice performanța rețelei. Atunci când se monitorizează un CDN bazat pe Anycast, accentul este pus pe măsurarea întârzierilor end-to-end și a caracteristicilor penultimului salt, pentru a înțelege care centru de date livrează conținutul. Analiza antetelor HTTP ale serverului este o altă modalitate de a determina de unde provin datele.

Exemplu: antetele răspunsului HTTP care indică locația serverului CDN.
De exemplu, CloudFlare folosește propriul antet CF-Ray în mesajele HTTP Response, care include indicația centrului de date la care a fost trimisă solicitarea. În cazul Zendesk, antetul CF-Ray pentru regiunea Seattle este CF-RAY: 2a21675e65fd2a3d-SEA, iar pentru Amsterdam este CF-RAY: 2a216896b93a0c71-AMS. Pentru a determina unde se află conținutul, se pot utiliza de asemenea antetele HTTP-X din răspunsul HTTP.
Alte metode de adresare
Există și alte metode de adresare pentru a ruteze cererile utilizatorilor către un anumit punct final al rețelei:
Unicast
Majoritatea internetului de astăzi utilizează acest metodă. Unicast este un tip de transmitere unidirecțională, adresa IP este legată doar de un anumit nod din rețea. Acest lucru se numește asociere unică.
Multicast
Multicast folosește comunicarea „unu la mulți din mulți” sau „mulți la mulți”. Distribuția multicast permite trimiterea cererilor de la expeditor simultan către diferite puncte finale selectate. Acest lucru oferă clientului posibilitatea de a încărca fișiere în părți de pe mai multe gazde simultan (ceea ce este util pentru streaming audio sau video). Multicast este adesea confundat cu Anycast, însă diferența fundamentală constă în faptul că Anycast îndrumă expeditorul către un anumit nod, chiar dacă mai multe noduri sunt disponibile.
Broadcast
Un pachet de date de la un singur expeditor este direcționat către toate punctele finale asociate cu o adresă de broadcast. Rețeaua replică automat pachetele de date pentru a putea comunica cu toți destinatarii din difuzare (de obicei într-o singură subrețea).
Geocast
Geocast este oarecum similar cu Multicast: cererile de la expeditor sunt direcționate simultan către mai multe puncte finale. Totuși, diferența constă în faptul că destinatarul este definit de poziția sa geografică. Aceasta este o formă specializată de adresare de grup utilizată de anumite protocoale de rutare pentru rețele peer-to-peer mobile.
Ruterul geografic (Geo Router) își calculează zona de serviciu și o aproximează. Ruterii geo, schimbând zonele de serviciu, construiesc tabele de rutare. Sistemul de rute geo are o structură ierarhică.



Unicast, Multicast și Broadcast.
Utilizarea tehnologiei Anycast îmbunătățește nivelul de fiabilitate, reziliență și securitate al DNS-ului. Folosind această tehnologie, operatorii oferă clienților lor servicii de tip load balancing bazate pe DNS. În panoul de control, pot fi specificate adrese IP către care vor fi trimise cererile, în funcție de localizarea geografică. Acest lucru va oferi clienților posibilitatea de a distribui mai flexibil cererile utilizatorilor.
Unii operatori aplică instrumente de monitorizare a traseului la fiecare punct de prezență (POP): sistemul analizează automat cele mai scurte rute locale și globale pentru punctele de prezență și le redirecționează prin localizări geografice cu cea mai mică latență și timp de nefuncționare zero.
În prezent, Anycast este cea mai stabilă și fiabilă soluție pentru construirea serviciilor DNS de mare încărcare, care impun cerințe ridicate de reziliență și fiabilitate.
Domeniul .ru suportă 35 de servere Anycast DNS, grupate în 20 de noduri, distribuite în cinci cloud-uri Anycast. În acest caz, este utilizat principiul de construire pe baza caracteristicilor geografice, adică Geocast. În amplasarea nodurilor DNS, se preconizează distribuirea acestora în locații geografice disperse, apropiate de utilizatorii cei mai activi, cu o concentrare maximă a furnizorilor ruși în punctul de amplasare a nodului, precum și disponibilitatea de capacități libere și ușurința interacțiunii cu platforma.
Cum să construiești un CDN?
CDN — rețea de servere care accelerează livrarea conținutului utilizatorilor. înglobează toate serverele într-o singură rețea și asigură o încărcare mai rapidă a conținutului. În viteza de încărcare, distanța de la server la utilizator joacă un rol important.
CDN permite utilizarea serverelor care sunt cele mai apropiate de publicul vizat. Acest lucru reduce timpul de așteptare, ajută la accelerarea încărcării conținutului site-urilor pentru toți vizitatorii, ceea ce este deosebit de critic pentru site-urile cu fișiere de mari dimensiuni sau servicii multimedia. Domeniile tipice de utilizare a CDN-ului includ comerțul electronic și domeniul divertismentului.
Rețeaua suplimentară de servere creată în infrastructura CDN, care este amplasată cât mai aproape de utilizatori, contribuie la livrarea datelor mai stabilă și mai rapidă. Conform statisticilor, utilizarea CDN reduce latența la accesarea site-ului cu mai mult de 70% comparativ cu site-urile fără CDN.
Cum? Настройка CDN с использованием собственного решения Anycast может быть достаточно дорогим проектом, но есть более дешевые варианты. Например, можно использовать GeoDNS и обычные серверы с уникальными IP-адресами. С помощью сервисов GeoDNS можно создать CDN с функциями геолокации, в которой решения принимаются на основе реального местоположения посетителя, а не местоположения ресолвера DNS. Можно настроить свою DNS-зону так, чтобы показывать IP-адреса американских серверов посетителям из США, а европейские посетители будут видеть IP-адрес из Европы.
Folosind GeoDNS, este posibil să returnezi răspunsuri DNS diferite în funcție de adresa IP a utilizatorului. Pentru aceasta, serverul DNS este configurat astfel încât să returneze adrese IP diferite în funcție de adresa IP inițială din cerere. De obicei, pentru a determina regiunea din care se face cererea, se utilizează o bază de date GeoIP. Geolocația utilizând DNS permite livrarea conținutului utilizatorilor din cel mai apropiat site.
GeoDNS determină adresa IP a clientului care a trimis cererea DNS sau a serverului DNS recursiv al furnizorului utilizat pentru procesarea cererii clientului. Pe baza adresei IP a clientului și a bazei GeoIP se determină țara/regiunea. Apoi, clientul primește adresa IP a celui mai apropiat server CDN. Despre configurarea GeoDNS se poate citi mai în detaliu..
Anycast sau GeoDNS?
Deși Anycast este o modalitate excelentă de livrare a conținutului la nivel global, îi lipsește specificitatea. Aici intervine GeoDNS. Acest serviciu permite crearea de reguli care direcționează utilizatorii către puncte finale unice în funcție de locația lor.

Exemplu: utilizatorii din Europa sunt îndreptați către un alt punct final.
De asemenea, se poate interzice accesul la domenii prin respingerea tuturor cererilor. Acesta este, în special, un mod rapid de a izola atacatorii.
GeoDNS oferă răspunsuri mai precise decât Anycast. Dacă în cazul Anycast cel mai scurt traseu este determinat prin numărul de hop-uri, în GeoDNS rutarea pentru utilizatorii finali se face în funcție de locația lor fizică. Acest lucru reduce latența și crește precizia în crearea regulilor de rutare granulară.
Atunci când se accesează un domeniu, browserul se adresează celui mai apropiat server DNS, care, în funcție de domeniu, va returna adresa IP pentru încărcarea site-ului. Să presupunem că un magazin online este popular în SUA și Europa, iar serverele DNS pentru acesta există doar în Europa. Atunci utilizatorii din SUA care doresc să folosească serviciile magazinului vor fi nevoiți să trimită cereri către cel mai apropiat server, iar deoarece acesta se află foarte departe, așteptarea răspunsului va dura mult — încărcarea site-ului nu va fi rapidă.
Asezând un server GeoDNS în SUA, utilizatorii se vor adresa deja acestuia. Răspunsul va fi rapid, ceea ce va afecta viteza de încărcare a site-ului.
În situația cu un server DNS existent în SUA, atunci când un utilizator din SUA accesează acest domeniu, acesta se va adresa celui mai apropiat server care va returna IP-ul necesar. Utilizatorul va fi direcționat către un server care conține conținutul site-ului, dar deoarece serverele cu conținutul sunt departe, el nu îl va primi rapid.
Dacă găzduiești în SUA și servere CDN cu date în cache, atunci când un browser client încarcă, acesta va trimite o solicitare către serverul DNS cel mai apropiat, care va returna adresa IP necesară. Browserul cu IP-ul obținut se adresează celui mai apropiat server CDN și serverului principal, iar serverul CDN transmite browserului conținutul în cache. În timp ce se încarcă conținutul în cache, de pe serverul principal vin fișierele lipsă pentru a completa încărcarea site-ului. Ca rezultat, timpul de încărcare al site-ului scade, deoarece se trimit mult mai puține fișiere de pe serverul principal.
Determinarea locației exacte a unei adrese IP nu este întotdeauna o sarcină ușoară: multe factori acționează aici, iar proprietarii de intervenții IP pot decide să declare această adresă pe celălalt capăt al lumii (atunci va trebui să aștepți până când baza de date se actualizează pentru a obține locația corectă). Uneori, furnizorii de VPS alocă adrese care, în teorie, se află în SUA, pentru VPS-uri în Singapore.
Spre deosebire de utilizarea adreselor Anycast, distribuția se face în timpul rezolvării numelui, nu în timpul conectării la serverul de cache. Dacă serverul recursiv nu suportă subrețelele clientului EDNS, se folosește locația acestui server recursiv, nu a utilizatorului care se va conecta la serverul de cache.
Subrețelele clientului în DNS sunt o extensie DNS (RFC7871) care definește cum serverele DNS recursivă pot trimite informații despre client către un server DNS, în special informații despre rețea, pe care serverul GeoDNS le poate folosi pentru a determina mai precis locația clientului.
Majoritatea oamenilor folosesc serverele DNS ale furnizorului lor de internet sau servere DNS care sunt geografic apropiate de ei, dar dacă cineva din SUA dintr-un anumit motiv decide să folosească un resolver DNS situat în Australia, este foarte probabil să primească adresa IP a celui mai apropiat server din Australia.
Dacă dorești să folosești GeoDNS, este important să știi despre aceste particularități, deoarece în unele cazuri acest lucru poate mări distanța dintre serverele de cache și client.
Rezumat: dacă dorești să integrezi mai multe VPS-uri într-un CDN, cea mai bună opțiune de desfășurare este utilizarea unui server DNS cu funcția GeoDNS + Anycast "din cutie".
Sursa: habr.com
