Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso

Marahil maraming tao ang nakarinig tungkol sa Anycast. Sa ganitong paraan ng network addressing at routing, isang IP address ang itinalaga sa maraming server sa isang network. Ang mga server na ito ay maaaring matatagpuan sa mga data center na malayo sa isa't isa. Ang ideya ng Anycast ay, depende sa lokasyon ng pinagmulan ng kahilingan, ang data ay ipinadala sa pinakamalapit (ayon sa topology ng network, mas tiyak, ang BGP routing protocol) server. Sa ganitong paraan, maaari mong bawasan ang bilang ng mga network hops at latency.

Mahalaga, ang parehong ruta ay ina-advertise mula sa maraming data center sa buong mundo. Kaya, ang mga kliyente ay ipapadala sa "pinakamahusay" at "pinakamalapit" batay sa mga ruta ng BGP, ang data center. Bakit Anycast? Bakit gumamit ng Anycast sa halip na Unicast?

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Ang Unicast ay talagang angkop para sa isang site na may isang web server at isang katamtamang dami ng trapiko. Gayunpaman, kung ang isang serbisyo ay may milyun-milyong subscriber, kadalasan ay gumagamit ito ng maraming web server, bawat isa ay may parehong IP address. Ang mga server na ito ay ipinamahagi sa heograpiya upang mahusay na maihatid ang mga kahilingan.

Sa sitwasyong ito, mapapabuti ng Anycast ang pagganap (ang trapiko ay ipinapadala sa gumagamit na may kaunting pagkaantala), tiyakin ang pagiging maaasahan ng serbisyo (salamat sa mga backup na server) at pagbalanse ng pag-load - ang pagruruta sa ilang mga server ay epektibong maipamahagi ang pag-load sa pagitan nila, na pagpapabuti ng bilis ng site.

Nag-aalok ang mga operator sa mga kliyente ng iba't ibang uri ng load balancing batay sa Anycast at DNS. Maaaring tukuyin ng mga kliyente ang mga IP address kung saan ipapadala ang mga kahilingan batay sa heyograpikong lokasyon ng site. Ginagawa nitong posible na ipamahagi ang mga kahilingan ng user nang mas flexible.

Ipagpalagay na mayroong ilang mga site sa pagitan ng kung saan kailangan mong ipamahagi ang load (mga gumagamit), halimbawa, isang online na tindahan na may 100 mga kahilingan bawat araw o isang sikat na blog. Upang limitahan ang rehiyon kung saan ina-access ng mga user ang isang partikular na site, maaari mong gamitin ang opsyong Geo Community. Pinapayagan ka nitong limitahan ang rehiyon kung saan ia-advertise ng operator ang ruta.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Anycast at Unicast: pagkakaiba

Ang Anycast ay kadalasang ginagamit sa mga application gaya ng DNS (Domain Name System) at CDN (Content Delivery Networks), na nagpapagana ng mga desisyon sa pagruruta na nagpapahusay sa performance ng network. Gumagamit ang mga network ng paghahatid ng nilalaman ng Anycast dahil nakikitungo sila sa malalaking volume ng trapiko, at nagbibigay ang Anycast ng ilang mga pakinabang sa kasong ito (higit pa sa mga ito sa ibaba). Sa DNS, pinapayagan ka ng Anycast na makabuluhang taasan ang antas ng pagiging maaasahan at fault tolerance ng serbisyo.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Sa Anycast IP, kapag gumagamit ng BGP, mayroong maraming ruta sa isang partikular na host. Ang mga ito ay talagang mga kopya ng mga host sa maraming data center, na ginagamit upang magtatag ng mas mababang latency na koneksyon.

Kaya, sa isang Anycast network, ang parehong IP address ay ina-advertise mula sa iba't ibang lugar, at ang network ay nagpapasya kung saan dadalhin ang kahilingan ng user batay sa "gastos" ng ruta. Halimbawa, ang BGP ay kadalasang ginagamit upang matukoy ang pinakamaikling ruta para sa paghahatid ng data. Kapag nagpadala ang isang user ng kahilingan sa Anycast, tinutukoy ng BGP ang pinakamahusay na ruta para sa mga available na server ng Anycast sa network.

Mga Pakinabang ng Anycast

