Anycast vs Unicast: care este mai bine să alegeți în fiecare caz

Mulți oameni au auzit probabil despre Anycast. În această metodă de adresare și rutare a rețelei, o singură adresă IP este atribuită mai multor servere dintr-o rețea. Aceste servere pot fi amplasate chiar și în centre de date aflate la distanță unul de celălalt. Ideea Anycast este că, în funcție de locația sursei cererii, datele sunt trimise la cel mai apropiat server (conform topologiei rețelei, mai precis, protocolul de rutare BGP). În acest fel, puteți reduce numărul de salturi în rețea și latența.

În esență, aceeași rută este promovată de la mai multe centre de date din întreaga lume. Astfel, clienții vor fi trimiși către „cel mai bun” și „cel mai apropiat” pe baza rutelor BGP, centrul de date. De ce Anycast? De ce să folosiți Anycast în loc de Unicast?

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Unicast este într-adevăr potrivit pentru un site cu un server web și o cantitate moderată de trafic. Cu toate acestea, dacă un serviciu are milioane de abonați, de obicei utilizează multe servere web, fiecare cu aceeași adresă IP. Aceste servere sunt distribuite geografic pentru a servi optim cererile.

În acest scenariu, Anycast va îmbunătăți performanța (traficul este trimis către utilizator cu întârziere minimă), va asigura fiabilitatea serviciului (mulțumită serverelor de rezervă) și echilibrarea încărcăturii - rutarea către mai multe servere va distribui eficient sarcina între ele, îmbunătățind viteza. a site-ului.

Operatorii oferă clienților diferite tipuri de echilibrare a încărcăturii bazate pe Anycast și DNS. Clienții pot specifica adrese IP la care vor fi trimise solicitările în funcție de locația geografică a site-ului. Acest lucru face posibilă distribuirea cererilor utilizatorilor într-un mod mai flexibil.

Să presupunem că există mai multe site-uri între care trebuie să distribuiți încărcătura (utilizatori), de exemplu, un magazin online cu 100 de solicitări pe zi sau un blog popular. Pentru a limita regiunea din care utilizatorii accesează un anumit site, puteți utiliza opțiunea Geo Community. Vă permite să limitați regiunea în care operatorul va face publicitate traseului.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Anycast și Unicast: diferențe

Anycast este adesea folosit în aplicații precum DNS (Domain Name System) și CDN (Content Delivery Networks), permițând decizii de rutare care îmbunătățesc performanța rețelei. Rețelele de livrare de conținut folosesc Anycast deoarece se ocupă de volume mari de trafic, iar Anycast oferă o serie de avantaje în acest caz (mai multe despre ele mai jos). În DNS, Anycast vă permite să creșteți semnificativ nivelul de fiabilitate și toleranța la erori a serviciului.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
În Anycast IP, atunci când utilizați BGP, există mai multe rute către o anumită gazdă. Acestea sunt de fapt copii ale gazdelor din mai multe centre de date, folosite pentru a stabili conexiuni cu latență mai mică.

Deci, într-o rețea Anycast, aceeași adresă IP este anunțată din locuri diferite, iar rețeaua decide unde să direcționeze solicitarea utilizatorului în funcție de „costul” rutei. De exemplu, BGP este adesea folosit pentru a determina cea mai scurtă rută pentru transmiterea datelor. Când un utilizator trimite o solicitare Anycast, BGP determină cea mai bună rută pentru serverele Anycast disponibile în rețea.

Beneficiile Anycast

Reducerea Latenței
Sistemele cu Anycast pot reduce latența la procesarea cererilor utilizatorilor, deoarece vă permit să primiți date de la cel mai apropiat server. Adică, utilizatorii se vor conecta întotdeauna la cel mai „apropiat” (din punct de vedere al protocolului de rutare) server DNS. Ca rezultat, Anycast reduce timpul de interacțiune prin reducerea distanței de rețea dintre client și server. Acest lucru nu numai că reduce latența, dar oferă și echilibrarea sarcinii.

