Кіріспе

Желілік адрестеу және маршруттау әдістемесі

Anycast – бірнеше орналасқан құрылғылар (көбінесе серверлер) бір IP-адресті бөлісетін желілік адрестеу және маршруттау әдістемесі. Маршрутизаторлар осы адреске бағытталған пакеттерді олардың әдеттегі шешім қабылдау алгоритмдерін қолдана отырып, жөнелтушіге ең жақын орналасқан жерге жібереді, әдетте BGP желілік секірулерінің ең аз саны бойынша. Anycast маршрутизациясы веб- және домен серверлері сияқты контент жеткізу желілерінде кеңінен қолданылады, бұл олардың контентін соңғы пайдаланушыларға жақындатуға мүмкіндік береді.

Тарих

Интернетке қосылған қызметтердің топологиялық жүктемені теңдестіру үшін anycast маршруттауын алғаш рет 1989 жылы қолданған; бұл техника төрт жылдан кейін IETF-те ресми түрде құжатталды. 2001 жылы I түбірлік атау серверінің anycast-і арқылы бұл әдіс алғаш рет маңызды инфрақұрылымда қолданылды. Немесе "сағатына он мыңнан кем ағын" және HTTP сияқты кейбір TCP-негізделген протоколдар "қайта бағыттау" механизмдерін енгізді, олар арқылы anycast қызметтерінің адрестерін пайдаланып қызметтің ең жақын мысалын табуға болады, содан кейін пайдаланушы ұзақ мерзімді байланыс орнату алдында осы нақты мысалға қайта бағытталады.

Интернет протоколының 4-нұсқасы

Anycast Border Gateway Protocol (BGP) арқылы іске асырылуы мүмкін. Көптеген хосттарға (көбінесе әртүрлі географиялық аймақтарда) бірдей біржолғы IP-адрес беріледі және осы адреске әртүрлі маршруттар BGP арқылы жарияланады. Маршрутизаторлар оларды бірдей пунктке бағытталатын балама маршруттар ретінде қарастырады, бірақ шындығында олар бірдей адреспен әртүрлі пункттерге бағытталатын маршруттар болып табылады. Көбінесе маршрутизаторлар қолданылатын қашықтық өлшемдеріне сүйене отырып маршрутты таңдайды (ең төменгі құн, ең аз қысылыс, ең қысқа). Осы схемада маршрутты таңдау – нақты мақсатты таңдаумен бірдей.

Интернет протоколының 6-шы нұсқасы

Anycast IPv6 адрестеу архитектурасында тікелей қолдау көрсетіледі. IPv6 қосалқы желісіндегі ең төменгі мекенжай (интерфейс идентификаторы 0) "қосалқы желі маршрутизаторы" anycast мекенжайы ретінде резервтеледі. Бұдан өзге, бір қосалқы желідегі ең жоғары 128 интерфейс идентификаторы да anycast мекенжайы ретінде резервтеледі. Желі арқылы anycast пакетінің жолындағы көптеген IPv6 маршрутизаторлары оны біржолғы пакеттен ажырата алмайды, бірақ мақсатқа жақын маршрутизаторлардан (яғни anycast мекенжайының қол жетімділік аймағында) ерекше өңдеу талап етіледі, себебі олар anycast пакетін сол аймақтағы тиісті anycast мекенжайы бар "жақын" интерфейске бағыттауға міндетті, қашықтықты өлшеу әдісіне (хоп саны, құны және т.б.) сәйкес. IPv4-те тағайындалған біржолғы мекенжайларды көбейту үшін BGP-де бірнеше маршруттарды жариялау әдісі IPv6-да да қолданылады және пакеттерді бірдей мекенжайға ие, географиялық тұрғыдан шашыраңқы орналасқан хосттардың ең жақын жеріне бағыттауға мүмкіндік береді. Бұл тәсіл anycast-ты түсінетін маршрутизаторларға тәуелді емес, IPv4-тегідей бірдей қолданылу жағдайларына және сол проблемалар мен шектеулерге ие.

Қолданбалар

Интернеттің дамуымен желілік қызметтердің жоғары сенімділік талаптары артып келеді. Осының салдарынан, желі операторлары арасында anycast қызметтерін пайдалану кеңінен таралды.

Домендік атаулар жүйесі

Барлық Интернет тамыр атау серверлері anycast адрестеуді қолданатын хосттардың кластерлері ретінде жүзеге асырылады. A-ден M-ге дейінгі барлық 13 тамыр сервері бірнеше орналасқан жерде бар, олардың 11-і бірнеше континентте орналасқан. (B және H тамыр серверлері АҚШ-тың екі орнында бар.) Серверлер орталықтандырылмаған қызмет ұсыну үшін anycast адресін жариялауды пайдаланады. Бұл АҚШ-тан тыс жерлерде физикалық (логикалық емес) тамыр серверлерін орналастыруды жеделдетті. Көптеген коммерциялық DNS провайдерлері сұрау өнімділігі мен сенімділігін арттыру және жүктемені бөлу үшін IP anycast ортасына көшті.