Pagbabawas ng Latency
Maaaring bawasan ng mga system na may Anycast ang latency kapag nagpoproseso ng mga kahilingan ng user dahil pinapayagan ka nitong makatanggap ng data mula sa pinakamalapit na server. Ibig sabihin, palaging kumonekta ang mga user sa "pinakamalapit" (mula sa punto ng view ng routing protocol) DNS server. Bilang resulta, binabawasan ng Anycast ang oras ng pakikipag-ugnayan sa pamamagitan ng pagbabawas ng distansya ng network sa pagitan ng kliyente at server. Hindi lang nito binabawasan ang latency ngunit nagbibigay din ito ng load balancing.

bilis

Dahil ang trapiko ay niruruta sa pinakamalapit na node at ang latency sa pagitan ng kliyente at ng node ay nababawasan, ang resulta ay na-optimize na bilis ng paghahatid, saan man humihiling ng impormasyon ang kliyente.

Tumaas na katatagan at fault tolerance

Kung maraming server sa buong mundo ang gumagamit ng parehong IP, kung ang isa sa mga server ay nabigo o nadiskonekta, ang trapiko ay ire-redirect sa pinakamalapit na server. Bilang resulta, ginagawang mas nababanat ng Anycast ang serbisyo at nagbibigay ng mas mahusay na access sa network/latency/bilis. 

Kaya, sa pamamagitan ng pagkakaroon ng maraming server na patuloy na magagamit sa mga user, ang Anycast, halimbawa, ay nagpapabuti sa katatagan ng DNS. Kung nabigo ang isang node, ire-redirect ang mga kahilingan ng user sa isa pang DNS server nang walang anumang manu-manong interbensyon o reconfiguration. Nagbibigay ang Anycast ng halos transparent na paglipat sa iba pang mga site sa pamamagitan lamang ng pag-alis ng mga ruta ng may problemang site. 

Pagbalanse ng Load

Sa Anycast, ang trapiko sa network ay ipinamamahagi sa iba't ibang mga server. Iyon ay, ito ay gumaganap bilang isang load balancer, na pumipigil sa anumang solong server mula sa pagtanggap ng karamihan ng trapiko. Maaaring gamitin ang load balancing, halimbawa, kapag maraming network node sa parehong geographic na distansya mula sa pinagmulan ng kahilingan. Sa kasong ito, ang pagkarga ay ibinahagi sa mga node.

Bawasan ang epekto ng mga pag-atake ng DoS 

Ang isa pang tampok ng Anycast ay ang paglaban nito sa DDoS. Ang mga pag-atake ng DDoS ay malamang na hindi makapagpabagsak ng isang sistema ng Anycast, dahil kailangan nilang madaig ang lahat ng mga server sa naturang network na may maraming mga kahilingan. 

Ang mga pag-atake ng DDoS ay kadalasang gumagamit ng mga botnet, na maaaring makabuo ng napakaraming trapiko na labis nitong na-overload ang inaatakeng server. Ang bentahe ng paggamit ng Anycast sa sitwasyong ito ay ang bawat server ay nagagawang "sumipsip" ang bahagi ng pag-atake, na binabawasan ang pagkarga sa partikular na server na iyon. Ang pag-atake ng pagtanggi sa serbisyo ay malamang na mai-localize sa server at hindi makakaapekto sa buong serbisyo.

Mataas na pahalang na scalability

Ang mga system ng Anycast ay angkop para sa mga serbisyong may malaking dami ng trapiko. Kung ang isang serbisyo na gumagamit ng Anycast ay nangangailangan ng mga bagong server upang pangasiwaan ang tumaas na trapiko, ang mga bagong server ay maaaring idagdag sa network upang pangasiwaan ito. Maaari silang ilagay sa bago o umiiral na mga site. 

Kung ang isang partikular na lokasyon ay nakakaranas ng malaking pagtaas sa trapiko, ang pagdaragdag ng server ay makakatulong na balansehin ang pag-load para sa site na iyon. Ang pagdaragdag ng isang server sa isang bagong site ay makakatulong na mabawasan ang mga oras ng paghihintay sa pamamagitan ng paglikha ng isang bagong pinakamaikling ruta para sa ilang mga gumagamit. Ang parehong mga pamamaraan ay tumutulong din na mapabuti ang katatagan ng serbisyo habang ang mga bagong server ay magagamit sa network. Sa ganitong paraan, kung na-overload ang isang server, maaari kang mag-deploy ng isa pa sa isang lokasyon na nagbibigay-daan dito na tanggapin ang ilang bahagi ng mga kahilingan ng server na sobra ang karga. Hindi ito nangangailangan ng anumang configuration sa bahagi ng mga kliyente. 

