Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում

Շատերը հավանաբար լսել են Anycast-ի մասին: Ցանցային հասցեավորման և երթուղղման այս մեթոդում մեկ IP հասցե հատկացվում է ցանցի մի քանի սերվերներին: Այս սերվերները նույնիսկ կարող են տեղակայվել միմյանցից հեռու գտնվող տվյալների կենտրոններում: Anycast-ի գաղափարն այն է, որ, կախված հարցման աղբյուրի գտնվելու վայրից, տվյալները ուղարկվում են մոտակա (ըստ ցանցի տոպոլոգիայի, ավելի ճիշտ՝ BGP երթուղային արձանագրության) սերվերին: Այսպիսով, դուք կարող եք նվազեցնել ցանցի հոպումների և հետաձգման քանակը:

Ըստ էության, նույն երթուղին գովազդվում է բազմաթիվ տվյալների կենտրոններից ամբողջ աշխարհում: Այսպիսով, հաճախորդները կուղարկվեն «լավագույն» և «ամենամոտ»՝ հիմնված BGP երթուղիների՝ տվյալների կենտրոնի վրա: Ինչու Anycast: Ինչու՞ օգտագործել Anycast-ը Unicast-ի փոխարեն:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Unicast-ը իսկապես հարմար է մեկ վեբ սերվերով և չափավոր տրաֆիկ ունեցող կայքի համար: Այնուամենայնիվ, եթե ծառայությունն ունի միլիոնավոր բաժանորդներ, այն սովորաբար օգտագործում է բազմաթիվ վեբ սերվերներ, որոնցից յուրաքանչյուրն ունի նույն IP հասցե: Այս սերվերները բաշխված են աշխարհագրորեն՝ հարցումները օպտիմալ կերպով սպասարկելու համար:

Այս սցենարում Anycast-ը կբարելավի կատարումը (երթևեկությունը նվազագույն ուշացումով ուղարկվում է օգտագործողին), կապահովի ծառայության հուսալիությունը (պահուստային սերվերների շնորհիվ) և բեռի հավասարակշռում. կայքից։

Օպերատորները հաճախորդներին առաջարկում են բեռների հավասարակշռման տարբեր տեսակներ՝ հիմնված Anycast-ի և DNS-ի վրա: Հաճախորդները կարող են նշել IP հասցեները, որոնց հարցումները կուղարկվեն՝ ելնելով կայքի աշխարհագրական դիրքից: Սա հնարավորություն է տալիս ավելի ճկուն կերպով բաշխել օգտվողների հարցումները:

Ենթադրենք, կան մի քանի կայքեր, որոնց միջև դուք պետք է բաշխեք բեռը (օգտատերեր), օրինակ՝ առցանց խանութ՝ օրական 100 հարցումով կամ հայտնի բլոգ։ Տարածաշրջանը սահմանափակելու համար, որտեղից օգտվողները մուտք են գործում կոնկրետ կայք, կարող եք օգտագործել Geo Community տարբերակը: Այն թույլ է տալիս սահմանափակել այն տարածաշրջանը, որի շրջանակներում օպերատորը գովազդելու է երթուղին:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Anycast և Unicast. տարբերություններ

Anycast-ը հաճախ օգտագործվում է այնպիսի ծրագրերում, ինչպիսիք են DNS-ը (Domain Name System) և CDN-ը (Content Delivery Networks), ինչը հնարավորություն է տալիս երթուղային որոշումներ կայացնել, որոնք բարելավում են ցանցի աշխատանքը: Բովանդակության առաքման ցանցերն օգտագործում են Anycast-ը, քանի որ գործ ունեն մեծ քանակությամբ տրաֆիկի հետ, և Anycast-ն այս դեպքում տալիս է մի շարք առավելություններ (դրանց մասին ավելին ստորև): DNS-ում Anycast-ը թույլ է տալիս զգալիորեն բարձրացնել ծառայության հուսալիության և սխալների հանդուրժողականության մակարդակը:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Anycast IP-ում, երբ օգտագործում եք BGP, կան մի քանի երթուղիներ դեպի կոնկրետ հոսթ: Սրանք իրականում բազմաթիվ տվյալների կենտրոնների հոսթների պատճեններն են, որոնք օգտագործվում են ավելի ցածր հետաձգման կապեր հաստատելու համար:

Այսպիսով, Anycast ցանցում նույն IP հասցեն գովազդվում է տարբեր վայրերից, և ցանցը որոշում է, թե որտեղ ուղղորդել օգտատիրոջ հարցումը՝ ելնելով երթուղու «արժեքից»։ Օրինակ, BGP-ն հաճախ օգտագործվում է տվյալների փոխանցման ամենակարճ ճանապարհը որոշելու համար: Երբ օգտվողն ուղարկում է Anycast հարցում, BGP-ն որոշում է լավագույն երթուղին ցանցում առկա Anycast սերվերների համար:

Anycast-ի առավելությունները