Viteză

Deoarece traficul este direcționat către cel mai apropiat nod și latența dintre client și nod este redusă, rezultatul este viteza de livrare optimizată, indiferent de unde clientul solicită informații.

Stabilitate crescută și toleranță la erori

Dacă mai multe servere din întreaga lume folosesc același IP, atunci dacă unul dintre servere eșuează sau este deconectat, traficul va fi redirecționat către cel mai apropiat server. Ca rezultat, Anycast face serviciul mai rezistent și oferă acces/latență/viteză mai bune la rețea. 

Astfel, având mai multe servere disponibile în mod constant pentru utilizatori, Anycast, de exemplu, îmbunătățește stabilitatea DNS. Dacă un nod eșuează, solicitările utilizatorului vor fi redirecționate către un alt server DNS fără nicio intervenție manuală sau reconfigurare. Anycast oferă comutare practic transparentă la alte site-uri prin simpla eliminare a rutelor site-ului problematic. 

Echilibrarea sarcinii

În Anycast, traficul de rețea este distribuit pe diferite servere. Adică acționează ca un echilibrator de încărcare, împiedicând orice server unic să primească cea mai mare parte a traficului. Echilibrarea sarcinii poate fi utilizată, de exemplu, atunci când există mai multe noduri de rețea la aceeași distanță geografică de sursa cererii. În acest caz, sarcina este distribuită între noduri.

Reduceți impactul atacurilor DoS 

O altă caracteristică a Anycast este rezistența la DDoS. Este puțin probabil ca atacurile DDoS să poată distruge un sistem Anycast, deoarece ar trebui să copleșească toate serverele dintr-o astfel de rețea cu o avalanșă de solicitări. 

Atacurile DDoS folosesc adesea rețele bot, care pot genera atât de mult trafic încât supraîncărcă serverul atacat. Avantajul utilizării Anycast în această situație este că fiecare server este capabil să „absoarbe” o parte din atac, ceea ce reduce sarcina pe acel server anume. Un atac de refuzare a serviciului va fi cel mai probabil localizat pe server și nu va afecta întregul serviciu.

Scalabilitate orizontală ridicată

Sistemele Anycast sunt potrivite pentru servicii cu volume mari de trafic. Dacă un serviciu care utilizează Anycast necesită noi servere pentru a gestiona trafic crescut, noi servere pot fi adăugate în rețea pentru a-l gestiona. Ele pot fi plasate pe site-uri noi sau existente. 

Dacă o anumită locație se confruntă cu o creștere mare a traficului, atunci adăugarea unui server va ajuta la echilibrarea încărcăturii site-ului respectiv. Adăugarea unui server pe un site nou va ajuta la reducerea timpilor de așteptare prin crearea unei noi cele mai scurte rute pentru unii utilizatori. Ambele metode ajută, de asemenea, la îmbunătățirea stabilității serviciului pe măsură ce noi servere devin disponibile în rețea. În acest fel, dacă un server este supraîncărcat, puteți pur și simplu să implementați altul într-o locație care îi permite să accepte o parte din solicitările serverului supraîncărcat. Acest lucru nu necesită nicio configurație din partea clienților. 

Numai în acest fel pot fi serviți 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 Gbps. 100 de gazde cu o singură adresă IP vor face posibilă procesarea volumelor de trafic terabit.

Gestionare ușoară a configurației

După cum sa menționat mai sus, o utilizare interesantă a Anycast este DNS. Puteți plasa mai multe servere DNS diferite pe noduri de rețea, dar utilizați o singură adresă DNS. În funcție de locul în care se află sursa, cererile sunt direcționate către cel mai apropiat nod. Acest lucru oferă o anumită echilibrare a traficului și redundanță în cazul unei defecțiuni a serverului DNS. În acest fel, în loc să configurați diferite servere DNS în funcție de locul în care se află, configurația unui server DNS poate fi propagată la toate nodurile.