Sa ganitong paraan lamang maihahatid ang mga terabit ng trapiko at napakalaking bilang ng mga user kapag ang server ay mayroon lamang ilang 10 o 25 Gbps na port. Ang 100 host na may isang IP address ay gagawing posible na iproseso ang terabit na dami ng trapiko.

Madaling pamamahala ng pagsasaayos

Tulad ng nabanggit sa itaas, ang isang kawili-wiling paggamit ng Anycast ay DNS. Maaari kang maglagay ng iba't ibang DNS server sa mga node ng network, ngunit gumamit ng isang DNS address. Depende sa kung saan matatagpuan ang pinagmulan, ang mga kahilingan ay iruruta sa pinakamalapit na node. Nagbibigay ito ng ilang pagbabalanse ng trapiko at kalabisan sa kaganapan ng pagkabigo ng DNS server. Sa ganitong paraan, sa halip na i-configure ang iba't ibang mga DNS server depende sa kung saan sila matatagpuan, ang configuration ng isang DNS server ay maaaring i-propagate sa lahat ng mga node.

Ang mga network ng Anycast ay maaaring i-configure upang iruta ang mga kahilingan hindi lamang batay sa distansya, kundi pati na rin sa mga parameter tulad ng pagkakaroon ng isang server, ang bilang ng mga naitatag na koneksyon. o oras ng pagtugon.

Walang mga espesyal na server, network o espesyal na bahagi ang kinakailangan sa panig ng kliyente upang magamit ang teknolohiyang Anycast. Ngunit ang Anycast ay mayroon ding mga downside. Ito ay pinaniniwalaan na ang pagpapatupad nito ay isang kumplikadong gawain, na nangangailangan ng karagdagang kagamitan, maaasahang mga tagapagkaloob at tamang pagruruta ng trapiko.

Malayo sa purong pinagmulan hanggang sa kagandahan

Bagama't niruruta ng Anycast ang mga user batay sa pinakamakaunting hops, hindi ito nangangahulugang pinakamababang latency. Ang latency ay isang mas kumplikadong sukatan dahil maaari itong mas mataas para sa isang paglipat kaysa sa sampu.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Halimbawa: Ang mga intercontinental na komunikasyon ay maaaring may kasamang isang hop na may napakataas na latency.

Pangunahing ginagamit ang Anycast para sa mga serbisyong nakabatay sa UDP gaya ng DNS. Ang mga kahilingan ng user ay dinadala sa "pinakamahusay" at "pinakamalapit" na data center batay sa mga ruta ng BGP.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Halimbawa: Ang isang DNS client workstation na may Anycast DNS IP address na 123.10.10.10 ay gumaganap ng DNS resolution sa pinakamalapit sa tatlong DNS name server na na-deploy gamit ang parehong Anycast IP address. Kung nabigo ang Router R1 o Server A, ang mga DNS client packet ay awtomatikong ipapasa sa susunod na pinakamalapit na DNS server sa pamamagitan ng Router R2 at R3. Bukod pa rito, ang ruta sa aming server A ay aalisin mula sa mga routing table, na pumipigil sa karagdagang paggamit ng nameserver na iyon.

Mga Sitwasyon sa Deployment

Mayroong dalawang pangkalahatang scheme na ginagamit upang matukoy kung saang server kumokonekta ang isang user:

  • Anycast network layer. Ikinokonekta ang user sa pinakamalapit na server. Ang network path mula sa user hanggang sa server ay mahalaga dito.
  • Antas ng aplikasyon anycast. Ang scheme na ito ay may higit pang mga kalkuladong sukatan, kabilang ang availability ng server, oras ng pagtugon, bilang ng mga koneksyon, atbp. Depende ito sa isang panlabas na monitor na nagbibigay ng mga istatistika ng network.

CDN batay sa Anycast

Bumalik tayo ngayon sa paggamit ng Anycast sa mga network ng paghahatid ng nilalaman. Ang Anycast ay tiyak na isang kawili-wiling konsepto ng networking at nakakakuha ng tumataas na pagtanggap sa mga susunod na gen CDN provider.