Լատենտության նվազեցում
Anycast-ով համակարգերը կարող են նվազեցնել ուշացումն օգտատերերի հարցումները մշակելիս, քանի որ դրանք թույլ են տալիս ստանալ տվյալներ մոտակա սերվերից: Այսինքն՝ օգտվողները միշտ կմիանան «ամենամոտ» (երթուղային արձանագրության տեսանկյունից) DNS սերվերին։ Արդյունքում, Anycast-ը նվազեցնում է փոխազդեցության ժամանակը` նվազեցնելով հաճախորդի և սերվերի միջև ցանցի հեռավորությունը: Սա ոչ միայն նվազեցնում է հետաձգումը, այլև ապահովում է բեռի հավասարակշռում:

Բարեմաղթել

Քանի որ երթևեկությունը ուղղորդվում է դեպի մոտակա հանգույց, և հաճախորդի և հանգույցի միջև ուշացումը կրճատվում է, արդյունքը օպտիմիզացված է առաքման արագությամբ, անկախ նրանից, թե հաճախորդը որտեղից է տեղեկատվություն պահանջում:

Կայունության և սխալների հանդուրժողականության բարձրացում

Եթե ​​ամբողջ աշխարհում մի քանի սերվերներ օգտագործում են նույն IP-ն, ապա եթե սերվերներից մեկը ձախողվի կամ անջատվի, տրաֆիկը կվերահղվի դեպի մոտակա սերվեր: Արդյունքում, Anycast-ը ծառայությունը դարձնում է ավելի ճկուն և ապահովում է ցանցի ավելի լավ մուտք/ուշացում/արագություն: 

Այսպիսով, ունենալով բազմաթիվ սերվերներ, որոնք մշտապես հասանելի են օգտատերերին, օրինակ, Anycast-ը բարելավում է DNS կայունությունը։ Եթե ​​հանգույցը ձախողվի, օգտվողի հարցումները կվերահղվեն մեկ այլ DNS սերվեր՝ առանց որևէ ձեռքով միջամտության կամ վերակազմավորման: Anycast-ն ապահովում է գործնականում թափանցիկ անցում դեպի այլ կայքեր՝ պարզապես հեռացնելով խնդրահարույց կայքի երթուղիները: 

Բեռների հավասարակշռում

Anycast-ում ցանցային տրաֆիկը բաշխվում է տարբեր սերվերների վրա: Այսինքն, այն գործում է որպես բեռի հավասարակշռող միջոց՝ թույլ չտալով, որ որևէ առանձին սերվեր ստանա տրաֆիկի հիմնական մասը: Բեռի հավասարակշռումը կարող է օգտագործվել, օրինակ, երբ մի քանի ցանցային հանգույցներ կան նույն աշխարհագրական հեռավորության վրա՝ հարցումի աղբյուրից: Այս դեպքում բեռը բաշխվում է հանգույցների միջև:

Նվազեցնել DoS հարձակումների ազդեցությունը 

Anycast-ի մեկ այլ առանձնահատկությունը նրա DDoS դիմադրությունն է: DDoS հարձակումները դժվար թե կարողանան ոչնչացնել Anycast համակարգը, քանի որ դրանք պետք է ճնշեն նման ցանցի բոլոր սերվերները ավալանշ հարցումներով: 

DDoS հարձակումները հաճախ օգտագործում են բոտնետներ, որոնք կարող են առաջացնել այնքան շատ տրաֆիկ, որ այն ծանրաբեռնում է հարձակման ենթարկված սերվերը: Այս իրավիճակում Anycast-ի օգտագործման առավելությունն այն է, որ յուրաքանչյուր սերվեր կարողանում է «կլանել» գրոհի մի մասը, ինչը նվազեցնում է տվյալ սերվերի բեռը։ Ծառայության մերժման հարձակումը, ամենայն հավանականությամբ, տեղայնացվելու է սերվերում և չի ազդի ամբողջ ծառայության վրա:

Բարձր հորիզոնական մասշտաբայնություն

Anycast համակարգերը լավ պիտանի են մեծ քանակությամբ տրաֆիկի ծառայությունների համար: Եթե ​​Anycast-ն օգտագործող ծառայությունը պահանջում է նոր սերվերներ՝ ավելացված թրաֆիկը կարգավորելու համար, ցանցում կարող են նոր սերվերներ ավելացվել՝ այն կարգավորելու համար: Նրանք կարող են տեղադրվել նոր կամ գոյություն ունեցող կայքերում: 

Եթե ​​որոշակի վայրում տրաֆիկի մեծ աճ է նկատվում, ապա սերվերի ավելացումը կօգնի հավասարակշռել այդ կայքի բեռը: Նոր կայքում սերվեր ավելացնելը կօգնի նվազեցնել սպասման ժամանակը` ստեղծելով նոր ամենակարճ երթուղի որոշ օգտվողների համար: Երկու մեթոդներն էլ օգնում են բարելավել ծառայության կայունությունը, քանի որ ցանցում հասանելի են դառնում նոր սերվերներ: Այս կերպ, եթե սերվերը գերբեռնված է, դուք կարող եք պարզապես տեղակայել մեկ ուրիշը մի վայրում, որը թույլ է տալիս նրան ընդունել գերբեռնված սերվերի հարցումների որոշ մասը: Սա չի պահանջում որևէ կոնֆիգուրացիա հաճախորդների կողմից: 