Rețelele Anycast pot fi configurate să direcționeze cererile nu numai în funcție de distanță, ci și de parametri precum prezența unui server, numărul de conexiuni stabilite. sau timpul de răspuns.

Nu sunt necesare servere speciale, rețele sau componente speciale din partea clientului pentru a utiliza tehnologia Anycast. Dar Anycast are și dezavantajele sale. Se crede că implementarea sa este o sarcină complexă, care necesită echipamente suplimentare, furnizori de încredere și rutarea corectă a traficului.

Departe de la sursa pură la frumusețe

Deși Anycast direcționează utilizatorii pe baza celor mai puține hopuri, acest lucru nu înseamnă neapărat cea mai mică latență. Latența este o măsură mai complexă, deoarece poate fi mai mare pentru o tranziție decât pentru zece.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Exemplu: Comunicațiile intercontinentale pot implica un singur hop cu o latență foarte mare.

Anycast este utilizat în principal pentru servicii bazate pe UDP, cum ar fi DNS. Solicitările utilizatorilor sunt direcționate către „cel mai bun” și „cel mai apropiat” centru de date pe baza rutelor BGP.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Exemplu: O stație de lucru client DNS cu o adresă IP Anycast DNS de 123.10.10.10 efectuează rezoluție DNS la cel mai apropiat dintre cele trei servere de nume DNS implementate folosind aceeași adresă IP Anycast. Dacă routerul R1 sau serverul A eșuează, pachetele client DNS vor fi redirecționate automat către următorul cel mai apropiat server DNS prin routerele R2 și R3. În plus, ruta către serverul nostru A va fi eliminată din tabelele de rutare, împiedicând utilizarea ulterioară a acelui server de nume.

Scenarii de implementare

Există două scheme generale care sunt utilizate pentru a determina la ce server se conectează un utilizator:

  • Stratul de rețea Anycast. Conectează utilizatorul la cel mai apropiat server. Calea de rețea de la utilizator la server este importantă aici.
  • Anycast la nivel de aplicație. Această schemă are mai multe valori calculate, inclusiv disponibilitatea serverului, timpul de răspuns, numărul de conexiuni etc. Acest lucru depinde de un monitor extern care oferă statistici de rețea.

CDN bazat pe Anycast

Să revenim acum la utilizarea Anycast în rețelele de livrare de conținut. Anycast este cu siguranță un concept de rețea interesant și câștigă o acceptare tot mai mare în rândul furnizorilor de CDN de nouă generație.

CDN este o rețea distribuită de servere care furnizează conținut utilizatorilor finali cu disponibilitate ridicată și latență scăzută. Rețelele de livrare a conținutului joacă astăzi un rol important ca coloană vertebrală a multor servicii media online, iar consumatorii sunt din ce în ce mai puțin toleranți la viteze mici de descărcare. Aplicațiile video și de voce sunt deosebit de sensibile la fluctuația și latența rețelei.

Un CDN conectează toate serverele într-o singură rețea și asigură o încărcare mai rapidă a conținutului. Uneori este posibil să se reducă timpul de așteptare al utilizatorului cu 5-6 secunde. Scopul unui CDN este de a optimiza livrarea prin difuzarea conținutului de pe serverul cel mai apropiat de utilizatorul final. Acest lucru este foarte asemănător cu Anycast, unde cel mai apropiat server este selectat în funcție de locația utilizatorului final. S-ar părea că fiecare furnizor de servicii CDN ar folosi Anycast în mod implicit, dar în realitate nu este cazul.

Aplicațiile care utilizează protocoale precum HTTP/TCP se bazează pe conexiunea care este stabilită. Dacă este selectat un nou nod Anycast (de exemplu, din cauza unei defecțiuni a serverului), serviciul poate fi întrerupt. Acesta este motivul pentru care Anycast a fost recomandat anterior pentru servicii fără conexiune, cum ar fi UDP și DNS. Cu toate acestea, Anycast funcționează bine și pentru protocoalele orientate spre conexiune; de ​​exemplu, TCP funcționează bine în modul Anycast.