Ang CDN ay isang distributed network ng mga server na naghahatid ng content sa mga end user na may mataas na availability at mababang latency. Ang mga network ng paghahatid ng nilalaman ay gumaganap ng isang mahalagang papel ngayon bilang ang gulugod ng maraming mga serbisyo sa online na media, at ang mga mamimili ay lalong hindi gaanong mapagparaya sa mabagal na bilis ng pag-download. Ang mga video at voice application ay lalong sensitibo sa network jitter at latency.

Ikinokonekta ng CDN ang lahat ng server sa isang network at tinitiyak ang mas mabilis na paglo-load ng nilalaman. Minsan posibleng bawasan ang oras ng paghihintay ng user ng 5-6 na segundo. Ang layunin ng isang CDN ay i-optimize ang paghahatid sa pamamagitan ng paghahatid ng nilalaman mula sa server na pinakamalapit sa end user. Ito ay halos kapareho sa Anycast, kung saan ang pinakamalapit na server ay pinili batay sa lokasyon ng end user. Tila ang bawat tagapagbigay ng serbisyo ng CDN ay gagamit ng Anycast bilang default, ngunit sa katotohanan ay hindi ito ang kaso.

Ang mga application na gumagamit ng mga protocol gaya ng HTTP/TCP ay umaasa sa koneksyong ginagawa. Kung may napiling bagong Anycast node (halimbawa, dahil sa pagkabigo ng server), maaaring maantala ang serbisyo. Ito ang dahilan kung bakit dati ay inirerekomenda ang Anycast para sa mga serbisyong walang koneksyon gaya ng UDP at DNS. Gayunpaman, mahusay ding gumagana ang Anycast para sa mga protocol na nakatuon sa koneksyon; halimbawa, gumagana nang maayos ang TCP sa Anycast mode.

Ang ilang mga provider ng CDN ay gumagamit ng Anycast-based na pagruruta, ang iba ay mas gusto ang DNS-based na pagruruta: ang pinakamalapit na server ay pinili batay sa kung saan matatagpuan ang DNS server ng user.

Ang mga imprastraktura ng hybrid at multi-data center ay isa pang halimbawa ng paggamit ng Anycast. Ang Load Balancing IP address na natanggap mula sa provider ay nagbibigay-daan sa iyong ipamahagi ang load sa pagitan ng mga IP address ng iba't ibang serbisyo ng kliyente sa data center ng provider. Salamat sa anumang-device na teknolohiya, nagbibigay ito ng mas mahusay na performance sa ilalim ng mabigat na trapiko, fault tolerance at tumutulong sa pag-optimize ng oras ng pagtugon kapag nakikipag-ugnayan sa isang malaking bilang ng mga user.

Sa mga imprastraktura ng hybrid na multi-data center, maaari mong ipamahagi ang trapiko sa mga server o kahit na mga virtual machine sa mga nakalaang server.

Kaya, mayroong isang malaking seleksyon ng mga teknikal na solusyon para sa pagbuo ng imprastraktura. Maaari mo ring i-configure ang load balancing sa mga IP address sa maraming data center, na nagta-target ng anumang device sa isang pangkat upang i-optimize ang performance ng site.

Maaari mong ipamahagi ang trapiko ayon sa iyong sariling mga panuntunan, na tinutukoy ang "bigat" ng bawat isa sa mga ipinamahagi na server sa bawat data center. Ang pagsasaayos na ito ay lalong kapaki-pakinabang kapag mayroong isang distributed server park at ang pagganap ng mga serbisyo ay hindi pantay. Ito ay magbibigay-daan sa trapiko na maipamahagi nang mas madalas upang mapabuti ang pagganap ng server.

Upang lumikha ng isang sistema ng pagsubaybay gamit ang ping command, posible na i-configure ang mga probes. Nagbibigay-daan ito sa administrator na tukuyin ang kanilang sariling mga pamamaraan sa pagsubaybay at makakuha ng mas malinaw na larawan ng katayuan ng bawat bahagi sa imprastraktura. Sa ganitong paraan, maaaring tukuyin ang mga pamantayan sa pagiging naa-access.

Posibleng bumuo ng hybrid na imprastraktura: kung minsan ay maginhawang umalis sa back office sa corporate network, at i-outsource ang bahagi ng interface sa provider.