Միայն այս կերպ կարող են սպասարկվել տրաֆիկի տերաբիթներ և շատ մեծ թվով օգտատերեր, երբ սերվերն ունի ընդամենը մի քանի 10 կամ 25 Գբիտ/վ արագությամբ պորտեր: Մեկ IP հասցեով 100 հոսթ հնարավորություն կտա մշակել տերաբիտ տրաֆիկի ծավալներ։

Հեշտ կազմաձևման կառավարում

Ինչպես նշվեց վերևում, Anycast-ի հետաքրքիր օգտագործումը DNS-ն է: Դուք կարող եք տեղադրել մի քանի տարբեր DNS սերվերներ ցանցի հանգույցներում, բայց օգտագործել մեկ DNS հասցե: Կախված նրանից, թե որտեղ է գտնվում աղբյուրը, հարցումները ուղղվում են դեպի մոտակա հանգույց: Սա ապահովում է որոշակի երթևեկի հավասարակշռում և ավելորդություն DNS սերվերի ձախողման դեպքում: Այս կերպ, տարբեր DNS սերվերներ կազմաձևելու փոխարեն՝ կախված դրանց գտնվելու վայրից, մեկ DNS սերվերի կոնֆիգուրացիան կարող է տարածվել բոլոր հանգույցներում:

Anycast ցանցերը կարող են կազմաձևվել այնպես, որ ուղղորդեն հարցումները ոչ միայն հեռավորության վրա, այլ նաև այնպիսի պարամետրերի, ինչպիսիք են սերվերի առկայությունը, հաստատված կապերի քանակը: կամ արձագանքման ժամանակը:

Anycast տեխնոլոգիան օգտագործելու համար հաճախորդի կողմից հատուկ սերվերներ, ցանցեր կամ հատուկ բաղադրիչներ չեն պահանջվում: Բայց Anycast-ն ունի նաև իր բացասական կողմերը: Ենթադրվում է, որ դրա իրականացումը բարդ խնդիր է, որը պահանջում է լրացուցիչ սարքավորումներ, հուսալի մատակարարներ և երթևեկության պատշաճ երթուղի:

Հեռու մաքուր աղբյուրից մինչև գեղեցկություն

Չնայած Anycast-ն ուղղորդում է օգտատերերին՝ հիմնվելով ամենաքիչ թռիչքների վրա, դա պարտադիր չէ, որ նշանակում է ամենացածր հետաձգում: Լատենտությունը ավելի բարդ չափիչ է, քանի որ այն կարող է ավելի բարձր լինել մեկ անցման դեպքում, քան տասը:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Օրինակ. Միջմայրցամաքային հաղորդակցությունը կարող է ներառել մեկ հոպ՝ շատ բարձր հետաձգմամբ:

Anycast-ը հիմնականում օգտագործվում է UDP-ի վրա հիմնված ծառայությունների համար, ինչպիսիք են DNS-ը: Օգտատիրոջ հարցումները ուղղվում են դեպի «լավագույն» և «ամենամոտ» տվյալների կենտրոն՝ հիմնված BGP երթուղիների վրա:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Օրինակ. DNS հաճախորդի աշխատանքային կայանը Anycast DNS IP հասցեով 123.10.10.10 կատարում է DNS լուծում մինչև երեք DNS անունների սերվերներ, որոնք տեղակայված են նույն Anycast IP հասցեով: Եթե ​​R1 երթուղիչը կամ A սերվերը ձախողվեն, DNS հաճախորդի փաթեթներն ավտոմատ կերպով կուղարկվեն հաջորդ ամենամոտ DNS սերվերին R2 և R3 երթուղիչների միջոցով: Բացի այդ, դեպի մեր սերվեր A երթուղին կհեռացվի երթուղային աղյուսակներից՝ կանխելով այդ անունների սերվերի հետագա օգտագործումը:

Տեղակայման սցենարներ

Գոյություն ունեն երկու ընդհանուր սխեմաներ, որոնք օգտագործվում են որոշելու համար, թե որ սերվերին է միանում օգտվողը.

  • Anycast ցանցային շերտ. Օգտագործողին միացնում է մոտակա սերվերին: Այստեղ կարևոր է օգտատերից մինչև սերվեր ցանցի ուղին:
  • Դիմումի մակարդակը anycast. Այս սխեման ունի ավելի շատ հաշվարկված չափումներ, ներառյալ սերվերի առկայությունը, արձագանքման ժամանակը, կապերի քանակը և այլն: Սա կախված է արտաքին մոնիտորից, որն ապահովում է ցանցի վիճակագրությունը:

CDN՝ հիմնված Anycast-ի վրա

Այժմ վերադառնանք Anycast-ի օգտագործմանը բովանդակության առաքման ցանցերում: Anycast-ը, անշուշտ, հետաքրքիր ցանցային հայեցակարգ է և աճող ընդունում է ստանում հաջորդ սերնդի CDN մատակարարների շրջանում:

CDN-ը սերվերների բաշխված ցանց է, որը բովանդակություն է մատուցում վերջնական օգտագործողներին բարձր հասանելիությամբ և ցածր ուշացումով: Բովանդակության առաքման ցանցերն այսօր կարևոր դեր են խաղում որպես առցանց մեդիա ծառայությունների ողնաշար, և սպառողները գնալով ավելի քիչ են հանդուրժում ներբեռնման դանդաղ արագությունը: Վիդեո և ձայնային հավելվածները հատկապես զգայուն են ցանցի ցնցումների և հետաձգման նկատմամբ:

CDN-ը միացնում է բոլոր սերվերները մեկ ցանցի մեջ և ապահովում բովանդակության ավելի արագ բեռնում: Երբեմն հնարավոր է լինում կրճատել օգտատիրոջ սպասման ժամանակը 5-6 վայրկյանով։ CDN-ի նպատակն է օպտիմալացնել առաքումը` մատուցելով բովանդակություն սերվերից, որն ամենամոտն է վերջնական օգտագործողին: Սա շատ նման է Anycast-ին, որտեղ ամենամոտ սերվերն ընտրվում է վերջնական օգտագործողի գտնվելու վայրի հիման վրա: Թվում է, թե յուրաքանչյուր CDN ծառայության մատակարար կօգտագործի Anycast լռելյայն, բայց իրականում դա այդպես չէ:

Հավելվածները, որոնք օգտագործում են արձանագրություններ, ինչպիսիք են HTTP/TCP-ն, հիմնված են հաստատված կապի վրա: Եթե ​​ընտրվի նոր Anycast հանգույց (օրինակ՝ սերվերի ձախողման պատճառով), ծառայությունը կարող է ընդհատվել: Ահա թե ինչու Anycast-ը նախկինում առաջարկվում էր առանց կապի ծառայությունների համար, ինչպիսիք են UDP և DNS: Այնուամենայնիվ, Anycast-ը լավ է աշխատում նաև կապի վրա հիմնված արձանագրությունների համար, օրինակ, TCP-ն լավ է աշխատում Anycast ռեժիմում:

Որոշ CDN պրովայդերներ օգտագործում են Anycast-ի վրա հիմնված երթուղում, մյուսները նախընտրում են DNS-ի վրա հիմնված երթուղիներ. ամենամոտ սերվերն ընտրվում է այն բանի հիման վրա, թե որտեղ է գտնվում օգտագործողի DNS սերվերը:

Հիբրիդային և բազմաբնույթ տվյալների կենտրոնների ենթակառուցվածքները Anycast-ի օգտագործման ևս մեկ օրինակ են: Պրովայդերից ստացված Load Balancing IP հասցեն թույլ է տալիս բաշխել բեռը մատակարարի տվյալների կենտրոնում տարբեր հաճախորդների ծառայությունների IP հասցեների միջև: Ցանկացած սարքի տեխնոլոգիայի շնորհիվ այն ապահովում է ավելի լավ կատարողականություն ծանր երթևեկության պայմաններում, սխալների հանդուրժողականություն և օգնում է օպտիմալացնել արձագանքման ժամանակը, երբ գործ ունենք մեծ թվով օգտատերերի հետ:

Հիբրիդային բազմաբնույթ տվյալների կենտրոնների ենթակառուցվածքներում դուք կարող եք բաշխել երթևեկությունը սերվերների կամ նույնիսկ հատուկ սերվերների վիրտուալ մեքենաների միջև:

Այսպիսով, շինարարական ենթակառուցվածքների տեխնիկական լուծումների հսկայական ընտրություն կա: Դուք կարող եք նաև կարգավորել բեռների հավասարակշռումը IP հասցեների միջև բազմաթիվ տվյալների կենտրոններում՝ թիրախավորելով խմբի ցանկացած սարք՝ կայքի արդյունավետությունը օպտիմալացնելու համար:

Դուք կարող եք բաշխել տրաֆիկը ձեր սեփական կանոնների համաձայն՝ սահմանելով յուրաքանչյուր տվյալների կենտրոնի բաշխված սերվերների «կշիռը»: Այս կոնֆիգուրացիան հատկապես օգտակար է, երբ կա բաշխված սերվերի պարկ, և ծառայությունների կատարումը անհավասար է: Սա թույլ կտա ավելի հաճախակի բաշխել տրաֆիկը` սերվերի աշխատանքը բարելավելու համար:

Մոնիտորինգի համակարգ ստեղծելու համար, օգտագործելով ping հրամանը, հնարավոր է կարգավորել զոնդերը: Սա թույլ է տալիս ադմինիստրատորին սահմանել մոնիտորինգի իրենց ընթացակարգերը և ավելի հստակ պատկերացում կազմել ենթակառուցվածքում յուրաքանչյուր բաղադրիչի կարգավիճակի մասին: Այս կերպ կարելի է սահմանել մատչելիության չափանիշները։

Հնարավոր է կառուցել հիբրիդային ենթակառուցվածք. երբեմն հարմար է կորպորատիվ ցանցում թողնել back office-ը և ինտերֆեյսի մասը մատակարարել մատակարարին:

Հնարավոր է ավելացնել SSL սերտիֆիկատներ ծանրաբեռնվածության հավասարակշռման, փոխանցված տվյալների կոդավորման և կայքի այցելուների և կորպորատիվ ենթակառուցվածքի միջև հաղորդակցության անվտանգության համար: Տվյալների կենտրոնների միջև բեռի հավասարակշռման դեպքում կարող է օգտագործվել նաև SSL-ը։

Anycast ծառայությունը հասցեի բեռի հավասարակշռմամբ կարելի է ձեռք բերել ձեր մատակարարից: Այս գործառույթը կօգնի բարելավել օգտատերերի փոխազդեցությունը հավելվածների հետ՝ կախված գտնվելու վայրից: Բավական է միայն հայտարարել, թե տվյալների կենտրոնում ինչ ծառայություններ կան, և երթևեկությունը կվերահղվի դեպի մոտակա ենթակառուցվածք։ Եթե ​​կան հատուկ սերվերներ, օրինակ՝ Ֆրանսիայում կամ Հյուսիսային Ամերիկայում, ապա հաճախորդները կուղղորդվեն ցանցի մոտակա սերվերին:

Anycast-ի օգտագործման տարբերակներից մեկը օպերատորի ներկայության կետի (PoP) օպտիմալ ընտրությունն է: Եկեք տանք օրինակ. LinkedIn-ը (արգելափակված Ռուսաստանում) ձգտում է ոչ միայն բարելավել իր արտադրանքի աշխատանքը և արագությունը՝ բջջային և վեբ հավելվածներ, այլ նաև բարելավել իր ցանցային ենթակառուցվածքը՝ բովանդակության ավելի արագ առաքման համար: Այս դինամիկ բովանդակության առաքման համար LinkedIn-ը ակտիվորեն օգտագործում է PoP-ներ՝ ներկայության կետեր: Anycast-ն օգտագործվում է օգտվողներին մոտակա PoP-ին ուղղորդելու համար:

Պատճառն այն է, որ Unycast-ի դեպքում յուրաքանչյուր LinkedIn PoP ունի յուրահատուկ IP հասցե։ Այնուհետև օգտվողները նշանակվում են PoP-ին՝ ելնելով իրենց աշխարհագրական դիրքից՝ օգտագործելով DNS: Խնդիրն այն է, որ DNS-ի օգտագործման ժամանակ ԱՄՆ-ի օգտատերերի մոտ 30%-ը վերահղվել է դեպի ոչ օպտիմալ PoP: Anycast-ի փուլային ներդրմամբ PoP-ի ենթաօպտիմալ նշանակումը 31%-ից իջավ մինչև 10%:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Փորձնական թեստի արդյունքները ներկայացված են գրաֆիկում, որտեղ Y-առանցքը օպտիմալ PoP նշանակման տոկոսն է: Երբ Anycast-ը աճեց, ԱՄՆ շատ նահանգներ տեսան բարելավում դեպի օպտիմալ PoP տրաֆիկի տոկոսը:

Anycast ցանցի մոնիտորինգ

Anycast ցանցերը տեսականորեն պարզ են. մի քանի ֆիզիկական սերվերներին հատկացվում է նույն IP հասցեն, որը BGP-ն օգտագործում է երթուղին որոշելու համար: Բայց Anycast պլատֆորմների ներդրումն ու նախագծումը բարդ է, և դրանով հատկապես հայտնի են սխալների հանդուրժող Anycast ցանցերը: Նույնիսկ ավելի դժվար է Anycast ցանցի արդյունավետ մոնիտորինգը՝ սխալներն արագ հայտնաբերելու և մեկուսացնելու համար:

Եթե ​​ծառայություններն օգտագործում են երրորդ կողմի CDN մատակարար՝ իրենց բովանդակությունը սպասարկելու համար, նրանց համար շատ կարևոր է վերահսկել և ստուգել ցանցի աշխատանքը: Anycast-ի վրա հիմնված CDN մոնիտորինգը կենտրոնանում է ծայրից ծայր հետաձգման և նախավերջին հոպի կատարողականի չափման վրա՝ հասկանալու համար, թե որ տվյալների կենտրոնն է սպասարկում բովանդակությունը: HTTP սերվերի վերնագրերը վերլուծելը ևս մեկ միջոց է որոշելու, թե որտեղից են գալիս տվյալները:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Օրինակ՝ HTTP պատասխանի վերնագրեր, որոնք ցույց են տալիս CDN սերվերի գտնվելու վայրը:

Օրինակ, CloudFlare-ն օգտագործում է իր սեփական CF-Ray վերնագիրը HTTP Response հաղորդագրություններում, որը ներառում է տվյալների կենտրոնի նշում, որին ուղարկվել է հարցումը: Zendesk-ի դեպքում Սիեթլի շրջանի CF-Ray վերնագիրը CF-RAY է՝ 2a21675e65fd2a3d-SEA, իսկ Ամստերդամի համար՝ CF-RAY՝ 2a216896b93a0c71-AMS: Կարող եք նաև օգտագործել HTTP-X վերնագրերը HTTP պատասխանից՝ որոշելու, թե որտեղ է գտնվում բովանդակությունը:

Հասցեավորման այլ մեթոդներ

Գոյություն ունեն հասցեագրման այլ մեթոդներ՝ օգտատերերի հարցումները դեպի որոշակի ցանցի վերջնակետ ուղղորդելու համար.

Unicast- ը

Ինտերնետի մեծ մասն այսօր օգտագործում է այս մեթոդը: Unicast - unicast փոխանցում, IP հասցեն կապված է ցանցի միայն մեկ կոնկրետ հանգույցի հետ: Սա կոչվում է մեկ առ մեկ համընկնում: 

Multicast

Multicast-ը օգտագործում է մեկ-շատ-շատ կամ շատ-շատ-շատ հարաբերություններ: Multicast-ը թույլ է տալիս ուղարկողի հարցումը միաժամանակ ուղարկել տարբեր ընտրված վերջնակետեր: Սա հաճախորդին հնարավորություն է տալիս միաժամանակ մի քանի հոսթից ֆայլ ներբեռնել կտորներով (ինչն օգտակար է աուդիո կամ վիդեո հոսքի համար): Multicast-ը հաճախ շփոթվում է Anycast-ի հետ: Այնուամենայնիվ, հիմնական տարբերությունն այն է, որ Anycast-ը ուղարկողին ուղղորդում է մեկ կոնկրետ հանգույց, նույնիսկ եթե մի քանի հանգույցներ կան:

Տարածել

Մեկ ուղարկողի տվյալների գծապատկերը փոխանցվում է հեռարձակման հասցեի հետ կապված բոլոր վերջնակետերին: Ցանցը ավտոմատ կերպով կրկնօրինակում է տվյալների գրամները, որպեսզի կարողանա հեռարձակման բոլոր հասցեատերերին հասնել (սովորաբար նույն ենթացանցում):

Geocast

Geocast-ը որոշ չափով նման է Multicast-ին. ուղարկողի հարցումներն ուղարկվում են մի քանի վերջնակետեր միաժամանակ: Սակայն տարբերությունն այն է, որ հասցեատերը որոշվում է իր աշխարհագրական դիրքով։ Սա multicast-ի մասնագիտացված ձև է, որն օգտագործվում է որոշ երթուղային արձանագրությունների կողմից շարժական ժամանակավոր ցանցերի համար:

Աշխարհագրական երթուղիչը հաշվարկում է իր սպասարկման տարածքը և մոտավորացնում այն: Georouters, փոխանակելով սպասարկման տարածքները, կառուցել երթուղային աղյուսակներ: Գեորորութային համակարգն ունի հիերարխիկ կառուցվածք։

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Unicast, Multicast և Broadcast:

Anycast տեխնոլոգիայի օգտագործումը բարձրացնում է DNS-ի հուսալիության, սխալների հանդուրժողականության և անվտանգության մակարդակը: Օգտագործելով այս տեխնոլոգիան՝ օպերատորներն իրենց հաճախորդներին առաջարկում են ծառայություններ DNS-ի վրա հիմնված բեռի հավասարակշռման տարբեր տեսակների համար: Կառավարման վահանակում կարող եք նշել IP հասցեները, որոնց հարցումները կուղարկվեն՝ կախված աշխարհագրական դիրքից: Սա հաճախորդներին հնարավորություն կտա ավելի ճկուն կերպով բաշխել օգտվողների հարցումները:

Որոշ օպերատորներ ներդնում են երթուղու մոնիտորինգի հնարավորություններ յուրաքանչյուր ներկայության կետում (POP). համակարգը ավտոմատ կերպով վերլուծում է ամենակարճ տեղական և գլոբալ երթուղիները ներկայության կետերի համար և դրանք ուղղորդում է ամենացածր հետաձգման աշխարհագրական վայրերով՝ զրոյական պարապուրդով:

Այս պահին Anycast-ը ամենակայուն և հուսալի լուծումն է բարձր բեռնվածության DNS ծառայությունների ստեղծման համար, որոնք ունեն կայունության և հուսալիության բարձր պահանջներ։

.ru տիրույթն աջակցում է 35 Anycast DNS սերվերներ՝ խմբավորված 20 հանգույցների մեջ, որոնք բաշխված են հինգ Anycast ամպերի վրա: Այս դեպքում օգտագործվում է աշխարհագրական բնութագրերի վրա հիմնված շինարարության սկզբունքը, այսինքն. Geocast. DNS հանգույցներ տեղադրելիս նախատեսվում է, որ դրանք կտեղափոխվեն աշխարհագրորեն ցրված վայրեր, որոնք մոտ են ամենաակտիվ օգտատերերին, ռուսական պրովայդերների առավելագույն կոնցենտրացիան այն կետում, որտեղ գտնվում է, ինչպես նաև ազատ հզորության առկայություն և հեշտություն: փոխազդեցություն կայքի հետ:

Ինչպե՞ս կառուցել CDN:

CDN-ը սերվերների ցանց է, որն արագացնում է բովանդակության առաքումը օգտվողներին: Բովանդակության առաքման ցանց միավորում է բոլոր սերվերները մեկ ցանցի մեջ և ապահովում բովանդակության ավելի արագ բեռնում: Սերվերից մինչև օգտագործող հեռավորությունը կարևոր դեր է խաղում բեռնման արագության մեջ:

CDN-ն թույլ է տալիս օգտագործել սերվերներ, որոնք առավել մոտ են թիրախային լսարանին: Սա նվազեցնում է սպասման ժամանակը և օգնում է արագացնել կայքի բովանդակության բեռնումը բոլոր այցելուների համար, ինչը հատկապես կարևոր է մեծ ֆայլեր կամ մուլտիմեդիա ծառայություններ ունեցող կայքերի համար: CDN-ի համար բնորոշ հավելվածներն են էլեկտրոնային առևտուրը և զվարճանքը:

CDN ենթակառուցվածքում ստեղծված լրացուցիչ սերվերների ցանցը, որոնք հնարավորինս մոտ են գտնվում օգտատերերին, նպաստում են տվյալների ավելի կայուն և արագ առաքմանը։ Վիճակագրության համաձայն, CDN-ի օգտագործումը նվազեցնում է ուշացումը կայք մուտք գործելիս ավելի քան 70%-ով՝ համեմատած առանց CDN կայքերի:

Ինչպես ստեղծել CDN՝ օգտագործելով DNS? Anycast-ի սեփական լուծումով CDN-ի ստեղծումը կարող է բավականին թանկ նախագիծ լինել, բայց կան ավելի էժան տարբերակներ: Օրինակ՝ կարող եք օգտագործել GeoDNS և սովորական սերվերներ՝ յուրահատուկ IP հասցեներով: Օգտագործելով GeoDNS ծառայությունները, դուք կարող եք ստեղծել CDN՝ աշխարհագրական տեղաբաշխման հնարավորություններով, որտեղ որոշումները կայացվում են ոչ թե DNS լուծիչի, այլ այցելուի իրական գտնվելու վայրի հիման վրա: Դուք կարող եք կարգավորել ձեր DNS գոտին, որպեսզի ցույց տա ԱՄՆ սերվերի IP հասցեները ԱՄՆ այցելուներին, բայց եվրոպացի այցելուները կտեսնեն եվրոպական IP հասցեն:

GeoDNS-ի միջոցով դուք կարող եք վերադարձնել տարբեր DNS պատասխաններ՝ կախված օգտագործողի IP հասցեից: Դա անելու համար DNS սերվերը կազմաձևված է այնպես, որ վերադարձնի տարբեր IP հասցեներ՝ կախված հարցումի աղբյուրի IP հասցեից: Սովորաբար, GeoIP տվյալների բազան օգտագործվում է որոշելու տարածաշրջանը, որտեղից հարցում է արվում: DNS-ի միջոցով աշխարհագրական դիրքը թույլ է տալիս բովանդակություն ուղարկել օգտատերերին մոտակա կայքից:

GeoDNS-ը որոշում է հաճախորդի IP հասցեն, որն ուղարկել է DNS հարցումը, կամ մատակարարի ռեկուրսիվ DNS սերվերի IP հասցեն, որն օգտագործվում է հաճախորդի հարցումը մշակելիս: Երկիրը/տարածաշրջանը որոշվում է հաճախորդի IP-ի և GeoIP տվյալների բազայի միջոցով: Այնուհետև հաճախորդը ստանում է մոտակա CDN սերվերի IP հասցեն: Դուք կարող եք ավելին կարդալ GeoDNS-ի ստեղծման մասին այստեղ.

Anycast, թե GeoDNS:

Թեև Anycast-ը համաշխարհային մասշտաբով բովանդակություն մատուցելու հիանալի միջոց է, այն չունի կոնկրետություն: Այստեղ է, որ օգնության է գալիս GeoDNS-ը: Այս ծառայությունը թույլ է տալիս ստեղծել կանոններ, որոնք օգտվողներին ուղարկում են եզակի վերջնակետեր՝ ելնելով նրանց գտնվելու վայրից:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում
Օրինակ. Եվրոպայից օգտվողները ուղղորդվում են այլ վերջնակետ:

Դուք կարող եք նաև մերժել մուտքը տիրույթներ՝ մերժելով բոլոր հարցումները: Սա, մասնավորապես, ներխուժողներին կտրելու արագ միջոց է:

GeoDNS-ը տալիս է ավելի ճշգրիտ պատասխաններ, քան Anycast-ը: Եթե ​​Anycast-ի դեպքում ամենակարճ երթուղին որոշվում է հոփերի քանակով, ապա GeoDNS-ում վերջնական օգտագործողների երթուղավորումը տեղի է ունենում՝ կախված նրանց ֆիզիկական գտնվելու վայրից: Սա նվազեցնում է հետաձգումը և բարելավում է ճշգրտությունը հատիկավոր երթուղային կանոններ ստեղծելիս:

Դոմեյն նավարկելու ժամանակ զննարկիչը կապվում է մոտակա DNS սերվերի հետ, որը, կախված տիրույթից, թողարկում է IP հասցե՝ կայքը բեռնելու համար: Ենթադրենք, որ առցանց խանութը հայտնի է ԱՄՆ-ում և Եվրոպայում, սակայն դրա համար նախատեսված DNS սերվերները հասանելի են միայն Եվրոպայում։ Այնուհետև ԱՄՆ օգտատերերը, ովքեր ցանկանում են օգտվել խանութի ծառայություններից, ստիպված կլինեն հարցում ուղարկել մոտակա սերվերին, և քանի որ այն շատ հեռու է, նրանք ստիպված կլինեն երկար սպասել պատասխանին. կայքը արագ չի բեռնվի:

Երբ GeoDNS սերվերը գտնվում է ԱՄՆ-ում, օգտվողներն արդեն մուտք կունենան այն: Պատասխանը կլինի արագ, ինչը կազդի կայքի բեռնման արագության վրա։

Միացյալ Նահանգներում գոյություն ունեցող DNS սերվերի հետ կապված իրավիճակում, երբ ԱՄՆ-ից օգտվողը նավարկում է տվյալ տիրույթ, նա կապ կհաստատի մոտակա սերվերի հետ, որը կտրամադրի անհրաժեշտ IP-ն: Օգտագործողը կուղղվի դեպի այն սերվերը, որը պարունակում է կայքի բովանդակությունը, բայց քանի որ բովանդակությամբ սերվերները հեռու են, նա այն արագ չի ստանա։

Եթե ​​դուք ԱՄՆ-ում հյուրընկալում եք CDN սերվերներ քեշավորված տվյալներով, ապա հաճախորդի բրաուզերը բեռնելուց հետո հարցում կուղարկի մոտակա DNS սերվերին, որը հետ կուղարկի անհրաժեշտ IP հասցեն: Ստացված IP-ով զննարկիչը կապվում է մոտակա CDN սերվերի և հիմնական սերվերի հետ, իսկ CDN սերվերը սպասարկում է քեշավորված բովանդակությունը դիտարկիչին: Մինչ պահված բովանդակությունը բեռնվում է, ֆայլերը, որոնք բացակայում են ամբողջական կայքը բեռնելու համար, ստացվում են հիմնական սերվերից: Արդյունքում, կայքի բեռնման ժամանակը կրճատվում է, քանի որ շատ ավելի քիչ ֆայլեր են ուղարկվում հիմնական սերվերից:

Կոնկրետ IP հասցեի ճշգրիտ գտնվելու վայրը որոշելը միշտ չէ, որ հեշտ գործ է. շատ գործոններ են գործում, և IP հասցեների տիրույթի սեփականատերերը կարող են որոշել այն գովազդել աշխարհի մյուս ծայրում (այնուհետև պետք է սպասել տվյալների բազայի թարմացնել՝ ճիշտ գտնվելու վայրը ստանալու համար): Երբեմն VPS պրովայդերները նշանակում են հասցեներ, որոնք ենթադրաբար գտնվում են ԱՄՆ-ում Սինգապուրի VPS-ին:

Ի տարբերություն Anycast հասցեների օգտագործման, բաշխումը կատարվում է անվան լուծման ժամանակ, այլ ոչ թե քեշավորման սերվերին միանալու ժամանակ: Եթե ​​ռեկուրսիվ սերվերը չի աջակցում EDNS հաճախորդի ենթացանցերին, ապա օգտագործվում է այդ ռեկուրսիվ սերվերի գտնվելու վայրը, քան այն օգտվողը, ով կմիանա քեշավորման սերվերին:

Client Subnets-ը DNS-ում DNS-ի (RFC7871) ընդլայնումն է, որը սահմանում է, թե ինչպես ռեկուրսիվ DNS սերվերները կարող են հաճախորդի տեղեկությունները ուղարկել DNS սերվերին, մասնավորապես՝ ցանցային տեղեկատվությունը, որը GeoDNS սերվերը կարող է օգտագործել հաճախորդի գտնվելու վայրը ավելի ճշգրիտ որոշելու համար:

Շատերն օգտագործում են իրենց ISP-ի DNS սերվերները կամ DNS սերվերները, որոնք աշխարհագրորեն մոտ են իրենց, բայց եթե ԱՄՆ-ում ինչ-որ մեկը ինչ-ինչ պատճառներով որոշի օգտագործել Ավստրալիայում տեղակայված DNS լուծիչ, նրանք, ամենայն հավանականությամբ, կստանան Ավստրալիային ամենամոտ IP սերվերի հասցե:

Եթե ​​ցանկանում եք օգտագործել GeoDNS-ը, կարևոր է տեղյակ լինել այս հնարավորությունների մասին, քանի որ որոշ դեպքերում դա կարող է մեծացնել քեշավորման սերվերների և հաճախորդի միջև հեռավորությունը:

Ամփոփում․ եթե ցանկանում եք միավորել մի քանի VPS CDN-ի մեջ, ապա տեղակայման լավագույն տարբերակն է օգտագործել DNS սերվերի փաթեթը GeoDNS + Anycast ֆունկցիայից դուրս:

Anycast vs Unicast. որն է ավելի լավ ընտրել յուրաքանչյուր դեպքում

Source: www.habr.com

Добавить комментарий