Unii furnizori CDN folosesc rutarea bazată pe Anycast, alții preferă rutarea bazată pe DNS: cel mai apropiat server este selectat în funcție de locul în care se află serverul DNS al utilizatorului.

Infrastructurile hibride și multi-centre de date sunt un alt exemplu de utilizare a Anycast. Adresa IP Load Balancing primită de la furnizor vă permite să distribuiți încărcarea între adresele IP ale diferitelor servicii clienți din centrul de date al furnizorului. Datorită tehnologiei pentru orice dispozitiv, oferă performanțe mai bune în condiții de trafic intens, toleranță la erori și ajută la optimizarea timpului de răspuns atunci când aveți de-a face cu un număr mare de utilizatori.

În infrastructurile hibride cu mai multe centre de date, puteți distribui traficul între servere sau chiar mașini virtuale pe servere dedicate.

Astfel, există o selecție uriașă de soluții tehnice pentru construcția infrastructurii. De asemenea, puteți configura echilibrarea încărcăturii între adrese IP din mai multe centre de date, vizand orice dispozitiv dintr-un grup pentru a optimiza performanța site-ului.

Puteți distribui traficul după propriile reguli, definind „greutatea” fiecăruia dintre serverele distribuite din fiecare centru de date. Această configurație este utilă în special atunci când există un parc de server distribuit și performanța serviciilor este neuniformă. Acest lucru va permite ca traficul să fie distribuit mai des pentru a îmbunătăți performanța serverului.

Pentru a crea un sistem de monitorizare folosind comanda ping, este posibil să configurați sonde. Acest lucru permite administratorului să-și definească propriile proceduri de monitorizare și să obțină o imagine mai clară a stării fiecărei componente din infrastructură. În acest fel, pot fi definite criteriile de accesibilitate.

Este posibil să construiți o infrastructură hibridă: uneori este convenabil să părăsiți back office-ul în rețeaua corporativă și să externalizați partea de interfață către furnizor.

Este posibil să adăugați certificate SSL pentru echilibrarea încărcăturii, criptarea datelor transmise și securitatea comunicării între vizitatorii site-ului și infrastructura corporativă. În cazul echilibrării încărcării între centrele de date, se poate folosi și SSL.

Serviciul Anycast cu echilibrare a încărcăturii adresei poate fi obținut de la furnizorul dvs. Această funcție va ajuta la îmbunătățirea modului în care utilizatorii interacționează cu aplicațiile în funcție de locație. Este suficient să anunțăți ce servicii sunt disponibile în centrul de date, iar traficul va fi redirecționat către cea mai apropiată infrastructură. Dacă există servere dedicate, de exemplu în Franța sau 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 este alegerea optimă a punctului de prezență (PoP) al unui operator. Să dăm exemplu. LinkedIn (blocat în Rusia) se străduiește nu numai să îmbunătățească performanța și viteza produselor sale - aplicații mobile și web, ci și să își îmbunătățească infrastructura de rețea pentru livrarea mai rapidă a conținutului. Pentru această livrare dinamică de conținut, LinkedIn folosește în mod activ PoPs - puncte de prezență. Anycast este folosit pentru a direcționa utilizatorii către cel mai apropiat PoP.

Motivul este că, în cazul Unycast, fiecare LinkedIn PoP are o adresă IP unică. Utilizatorii sunt apoi alocați la PoP în funcție de locația lor geografică folosind DNS. Problema este că atunci când se folosește DNS, aproximativ 30% dintre utilizatorii din Statele Unite au fost redirecționați către un PoP suboptim. Odată cu implementarea treptată a Anycast, alocarea PoP suboptimă a scăzut de la 31% la 10%.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Rezultatele testului pilot sunt prezentate în grafic, unde axa Y este procentul de atribuire optimă a PoP. Pe măsură ce Anycast a crescut, multe state din SUA au văzut o îmbunătățire a procentului de trafic către PoP optim.