Posibleng magdagdag ng mga SSL certificate para sa load balancing, pag-encrypt ng ipinadalang data at seguridad ng komunikasyon sa pagitan ng mga bisita sa site at corporate infrastructure. Sa kaso ng load balancing sa pagitan ng mga data center, maaari ding gamitin ang SSL.

Ang serbisyo ng anycast na may address load balancing ay maaaring makuha mula sa iyong provider. Makakatulong ang feature na ito na pahusayin kung paano nakikipag-ugnayan ang mga user sa mga app batay sa lokasyon. Ito ay sapat na upang ipahayag kung anong mga serbisyo ang magagamit sa data center, at ang trapiko ay mai-redirect sa pinakamalapit na imprastraktura. Kung may mga dedikadong server, halimbawa sa France o North America, ididirekta ang mga kliyente sa pinakamalapit na server sa network.

Ang isa sa mga opsyon para sa paggamit ng Anycast ay ang pinakamainam na pagpili ng point of presence (PoP) ng isang operator. Pagbigyan natin halimbawa. Ang LinkedIn (naka-block sa Russia) ay nagsusumikap hindi lamang upang mapabuti ang pagganap at bilis ng mga produkto nito - mga mobile at web application, kundi pati na rin upang mapabuti ang imprastraktura ng network nito para sa mas mabilis na paghahatid ng nilalaman. Para sa dynamic na paghahatid ng content na ito, aktibong gumagamit ang LinkedIn ng mga PoP - mga punto ng presensya. Ang Anycast ay ginagamit upang idirekta ang mga user sa pinakamalapit na PoP.

Ang dahilan ay sa kaso ng Unycast, ang bawat LinkedIn PoP ay may natatanging IP address. Ang mga user ay itatalaga sa PoP batay sa kanilang heyograpikong lokasyon gamit ang DNS. Ang problema ay kapag gumagamit ng DNS, humigit-kumulang 30% ng mga user sa United States ang na-redirect sa isang suboptimal na PoP. Sa unti-unting pagpapatupad ng Anycast, bumaba ang suboptimal na pagtatalaga ng PoP mula 31% hanggang 10%.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Ang mga resulta ng pilot test ay ipinapakita sa graph, kung saan ang Y-axis ay ang porsyento ng pinakamainam na pagtatalaga ng PoP. Habang lumalakas ang Anycast, maraming estado sa US ang nakakita ng pagpapabuti sa porsyento ng trapiko patungo sa pinakamainam na PoP.

Anycast Network Monitoring

Ang mga network ng Anycast ay simple sa teorya: maraming pisikal na server ang itinalaga sa parehong IP address, na ginagamit ng BGP upang matukoy ang ruta. Ngunit ang pagpapatupad at disenyo ng mga platform ng Anycast ay kumplikado, at ang mga network ng Anycast na mapagparaya sa fault ay lalong sikat para dito. Ang mas mahirap ay ang epektibong pagsubaybay sa isang Anycast network upang mabilis na matukoy at ihiwalay ang mga pagkakamali.

Kung ang mga serbisyo ay gumagamit ng isang third-party na provider ng CDN upang ihatid ang kanilang nilalaman, napakahalaga para sa kanila na subaybayan at i-verify ang pagganap ng network. Ang Anycast-based CDN monitoring ay nakatuon sa pagsukat ng end-to-end latency at penultimate hop performance para maunawaan kung aling data center ang naghahatid ng content. Ang pagsusuri sa mga header ng HTTP server ay isa pang paraan upang matukoy kung saan nanggagaling ang data.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Halimbawa: Mga header ng tugon ng HTTP na nagsasaad ng lokasyon ng CDN server.

Halimbawa, ginagamit ng CloudFlare ang sarili nitong CF-Ray header sa mga mensahe ng HTTP Response, na kinabibilangan ng indikasyon ng data center kung saan ginawa ang kahilingan. Sa kaso ng Zendesk, ang CF-Ray header para sa rehiyon ng Seattle ay CF-RAY: 2a21675e65fd2a3d-SEA, at para sa Amsterdam ito ay CF-RAY: 2a216896b93a0c71-AMS. Maaari mo ring gamitin ang mga header ng HTTP-X mula sa tugon ng HTTP upang matukoy kung saan matatagpuan ang nilalaman.

Iba pang paraan ng pagtugon