Қауіпсіздік

Anycast кез келген операторға, оның маршруттау ақпараты аралық маршруттандырушымен қабылданатын болса, anycast адресіне бағытталған кез келген пакеттерді тартып алуға мүмкіндік береді. Бұл көзқарасында қауіпсіз емес сияқты көрінсе де, бұл қарапайым IP-пакеттерді маршруттаудан ешқандай айырмашылығы жоқ және одан қауіпсіз немесе қауіпсіз емес емес. Дәстүрлі IP маршруттауындағыдай, маршрут жарияланымдарын таратуға кімге рұқсат етіледі және кімге рұқсат етілмейді дегенді мұқият сүзу адам арасындағы шабуылдарды немесе қара тесік шабуылдарын болдырмау үшін өте маңызды. Алғашқысын, мысалы, Транспорттық қабаттың қауіпсіздігін пайдалану арқылы хабарламаларды шифрлау және растау арқылы болдырмауға болады, ал соңғысын пияз маршруттауымен жеңуге болады.

Сенімділік

Anycast әдетте өте сенімді, себебі ол күрделілікті немесе жаңа қателіктер тудыру мүмкіндігінсіз автоматты түрде резервтік көшіруді қамтамасыз ете алады. Anycast қолданбалары әдетте сервердің жұмысын сыртқы "жүрек соғуы" арқылы бақылайды және сервер істен шықса маршрут жариялануын тоқтатады. Кейбір жағдайларда бұл OSPF немесе басқа IGP арқылы маршрутизаторға anycast префиксін жариялайтын серверлердің өзі арқылы жасалады. Егер серверлер істен шықса, маршрутизатор автоматты түрде жариялануды тоқтатады. "Жүрек соғуы" мүмкіндігі маңызды, өйткені жариялану істен шыққан сервер үшін жалғаса берсе, сервер жақын жердегі клиенттер үшін "қара тесік" болып табылады; бұл Anycast жүйесі үшін ең қауіпті сәтсіздік түрі. Осы жағдайда да, мұндай сәтсіздік тек осы серверге басқа серверлерге қарағанда жақын клиенттер үшін толық сәтсіздікке алып келеді және жаһандық сәтсіздікке себеп болмайды. Дегенмен, "жүрек соғуы" маршруттауды тоқтату үшін қажетті автоматтандырудың өзі 2021 жылғы Facebook торабының істен шығуында көрсетілгендей, қателік тудыруы мүмкін.

Қызмет көрсетуден бас тарту шабуылдарын азайту

Қызметтен бас тарту шабуылдары кезінде, қаскөй желілік хост өзін маңызды желілік қызмет үшін anycast сервері ретінде жарнамалап, жалған ақпарат беруі немесе қызметті тоқтатуы мүмкін. Интернеттегі anycast әдістемелерін DDoS шабуылдарын тарату және олардың тиімділігін төмендету үшін қолдануға болады: трафик ең жақын түйінге бағытталғандықтан, бұл процесс шабуылшының бақылауында болмайды, сондықтан DDoS трафигі ең жақын түйіндер арасында таралады. Осылайша, барлық түйіндерге әсер етпеуі мүмкін. Осы себепті anycast адрестеуді қолдану маңызды. Бұл техниканың тиімділігі anycast қызмет түйіндерімен байланысты барлық unicast адрестердің құпиялылығын сақтауға байланысты, себебі жеке түйіндердің unicast адрестерін білген шабуылшы кез келген жерден шабуылдай алады, осылайша anycast адрестеу әдістемелерін айналып өтеді.

Жергілікті және жаһандық тораптар

Интернеттегі кейбір anycast жүйелері жергілікті қауымдастыққа пайда келтіру үшін, жергілікті түйіндерге басымдық беріп, жергілікті және жаһандық түйіндерді ажыратады. Мысалы, Домендік атаулар жүйесін қарастырайық. Жергілікті түйіндер көбінесе "экспорттау жоқ" (no export) BGP қауымдастығымен жарияланады, бұл хосттардың оларды өз серіктеріне таратуын болдырмау үшін жасалады, яғни хабарлама жергілікті аймақта қалады. Егер жергілікті де, жаһандық та түйіндер орналастырылған болса, жаһандық түйіндерден келетін хабарламаларға көбінесе AS препенд жасалады (яғни AS бірнеше рет қосылады), бұл маршрутты ұзарту арқылы жергілікті түйіннің хабарламасына жаһандық түйіннің хабарламасынан артықшылық беруді қамтамасыз етеді.