Monitorizarea rețelei Anycast

Rețelele Anycast sunt simple în teorie: mai multor servere fizice li se atribuie aceeași adresă IP, pe care BGP o folosește pentru a determina ruta. Dar implementarea și proiectarea platformelor Anycast este complexă, iar rețelele Anycast tolerante la erori sunt deosebit de renumite pentru acest lucru. Și mai dificilă este monitorizarea eficientă a unei rețele Anycast pentru a identifica și izola rapid defecțiunile.

Dacă serviciile folosesc un furnizor CDN terță parte pentru a-și difuza conținutul, este foarte important ca acestea să monitorizeze și să verifice performanța rețelei. Monitorizarea CDN bazată pe Anycast se concentrează pe măsurarea latenței de la capăt la capăt și a performanței penultimului hop pentru a înțelege ce centru de date servește conținutul. Analizarea antetelor serverului HTTP este o altă modalitate de a determina de unde provin datele.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Exemplu: anteturi de răspuns HTTP care indică locația serverului CDN.

De exemplu, CloudFlare folosește propriul antet CF-Ray în mesajele HTTP Response, care include o indicație a centrului de date către care a fost făcută cererea. În cazul Zendesk, antetul CF-Ray pentru regiunea Seattle este CF-RAY: 2a21675e65fd2a3d-SEA, iar pentru Amsterdam este CF-RAY: 2a216896b93a0c71-AMS. De asemenea, puteți utiliza antetele HTTP-X din răspunsul HTTP pentru a determina unde se află conținutul.

Alte metode de adresare

Există și alte metode de adresare pentru rutarea cererilor utilizatorilor către un anumit punct final de rețea:

Unicast

Majoritatea internetului de astăzi utilizează această metodă. Unicast - transmisie unicast, adresa IP este asociată doar cu un singur nod specific din rețea. Aceasta se numește potrivire unu-la-unu. 

multicast

Multicast utilizează o relație unu-la-mulți sau mulți-la-mulți. Multicast permite ca o solicitare de la un expeditor să fie trimisă simultan către diferite puncte finale selectate. Acest lucru oferă clientului posibilitatea de a descărca un fișier în bucăți de la mai multe gazde simultan (ceea ce este util pentru streaming audio sau video). Multicast este adesea confundat cu Anycast.Totuși, principala diferență este că Anycast direcționează expeditorul către un anumit nod, chiar dacă sunt disponibile mai multe noduri.

Difuza

O datagramă de la un singur expeditor este redirecționată către toate punctele finale asociate cu adresa de difuzare. Rețeaua replică automat datagramele pentru a putea ajunge la toți destinatarii din difuzare (de obicei pe aceeași subrețea).

Geocast

Geocast este oarecum similar cu Multicast: cererile de la expeditor sunt trimise la mai multe puncte finale simultan. Totuși, diferența este că destinatarul este determinat de localizarea sa geografică. Aceasta este o formă specializată de multicast utilizată de unele protocoale de rutare pentru rețele mobile ad-hoc.

Un router geografic își calculează aria de serviciu și o aproximează. Georoutere, schimb de zone de servicii, construiesc tabele de rutare. Sistemul de georouter are o structură ierarhică.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Unicast, Multicast și Broadcast.

Utilizarea tehnologiei Anycast crește nivelul de fiabilitate, toleranță la erori și securitate DNS. Folosind această tehnologie, operatorii oferă clienților lor servicii pentru diferite tipuri de echilibrare a încărcăturii bazate pe DNS. În panoul de control, puteți specifica adrese IP către care solicitările vor fi trimise în funcție de locația geografică. Acest lucru va oferi clienților posibilitatea de a distribui cererile utilizatorilor într-un mod mai flexibil.

Unii operatori implementează capabilități de monitorizare a rutei la fiecare punct de prezență (POP): sistemul analizează automat cele mai scurte rute locale și globale pentru punctele de prezență și le direcționează prin locațiile geografice cu cea mai mică latență, fără timpi de nefuncționare.