Mayroong iba pang mga paraan ng pagtugon para sa pagruruta ng mga kahilingan ng user sa isang partikular na endpoint ng network:

Unicast

Karamihan sa Internet ngayon ay gumagamit ng paraang ito. Unicast - unicast transmission, ang IP address ay nauugnay lamang sa isang partikular na node sa network. Ito ay tinatawag na one-to-one matching. 

Maramihang

Gumagamit ang Multicast ng one-to-many o many-to-many na relasyon. Pinapayagan ng Multicast ang isang kahilingan mula sa isang nagpadala na maipadala nang sabay-sabay sa iba't ibang mga napiling endpoint. Nagbibigay ito sa kliyente ng kakayahang mag-download ng isang file sa mga tipak mula sa maraming host nang sabay-sabay (na kapaki-pakinabang para sa streaming audio o video). Ang Multicast ay madalas na nalilito sa Anycast. Gayunpaman, ang pangunahing pagkakaiba ay ang Anycast ay nagdidirekta sa nagpadala sa isang partikular na node, kahit na maraming mga node ang magagamit.

Brodkast

Ang isang datagram mula sa isang nagpadala ay ipinapasa sa lahat ng mga endpoint na nauugnay sa address ng broadcast. Awtomatikong ginagaya ng network ang mga datagram upang maabot ang lahat ng mga tatanggap sa broadcast (karaniwan ay sa parehong subnet).

Geocast

Ang Geocast ay medyo katulad ng Multicast: ang mga kahilingan mula sa nagpadala ay ipinapadala sa maraming mga endpoint nang sabay-sabay. Gayunpaman, ang pagkakaiba ay ang addressee ay tinutukoy ng heograpikal na lokasyon nito. Ito ay isang espesyal na anyo ng multicast na ginagamit ng ilang mga routing protocol para sa mga mobile ad hoc network.

Kinakalkula ng isang geographic na router ang lugar ng serbisyo nito at tinatantiya ito. Georouters, pagpapalitan ng mga lugar ng serbisyo, bumuo ng mga routing table. Ang georouter system ay may hierarchical na istraktura.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Unicast, Multicast at Broadcast.

Ang paggamit ng teknolohiyang Anycast ay nagpapataas ng antas ng pagiging maaasahan, pagpapahintulot sa kasalanan at seguridad ng DNS. Gamit ang teknolohiyang ito, nag-aalok ang mga operator ng mga serbisyo sa kanilang mga kliyente para sa iba't ibang uri ng load balancing batay sa DNS. Sa control panel, maaari mong tukuyin ang mga IP address kung saan ipapadala ang mga kahilingan depende sa heyograpikong lokasyon. Bibigyan nito ang mga kliyente ng pagkakataon na ipamahagi ang mga kahilingan ng user nang mas may kakayahang umangkop.

Ang ilang mga operator ay nagpapatupad ng mga kakayahan sa pagsubaybay sa ruta sa bawat punto ng presensya (POP): awtomatikong sinusuri ng system ang pinakamaikling lokal at pandaigdigang ruta para sa mga punto ng presensya at niruruta ang mga ito sa pinakamababang latency na mga heyograpikong lokasyon na may zero downtime.

Sa ngayon, ang Anycast ay ang pinaka-matatag at maaasahang solusyon para sa pagbuo ng mga serbisyo ng DNS na may mataas na load, na may mataas na mga kinakailangan para sa katatagan at pagiging maaasahan.

Ang .ru na domain ay sumusuporta sa 35 Anycast DNS server, na nakapangkat sa 20 node, na ipinamahagi sa limang Anycast cloud. Sa kasong ito, ang prinsipyo ng konstruksiyon batay sa mga katangiang heograpikal ay ginagamit, i.e. Geocast. Kapag naglalagay ng mga DNS node, inaasahang ililipat ang mga ito sa mga lokasyong nakakalat sa heograpiya na malapit sa mga pinaka-aktibong user, ang pinakamataas na konsentrasyon ng mga provider ng Russia sa punto kung saan matatagpuan ang node, pati na rin ang pagkakaroon ng libreng kapasidad at kadalian ng pakikipag-ugnayan sa site.

Paano bumuo ng isang CDN?

Ang CDN ay isang network ng mga server na nagpapabilis sa paghahatid ng nilalaman sa mga user. Network ng Paghahatid ng Nilalaman pinagsasama ang lahat ng mga server sa isang network at tinitiyak ang mas mabilis na paglo-load ng nilalaman. Ang distansya mula sa server hanggang sa user ay may mahalagang papel sa bilis ng paglo-load.

Binibigyang-daan ka ng CDN na gumamit ng mga server na pinakamalapit sa target na madla. Binabawasan nito ang oras ng paghihintay at tumutulong na mapabilis ang pag-load ng nilalaman ng site para sa lahat ng mga bisita, na partikular na kritikal para sa mga site na may malalaking file o serbisyong multimedia. Ang mga karaniwang application para sa CDN ay e-commerce at entertainment.

Ang network ng mga karagdagang server na nilikha sa imprastraktura ng CDN, na matatagpuan nang mas malapit hangga't maaari sa mga user, ay nag-aambag sa mas matatag at mas mabilis na paghahatid ng data. Ayon sa mga istatistika, ang paggamit ng CDN ay binabawasan ang latency kapag nag-a-access sa isang site ng higit sa 70% kumpara sa mga site na walang CDN.

Bilang lumikha ng CDN gamit ang DNS? Ang pag-set up ng CDN gamit ang sariling solusyon ng Anycast ay maaaring maging isang mamahaling proyekto, ngunit may mga mas murang opsyon. Halimbawa, maaari mong gamitin ang GeoDNS at mga regular na server na may mga natatanging IP address. Gamit ang mga serbisyo ng GeoDNS, maaari kang lumikha ng CDN na may mga kakayahan sa geolocation, kung saan ang mga desisyon ay ginawa batay sa aktwal na lokasyon ng bisita, sa halip na ang lokasyon ng DNS resolver. Maaari mong i-configure ang iyong DNS zone upang ipakita ang mga IP address ng server ng US sa mga bisita sa US, ngunit makikita ng mga bisita sa Europa ang European IP address.

Sa GeoDNS, maaari kang magbalik ng iba't ibang mga tugon ng DNS depende sa IP address ng user. Upang gawin ito, ang DNS server ay na-configure upang ibalik ang iba't ibang mga IP address depende sa pinagmulan ng IP address sa kahilingan. Karaniwan, ang isang database ng GeoIP ay ginagamit upang matukoy ang rehiyon kung saan ginawa ang isang kahilingan. Nagbibigay-daan sa iyo ang geolocation gamit ang DNS na magpadala ng content sa mga user mula sa isang kalapit na site.

Tinutukoy ng GeoDNS ang IP address ng kliyente na nagpadala ng kahilingan sa DNS, o ang IP address ng recursive DNS server ng provider, na ginagamit kapag pinoproseso ang kahilingan ng kliyente. Ang bansa/rehiyon ay tinutukoy ng IP at GeoIP database ng kliyente. Pagkatapos ay makukuha ng kliyente ang IP address ng pinakamalapit na CDN server. Maaari kang magbasa nang higit pa tungkol sa pag-set up ng GeoDNS dito.

Anycast o GeoDNS?

Bagama't ang Anycast ay isang mahusay na paraan upang maghatid ng nilalaman sa isang pandaigdigang saklaw, wala itong partikularidad. Dito sumagip ang GeoDNS. Binibigyang-daan ka ng serbisyong ito na lumikha ng mga panuntunan na nagpapadala sa mga user sa mga natatanging endpoint batay sa kanilang lokasyon.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso
Halimbawa: Ang mga user mula sa Europe ay nakadirekta sa ibang endpoint.

Maaari mo ring tanggihan ang access sa mga domain sa pamamagitan ng pag-discard sa lahat ng kahilingan. Ito ay, sa partikular, isang mabilis na paraan upang maputol ang mga nanghihimasok.

Nagbibigay ang GeoDNS ng mas tumpak na mga sagot kaysa sa Anycast. Kung sa kaso ng Anycast ang pinakamaikling ruta ay tinutukoy ng bilang ng mga hops, pagkatapos ay sa GeoDNS ang pagruruta para sa mga end user ay nangyayari depende sa kanilang pisikal na lokasyon. Binabawasan nito ang latency at pinapahusay nito ang katumpakan kapag gumagawa ng mga granular na panuntunan sa pagruruta.