În acest moment, Anycast este soluția cea mai stabilă și de încredere pentru construirea de servicii DNS cu încărcare mare, care au cerințe ridicate de stabilitate și fiabilitate.

Domeniul .ru acceptă 35 de servere Anycast DNS, grupate în 20 de noduri, distribuite pe cinci nori Anycast. În acest caz, se folosește principiul construcției pe baza caracteristicilor geografice, adică. Geocast. La plasarea nodurilor DNS, se are în vedere că acestea vor fi mutate în locații dispersate geografic în apropierea celor mai activi utilizatori, concentrarea maximă a furnizorilor ruși în punctul în care se află nodul, precum și disponibilitatea capacității gratuite și ușurința interacțiunea cu site-ul.

Cum se construiește un CDN?

CDN este o rețea de servere care accelerează livrarea de conținut către utilizatori. Rețeaua de livrare a conținutului reunește toate serverele într-o singură rețea și asigură o încărcare mai rapidă a conținutului. Distanța de la server la utilizator joacă un rol important în viteza de încărcare.

CDN vă permite să utilizați servere care sunt cele mai apropiate de publicul țintă. Acest lucru reduce timpul de așteptare și ajută la accelerarea încărcării conținutului site-ului pentru toți vizitatorii, ceea ce este critic în special pentru site-urile cu fișiere mari sau servicii multimedia. Aplicațiile tipice pentru CDN sunt comerțul electronic și divertisment.

Rețeaua de servere suplimentare create în infrastructura CDN, care sunt situate cât mai aproape de utilizatori, contribuie la livrarea mai stabilă și mai rapidă a datelor. Conform statisticilor, utilizarea unui CDN reduce latența la accesarea unui site cu peste 70% în comparație cu site-urile fără CDN.

Ca creați CDN folosind DNS? Configurarea unui CDN folosind soluția proprie Anycast poate fi un proiect destul de costisitor, dar există opțiuni mai ieftine. De exemplu, puteți utiliza GeoDNS și servere obișnuite cu adrese IP unice. Folosind serviciile GeoDNS, puteți crea un CDN cu capabilități de geolocalizare, în care deciziile sunt luate în funcție de locația reală a vizitatorului, mai degrabă decât de locația soluției DNS. Puteți configura zona DNS pentru a afișa adresele IP ale serverelor din SUA pentru vizitatorii din SUA, dar vizitatorii europeni vor vedea adresa IP europeană.

Cu GeoDNS, puteți returna răspunsuri DNS diferite în funcție de adresa IP a utilizatorului. Pentru a face acest lucru, serverul DNS este configurat să returneze adrese IP diferite, în funcție de adresa IP sursă din cerere. De obicei, o bază de date GeoIP este utilizată pentru a determina regiunea din care se face o solicitare. Geolocalizarea folosind DNS vă permite să trimiteți conținut către utilizatori de pe un site din apropiere.

GeoDNS determină adresa IP a clientului care a trimis cererea DNS sau adresa IP a serverului DNS recursiv al furnizorului, care este utilizată la procesarea cererii client. Țara/regiunea este determinată de baza de date IP și GeoIP a clientului. Clientul obține apoi adresa IP a celui mai apropiat server CDN. Puteți citi mai multe despre configurarea GeoDNS aici.

Anycast sau GeoDNS?

Deși Anycast este o modalitate excelentă de a livra conținut la scară globală, îi lipsește specificul. Aici GeoDNS vine în ajutor. Acest serviciu vă permite să creați reguli care trimit utilizatorii către puncte finale unice în funcție de locația lor.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz
Exemplu: utilizatorii din Europa sunt direcționați către un alt punct final.

De asemenea, puteți refuza accesul la domenii renunțând la toate solicitările. Aceasta este, în special, o modalitate rapidă de a elimina intrușii.