Kapag nagna-navigate sa isang domain, nakikipag-ugnayan ang browser sa pinakamalapit na DNS server, na, depende sa domain, ay nagbibigay ng IP address upang i-load ang site. Ipagpalagay natin na sikat ang isang online na tindahan sa USA at Europe, ngunit ang mga DNS server para dito ay available lang sa Europe. Kung gayon ang mga gumagamit ng US na gustong gumamit ng mga serbisyo ng tindahan ay mapipilitang magpadala ng isang kahilingan sa pinakamalapit na server, at dahil napakalayo nito, kailangan nilang maghintay ng mahabang panahon para sa isang tugon - ang site ay hindi maglo-load nang mabilis.

Kapag ang isang GeoDNS server ay matatagpuan sa USA, maa-access na ito ng mga user. Magiging mabilis ang tugon, na makakaapekto sa bilis ng paglo-load ng site.

Sa isang sitwasyon na may umiiral nang DNS server sa United States, kapag nag-navigate ang isang user mula sa United States sa isang partikular na domain, makikipag-ugnayan siya sa pinakamalapit na server na magbibigay ng kinakailangang IP. Ididirekta ang gumagamit sa server na naglalaman ng nilalaman ng site, ngunit dahil malayo ang mga server na may nilalaman, hindi niya ito matatanggap nang mabilis.

Kung nagho-host ka ng mga CDN server sa US na may naka-cache na data, pagkatapos ay sa pag-load ng client browser ay magpapadala ng kahilingan sa pinakamalapit na DNS server, na magpapadala ng kinakailangang IP address. Ang browser na may natanggap na IP ay nakikipag-ugnayan sa pinakamalapit na CDN server at sa pangunahing server, at ang CDN server ay naghahatid ng naka-cache na nilalaman sa browser. Habang nilo-load ang naka-cache na nilalaman, ang mga file na nawawala para i-load ang buong site ay natatanggap mula sa pangunahing server. Bilang resulta, nababawasan ang oras ng paglo-load ng site, dahil mas kaunting mga file ang ipinapadala mula sa pangunahing server.

Ang pagtukoy sa eksaktong lokasyon ng isang tukoy na IP address ay hindi palaging isang madaling gawain: maraming mga kadahilanan ang naglalaro, at ang mga may-ari ng isang hanay ng mga IP address ay maaaring magpasya na i-advertise ito sa kabilang panig ng mundo (pagkatapos ay kakailanganin mong hintayin ang pag-update ng database para makuha ang tamang lokasyon). Minsan ang mga provider ng VPS ay nagtatalaga ng mga address na sinasabing matatagpuan sa US sa VPS sa Singapore.

Hindi tulad ng paggamit ng mga Anycast address, ang pamamahagi ay ginagawa sa panahon ng paglutas ng pangalan sa halip na habang kumokonekta sa caching server. Kung ang recursive server ay hindi sumusuporta sa EDNS client subnets, ang lokasyon ng recursive server na iyon ay ginagamit sa halip na ang user na kumonekta sa caching server.

Ang Client Subnets sa DNS ay isang extension ng DNS (RFC7871) na tumutukoy kung paano maipapadala ng mga recursive DNS server ang impormasyon ng kliyente sa DNS server, partikular na ang impormasyon ng network na magagamit ng GeoDNS server upang mas tumpak na matukoy ang lokasyon ng kliyente.

Karamihan ay gumagamit ng mga DNS server ng kanilang ISP o mga DNS server na malapit sa kanila sa heograpiya, ngunit kung ang isang tao sa US para sa ilang kadahilanan ay nagpasya na gumamit ng isang DNS resolver na matatagpuan sa Australia, malamang na mapupunta sila sa isang IP server address na pinakamalapit sa Australia.

Kung gusto mong gumamit ng GeoDNS, mahalagang magkaroon ng kamalayan sa mga tampok na ito, dahil sa ilang mga kaso maaari nitong dagdagan ang distansya sa pagitan ng mga server ng caching at ng kliyente.

Buod: kung gusto mong pagsamahin ang ilang VPS sa isang CDN, kung gayon ang pinakamahusay na opsyon sa pag-deploy ay ang paggamit ng isang bundle ng DNS server na may function na GeoDNS + Anycast sa labas ng kahon.

Anycast vs Unicast: alin ang mas magandang piliin sa bawat kaso

Pinagmulan: www.habr.com

Magdagdag ng komento