GeoDNS oferă răspunsuri mai precise decât Anycast. Dacă în cazul Anycast ruta cea mai scurtă este determinată de numărul de hopuri, atunci în GeoDNS rutarea pentru utilizatorii finali are loc în funcție de locația lor fizică. Acest lucru reduce latența și îmbunătățește acuratețea la crearea regulilor de rutare granulare.

Când navighează către un domeniu, browserul contactează cel mai apropiat server DNS, care, în funcție de domeniu, emite o adresă IP pentru a încărca site-ul. Să presupunem că un magazin online este popular în SUA și Europa, dar serverele DNS pentru acesta sunt disponibile doar în Europa. Apoi, utilizatorii din SUA care doresc să folosească serviciile magazinului vor fi forțați să trimită o solicitare către cel mai apropiat server și, deoarece acesta este foarte departe, vor trebui să aștepte mult timp pentru un răspuns - site-ul nu se va încărca rapid.

Când un server GeoDNS este situat în SUA, utilizatorii îl vor accesa deja. Răspunsul va fi rapid, ceea ce va afecta viteza de încărcare a site-ului.

Într-o situație cu un server DNS existent în Statele Unite, atunci când un utilizator din Statele Unite ale Americii navighează către un anumit domeniu, va contacta cel mai apropiat server care va furniza IP-ul necesar. Utilizatorul va fi direcționat către serverul care conține conținutul site-ului, dar din moment ce serverele cu conținut sunt departe, nu îl va primi rapid.

Dacă găzduiți servere CDN în SUA cu date stocate în cache, atunci la încărcare, browserul client va trimite o solicitare către cel mai apropiat server DNS, care va trimite înapoi adresa IP necesară. Browserul cu IP-ul primit contactează cel mai apropiat server CDN și serverul principal, iar serverul CDN servește browserului conținutul stocat în cache. În timp ce conținutul din cache este încărcat, fișierele care lipsesc pentru a încărca întregul site sunt primite de la serverul principal. Ca urmare, timpul de încărcare a site-ului este redus, deoarece sunt trimise mult mai puține fișiere de pe serverul principal.

Determinarea locației exacte a unei anumite adrese IP nu este întotdeauna o sarcină ușoară: există mulți factori în joc, iar proprietarii unei game de adrese IP pot decide să o facă publicitate în cealaltă parte a lumii (atunci va trebui să așteptați actualizarea bazei de date pentru a obține locația corectă). Uneori, furnizorii VPS atribuie adrese presupuse situate în SUA către VPS din Singapore.

Spre deosebire de utilizarea adreselor Anycast, distribuția se face în timpul rezoluției numelui, mai degrabă decât în ​​timpul conectării la serverul de cache. Dacă serverul recursiv nu acceptă subrețele client EDNS, atunci locația acelui server recursiv este utilizată mai degrabă decât utilizatorul care se va conecta la serverul de cache.

Client Subnets în DNS este o extensie a DNS (RFC7871) care definește modul în care serverele DNS recursive pot trimite informații despre client către serverul DNS, în special informații de rețea pe care serverul GeoDNS le poate folosi pentru a determina mai precis locația clientului.

Cei mai mulți folosesc serverele DNS ale ISP-ului lor sau serverele DNS care sunt geografic aproape de ei, dar dacă cineva din SUA, dintr-un motiv oarecare, decide să folosească un solutor DNS situat în Australia, probabil că va ajunge cu o adresă de server IP cea mai apropiată de Australia.

Dacă doriți să utilizați GeoDNS, este important să fiți conștient de aceste caracteristici, deoarece în unele cazuri poate crește distanța dintre serverele de cache și client.

Rezumat: dacă doriți să combinați mai multe VPS într-un CDN, atunci cea mai bună opțiune de implementare este să utilizați un pachet de server DNS cu funcția GeoDNS + Anycast din cutie.

Anycast vs Unicast: care este mai bine să alegeți în fiecare caz

Sursa: www.habr.com

Adauga un comentariu