Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση

Πολλοί άνθρωποι πιθανότατα έχουν ακούσει για το Anycast. Σε αυτήν τη μέθοδο διευθυνσιοδότησης και δρομολόγησης δικτύου, εκχωρείται μία μόνο διεύθυνση IP σε πολλούς διακομιστές σε ένα δίκτυο. Αυτοί οι διακομιστές μπορούν ακόμη και να βρίσκονται σε κέντρα δεδομένων απομακρυσμένα μεταξύ τους. Η ιδέα του Anycast είναι ότι, ανάλογα με τη θέση της πηγής αιτήματος, τα δεδομένα αποστέλλονται στον πλησιέστερο διακομιστή (σύμφωνα με την τοπολογία του δικτύου, πιο συγκεκριμένα, στο πρωτόκολλο δρομολόγησης BGP). Με αυτόν τον τρόπο, μπορείτε να μειώσετε τον αριθμό των αναπηδήσεων δικτύου και την καθυστέρηση.

Ουσιαστικά, η ίδια διαδρομή διαφημίζεται από πολλά κέντρα δεδομένων σε όλο τον κόσμο. Έτσι, οι πελάτες θα αποστέλλονται στα "καλύτερα" και "πλησιέστερα" με βάση τις διαδρομές BGP, το κέντρο δεδομένων. Γιατί Anycast; Γιατί να χρησιμοποιήσετε το Anycast αντί για το Unicast;

Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση
Το Unicast είναι πραγματικά κατάλληλο για έναν ιστότοπο με έναν διακομιστή web και μέτρια επισκεψιμότητα. Ωστόσο, εάν μια υπηρεσία έχει εκατομμύρια συνδρομητές, συνήθως χρησιμοποιεί πολλούς διακομιστές Ιστού, ο καθένας με την ίδια διεύθυνση 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 συχνά χρησιμοποιούν botnet, τα οποία μπορούν να δημιουργήσουν τόση κίνηση που υπερφορτώνουν τον διακομιστή που δέχεται επίθεση. Το πλεονέκτημα της χρήσης του Anycast σε αυτήν την περίπτωση είναι ότι κάθε διακομιστής μπορεί να "απορροφήσει" μέρος της επίθεσης, γεγονός που μειώνει το φόρτο στον συγκεκριμένο διακομιστή. Μια επίθεση άρνησης υπηρεσίας πιθανότατα θα εντοπιστεί στον διακομιστή και δεν θα επηρεάσει ολόκληρη την υπηρεσία.

Υψηλή οριζόντια επεκτασιμότητα

Τα συστήματα Anycast είναι κατάλληλα για υπηρεσίες με μεγάλο όγκο κίνησης. Εάν μια υπηρεσία που χρησιμοποιεί το Anycast απαιτεί νέους διακομιστές για τη διαχείριση της αυξημένης επισκεψιμότητας, μπορούν να προστεθούν νέοι διακομιστές στο δίκτυο για να το χειριστούν. Μπορούν να τοποθετηθούν σε νέους ή υπάρχοντες ιστότοπους. 

Εάν μια συγκεκριμένη τοποθεσία παρουσιάζει μεγάλη αύξηση της επισκεψιμότητας, τότε η προσθήκη ενός διακομιστή θα βοηθήσει στην εξισορρόπηση του φόρτου για αυτόν τον ιστότοπο. Η προσθήκη διακομιστή σε μια νέα τοποθεσία θα συμβάλει στη μείωση του χρόνου αναμονής δημιουργώντας μια νέα συντομότερη διαδρομή για ορισμένους χρήστες. Και οι δύο μέθοδοι συμβάλλουν επίσης στη βελτίωση της σταθερότητας της υπηρεσίας καθώς νέοι διακομιστές γίνονται διαθέσιμοι στο δίκτυο. Με αυτόν τον τρόπο, εάν ένας διακομιστής είναι υπερφορτωμένος, μπορείτε απλώς να αναπτύξετε έναν άλλο σε μια τοποθεσία που του επιτρέπει να δέχεται μέρος των αιτημάτων του υπερφορτωμένου διακομιστή. Αυτό δεν απαιτεί καμία ρύθμιση παραμέτρων από την πλευρά των πελατών. 

Μόνο με αυτόν τον τρόπο μπορούν να εξυπηρετηθούν terabit επισκεψιμότητας και ένας πολύ μεγάλος αριθμός χρηστών όταν ο διακομιστής διαθέτει μόνο λίγες θύρες 10 ή 25 Gbps. 100 κεντρικοί υπολογιστές με μία διεύθυνση IP θα καταστήσουν δυνατή την επεξεργασία όγκων κίνησης terabit.

Εύκολη διαχείριση διαμόρφωσης

Όπως σημειώθηκε παραπάνω, μια ενδιαφέρουσα χρήση του Anycast είναι το DNS. Μπορείτε να τοποθετήσετε πολλούς διαφορετικούς διακομιστές DNS σε κόμβους δικτύου, αλλά να χρησιμοποιήσετε μία διεύθυνση DNS. Ανάλογα με το πού βρίσκεται η πηγή, τα αιτήματα δρομολογούνται στον πλησιέστερο κόμβο. Αυτό παρέχει κάποια εξισορρόπηση κίνησης και πλεονασμό σε περίπτωση αποτυχίας διακομιστή DNS. Με αυτόν τον τρόπο, αντί να διαμορφώνονται διαφορετικοί διακομιστές DNS ανάλογα με το πού βρίσκονται, η διαμόρφωση ενός διακομιστή DNS μπορεί να μεταδοθεί σε όλους τους κόμβους.

Τα δίκτυα Anycast μπορούν να διαμορφωθούν για να δρομολογούν αιτήματα όχι μόνο με βάση την απόσταση, αλλά και με παραμέτρους όπως η παρουσία ενός διακομιστή, ο αριθμός των εγκατεστημένων συνδέσεων. ή χρόνο απόκρισης.

Δεν απαιτούνται ειδικοί διακομιστές, δίκτυα ή ειδικά στοιχεία από την πλευρά του πελάτη για τη χρήση της τεχνολογίας Anycast. Αλλά το Anycast έχει και τα αρνητικά του. Πιστεύεται ότι η υλοποίησή του είναι ένα πολύπλοκο έργο, που απαιτεί πρόσθετο εξοπλισμό, αξιόπιστους παρόχους και σωστή δρομολόγηση της κυκλοφορίας.

Μακριά από την καθαρή πηγή στην ομορφιά

Αν και το Anycast δρομολογεί τους χρήστες με βάση τα λιγότερα hops, αυτό δεν σημαίνει απαραίτητα τη χαμηλότερη καθυστέρηση. Η καθυστέρηση είναι μια πιο περίπλοκη μέτρηση επειδή μπορεί να είναι υψηλότερη για μία μετάβαση από ό,τι για δέκα.

Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση
Παράδειγμα: Οι διηπειρωτικές επικοινωνίες μπορεί να περιλαμβάνουν ένα μόνο hop με πολύ υψηλή καθυστέρηση.

Το Anycast χρησιμοποιείται κυρίως για υπηρεσίες που βασίζονται σε UDP, όπως το DNS. Τα αιτήματα των χρηστών δρομολογούνται στο "καλύτερο" και "πλησιέστερο" κέντρο δεδομένων με βάση τις διαδρομές BGP.

Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση
Παράδειγμα: Ένας σταθμός εργασίας πελάτη DNS με διεύθυνση IP Anycast DNS 123.10.10.10 εκτελεί ανάλυση DNS στον πλησιέστερο από τους τρεις διακομιστές ονομάτων DNS που αναπτύσσονται χρησιμοποιώντας την ίδια διεύθυνση IP Anycast. Εάν αποτύχει ο δρομολογητής R1 ή ο διακομιστής Α, τα πακέτα πελάτη DNS θα προωθηθούν αυτόματα στον επόμενο πλησιέστερο διακομιστή DNS μέσω των δρομολογητών R2 και R3. Επιπλέον, η διαδρομή προς τον διακομιστή μας Α θα αφαιρεθεί από τους πίνακες δρομολόγησης, αποτρέποντας την περαιτέρω χρήση αυτού του διακομιστή ονομάτων.

Σενάρια ανάπτυξης

Υπάρχουν δύο γενικά σχήματα που χρησιμοποιούνται για τον προσδιορισμό του διακομιστή στον οποίο συνδέεται ένας χρήστης:

  • Επίπεδο δικτύου Anycast. Συνδέει τον χρήστη στον πλησιέστερο διακομιστή. Η διαδρομή δικτύου από τον χρήστη στον διακομιστή είναι σημαντική εδώ.
  • Επίπεδο εφαρμογής anycast. Αυτό το σχήμα έχει περισσότερες υπολογισμένες μετρήσεις, συμπεριλαμβανομένης της διαθεσιμότητας διακομιστή, του χρόνου απόκρισης, του αριθμού των συνδέσεων κ.λπ. Αυτό εξαρτάται από μια εξωτερική οθόνη που παρέχει στατιστικά στοιχεία δικτύου.

CDN με βάση το Anycast

Ας επιστρέψουμε τώρα στη χρήση του Anycast σε δίκτυα παράδοσης περιεχομένου. Το Anycast είναι σίγουρα μια ενδιαφέρουσα ιδέα δικτύωσης και κερδίζει αυξανόμενη αποδοχή μεταξύ των παρόχων CDN επόμενης γενιάς.

Το CDN είναι ένα κατανεμημένο δίκτυο διακομιστών που παρέχει περιεχόμενο στους τελικούς χρήστες με υψηλή διαθεσιμότητα και χαμηλή καθυστέρηση. Τα δίκτυα παράδοσης περιεχομένου διαδραματίζουν σημαντικό ρόλο σήμερα ως η ραχοκοκαλιά πολλών διαδικτυακών υπηρεσιών πολυμέσων και οι καταναλωτές είναι όλο και λιγότερο ανεκτικοί στις αργές ταχύτητες λήψης. Οι εφαρμογές βίντεο και φωνής είναι ιδιαίτερα ευαίσθητες στο jitter και στον λανθάνοντα χρόνο δικτύου.

Ένα CDN συνδέει όλους τους διακομιστές σε ένα δίκτυο και εξασφαλίζει ταχύτερη φόρτωση περιεχομένου. Μερικές φορές είναι δυνατό να μειωθεί ο χρόνος αναμονής του χρήστη κατά 5-6 δευτερόλεπτα. Ο σκοπός ενός CDN είναι να βελτιστοποιήσει την παράδοση με την προβολή περιεχομένου από τον διακομιστή που βρίσκεται πιο κοντά στον τελικό χρήστη. Αυτό μοιάζει πολύ με το Anycast, όπου ο πλησιέστερος διακομιστής επιλέγεται με βάση την τοποθεσία του τελικού χρήστη. Φαίνεται ότι κάθε πάροχος υπηρεσιών CDN θα χρησιμοποιούσε το Anycast από προεπιλογή, αλλά στην πραγματικότητα αυτό δεν συμβαίνει.

Οι εφαρμογές που χρησιμοποιούν πρωτόκολλα όπως το HTTP/TCP βασίζονται στη σύνδεση που δημιουργείται. Εάν επιλεγεί ένας νέος κόμβος Anycast (για παράδειγμα, λόγω αποτυχίας διακομιστή), η υπηρεσία ενδέχεται να διακοπεί. Αυτός είναι ο λόγος για τον οποίο το Anycast συνιστούσε παλαιότερα για υπηρεσίες χωρίς σύνδεση, όπως το UDP και το DNS. Ωστόσο, το Anycast λειτουργεί καλά και για πρωτόκολλα προσανατολισμένα στη σύνδεση· για παράδειγμα, το TCP λειτουργεί καλά στη λειτουργία Anycast.

Ορισμένοι πάροχοι CDN χρησιμοποιούν δρομολόγηση που βασίζεται σε Anycast, άλλοι προτιμούν τη δρομολόγηση βάσει DNS: ο πλησιέστερος διακομιστής επιλέγεται με βάση το πού βρίσκεται ο διακομιστής DNS του χρήστη.

Οι υβριδικές και οι υποδομές κέντρων πολλαπλών δεδομένων είναι ένα άλλο παράδειγμα χρήσης του Anycast. Η διεύθυνση IP του Load Balancing που λαμβάνεται από τον πάροχο σάς επιτρέπει να κατανέμετε το φορτίο μεταξύ των διευθύνσεων IP διαφορετικών υπηρεσιών πελατών στο κέντρο δεδομένων του παρόχου. Χάρη στην τεχνολογία οποιασδήποτε συσκευής, παρέχει καλύτερη απόδοση κάτω από μεγάλη κυκλοφορία, ανοχή σφαλμάτων και βοηθά στη βελτιστοποίηση του χρόνου απόκρισης όταν αντιμετωπίζετε μεγάλο αριθμό χρηστών.

Σε υβριδικές υποδομές κέντρων πολλών δεδομένων, μπορείτε να διανείμετε την κυκλοφορία σε διακομιστές ή ακόμα και σε εικονικές μηχανές σε αποκλειστικούς διακομιστές.

Έτσι, υπάρχει μια τεράστια επιλογή τεχνικών λύσεων για κτιριακές υποδομές. Μπορείτε επίσης να διαμορφώσετε την εξισορρόπηση φορτίου σε διευθύνσεις IP σε πολλά κέντρα δεδομένων, στοχεύοντας οποιαδήποτε συσκευή σε μια ομάδα για βελτιστοποίηση της απόδοσης του ιστότοπου.

Μπορείτε να κατανείμετε την κυκλοφορία σύμφωνα με τους δικούς σας κανόνες, καθορίζοντας το «βάρος» καθενός από τους κατανεμημένους διακομιστές σε κάθε κέντρο δεδομένων. Αυτή η ρύθμιση παραμέτρων είναι ιδιαίτερα χρήσιμη όταν υπάρχει ένα κατανεμημένο πάρκο διακομιστή και η απόδοση των υπηρεσιών είναι άνιση. Αυτό θα επιτρέψει τη συχνότερη διανομή της κυκλοφορίας για τη βελτίωση της απόδοσης του διακομιστή.

Για να δημιουργήσετε ένα σύστημα παρακολούθησης χρησιμοποιώντας την εντολή ping, είναι δυνατή η διαμόρφωση των ανιχνευτών. Αυτό επιτρέπει στον διαχειριστή να ορίσει τις δικές του διαδικασίες παρακολούθησης και να αποκτήσει μια σαφέστερη εικόνα της κατάστασης κάθε στοιχείου στην υποδομή. Με αυτόν τον τρόπο, μπορούν να καθοριστούν κριτήρια προσβασιμότητας.

Είναι δυνατή η δημιουργία μιας υβριδικής υποδομής: μερικές φορές είναι βολικό να αφήσετε το back office στο εταιρικό δίκτυο και να αναθέσετε το τμήμα της διεπαφής σε τρίτους στον πάροχο.

Είναι δυνατή η προσθήκη πιστοποιητικών SSL για εξισορρόπηση φορτίου, κρυπτογράφηση των μεταδιδόμενων δεδομένων και ασφάλεια επικοινωνίας μεταξύ των επισκεπτών του ιστότοπου και της εταιρικής υποδομής. Σε περίπτωση εξισορρόπησης φορτίου μεταξύ κέντρων δεδομένων, μπορεί επίσης να χρησιμοποιηθεί SSL.

Μπορείτε να λάβετε υπηρεσία Anycast με εξισορρόπηση φορτίου διεύθυνσης από τον πάροχο σας. Αυτή η λειτουργία θα βοηθήσει στη βελτίωση του τρόπου με τον οποίο οι χρήστες αλληλεπιδρούν με τις εφαρμογές με βάση την τοποθεσία. Αρκεί να ανακοινώσετε ποιες υπηρεσίες είναι διαθέσιμες στο κέντρο δεδομένων και η κίνηση θα ανακατευθυνθεί στην πλησιέστερη υποδομή. Εάν υπάρχουν αποκλειστικοί διακομιστές, για παράδειγμα στη Γαλλία ή τη Βόρεια Αμερική, τότε οι πελάτες θα κατευθύνονται στον πλησιέστερο διακομιστή στο δίκτυο.

Μία από τις επιλογές για τη χρήση του Anycast είναι η βέλτιστη επιλογή του σημείου παρουσίας ενός χειριστή (PoP). Ας δώσουμε παράδειγμα. Το LinkedIn (αποκλείεται στη Ρωσία) προσπαθεί όχι μόνο να βελτιώσει την απόδοση και την ταχύτητα των προϊόντων του - εφαρμογές για κινητά και web, αλλά και να βελτιώσει την υποδομή δικτύου του για ταχύτερη παράδοση περιεχομένου. Για αυτήν τη δυναμική παράδοση περιεχομένου, το LinkedIn χρησιμοποιεί ενεργά PoP - σημεία παρουσίας. Το Anycast χρησιμοποιείται για να κατευθύνει τους χρήστες στο πλησιέστερο PoP.

Ο λόγος είναι ότι στην περίπτωση του Unycast, κάθε LinkedIn PoP έχει μια μοναδική διεύθυνση IP. Στη συνέχεια, οι χρήστες εκχωρούνται στο PoP με βάση τη γεωγραφική τους θέση χρησιμοποιώντας DNS. Το πρόβλημα είναι ότι κατά τη χρήση DNS, περίπου το 30% των χρηστών στις Ηνωμένες Πολιτείες ανακατευθύνθηκαν σε ένα μη βέλτιστο PoP. Με τη σταδιακή εφαρμογή του Anycast, η υποβέλτιστη εκχώρηση PoP μειώθηκε από 31% σε 10%.

Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση
Τα αποτελέσματα της πιλοτικής δοκιμής φαίνονται στο γράφημα, όπου ο άξονας Υ είναι το ποσοστό της βέλτιστης εκχώρησης PoP. Καθώς το Anycast αυξανόταν, πολλές πολιτείες των ΗΠΑ είδαν βελτίωση στο ποσοστό επισκεψιμότητας προς το βέλτιστο PoP.

Παρακολούθηση Δικτύου Anycast

Τα δίκτυα Anycast είναι απλά στη θεωρία: σε πολλούς φυσικούς διακομιστές εκχωρείται η ίδια διεύθυνση IP, την οποία χρησιμοποιεί το BGP για να καθορίσει τη διαδρομή. Αλλά η υλοποίηση και ο σχεδιασμός των πλατφορμών Anycast είναι περίπλοκη και τα δίκτυα Anycast με ανοχή σε σφάλματα είναι ιδιαίτερα διάσημα για αυτό. Ακόμη πιο δύσκολη είναι η αποτελεσματική παρακολούθηση ενός δικτύου Anycast για τον γρήγορο εντοπισμό και την απομόνωση σφαλμάτων.

Εάν οι υπηρεσίες χρησιμοποιούν τρίτο πάροχο CDN για την προβολή του περιεχομένου τους, είναι πολύ σημαντικό να παρακολουθούν και να επαληθεύουν την απόδοση του δικτύου. Η παρακολούθηση CDN που βασίζεται σε Anycast εστιάζει στη μέτρηση του λανθάνοντος χρόνου από άκρο σε άκρο και στην προτελευταία απόδοση αναπήδησης για να κατανοήσει ποιο κέντρο δεδομένων εξυπηρετεί το περιεχόμενο. Η ανάλυση των κεφαλίδων διακομιστή 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 συχνά συγχέεται με το Anycast.Ωστόσο, η κύρια διαφορά είναι ότι το Anycast κατευθύνει τον αποστολέα σε έναν συγκεκριμένο κόμβο, ακόμα κι αν υπάρχουν πολλοί κόμβοι.

Αναμετάδοση

Ένα datagram από έναν μόνο αποστολέα προωθείται σε όλα τα τελικά σημεία που σχετίζονται με τη διεύθυνση εκπομπής. Το δίκτυο αναπαράγει αυτόματα datagrams για να μπορεί να προσεγγίσει όλους τους παραλήπτες στη μετάδοση (συνήθως στο ίδιο υποδίκτυο).

Geocast

Το Geocast είναι κάπως παρόμοιο με το Multicast: τα αιτήματα από τον αποστολέα αποστέλλονται σε πολλά τελικά σημεία ταυτόχρονα. Ωστόσο, η διαφορά είναι ότι ο παραλήπτης καθορίζεται από τη γεωγραφική του θέση. Αυτή είναι μια εξειδικευμένη μορφή multicast που χρησιμοποιείται από ορισμένα πρωτόκολλα δρομολόγησης για κινητά ad hoc δίκτυα.

Ένας γεωγραφικός δρομολογητής υπολογίζει την περιοχή εξυπηρέτησης και την προσεγγίζει. Georouters, ανταλλαγή περιοχών εξυπηρέτησης, κατασκευή πινάκων δρομολόγησης. Το georouter σύστημα έχει μια ιεραρχική δομή.

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? Η δημιουργία ενός CDN χρησιμοποιώντας τη λύση του Anycast μπορεί να είναι αρκετά ακριβό έργο, αλλά υπάρχουν και φθηνότερες επιλογές. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε GeoDNS και κανονικούς διακομιστές με μοναδικές διευθύνσεις IP. Χρησιμοποιώντας τις υπηρεσίες GeoDNS, μπορείτε να δημιουργήσετε ένα CDN με δυνατότητες γεωγραφικής τοποθεσίας, όπου οι αποφάσεις λαμβάνονται με βάση την πραγματική τοποθεσία του επισκέπτη και όχι τη θέση του προγράμματος επίλυσης DNS. Μπορείτε να διαμορφώσετε τη ζώνη DNS ώστε να εμφανίζει τις διευθύνσεις IP διακομιστή των ΗΠΑ στους επισκέπτες των ΗΠΑ, αλλά οι Ευρωπαίοι επισκέπτες θα βλέπουν την ευρωπαϊκή διεύθυνση IP.

Με το GeoDNS, μπορείτε να επιστρέψετε διαφορετικές αποκρίσεις DNS ανάλογα με τη διεύθυνση IP του χρήστη. Για να γίνει αυτό, ο διακομιστής DNS έχει ρυθμιστεί ώστε να επιστρέφει διαφορετικές διευθύνσεις IP ανάλογα με τη διεύθυνση IP προέλευσης στο αίτημα. Συνήθως, μια βάση δεδομένων GeoIP χρησιμοποιείται για τον προσδιορισμό της περιοχής από την οποία υποβάλλεται ένα αίτημα. Ο γεωγραφικός εντοπισμός με χρήση DNS σάς επιτρέπει να στέλνετε περιεχόμενο σε χρήστες από έναν κοντινό ιστότοπο.

Το GeoDNS καθορίζει τη διεύθυνση IP του πελάτη που έστειλε το αίτημα DNS ή τη διεύθυνση IP του αναδρομικού διακομιστή DNS του παρόχου, που χρησιμοποιείται κατά την επεξεργασία του αιτήματος πελάτη. Η χώρα/περιοχή καθορίζεται από τη βάση δεδομένων IP και GeoIP του πελάτη. Στη συνέχεια, ο πελάτης αποκτά τη διεύθυνση IP του πλησιέστερου διακομιστή CDN. Μπορείτε να διαβάσετε περισσότερα σχετικά με τη ρύθμιση του 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, τότε χρησιμοποιείται η τοποθεσία αυτού του αναδρομικού διακομιστή αντί του χρήστη που θα συνδεθεί στον διακομιστή προσωρινής αποθήκευσης.

Τα υποδίκτυα πελάτη στο DNS είναι μια επέκταση του DNS (RFC7871) που ορίζει τον τρόπο με τον οποίο οι αναδρομικοί διακομιστές DNS μπορούν να στείλουν πληροφορίες πελάτη στον διακομιστή DNS, ιδιαίτερα πληροφορίες δικτύου που μπορεί να χρησιμοποιήσει ο διακομιστής GeoDNS για να προσδιορίσει με μεγαλύτερη ακρίβεια την τοποθεσία του πελάτη.

Οι περισσότεροι χρησιμοποιούν τους διακομιστές DNS του ISP ή τους διακομιστές DNS που βρίσκονται γεωγραφικά κοντά τους, αλλά εάν κάποιος στις ΗΠΑ για κάποιο λόγο αποφασίσει να χρησιμοποιήσει ένα πρόγραμμα επίλυσης DNS που βρίσκεται στην Αυστραλία, πιθανότατα θα καταλήξει με μια διεύθυνση διακομιστή IP που βρίσκεται πιο κοντά στην Αυστραλία.

Εάν θέλετε να χρησιμοποιήσετε το GeoDNS, είναι σημαντικό να γνωρίζετε αυτές τις δυνατότητες, καθώς σε ορισμένες περιπτώσεις μπορεί να αυξήσει την απόσταση μεταξύ των διακομιστών προσωρινής αποθήκευσης και του πελάτη.

Περίληψη: εάν θέλετε να συνδυάσετε πολλά VPS σε ένα CDN, τότε η καλύτερη επιλογή ανάπτυξης είναι να χρησιμοποιήσετε ένα πακέτο διακομιστή DNS με τη συνάρτηση GeoDNS + Anycast εκτός συσκευασίας.

Anycast vs Unicast: ποιο είναι καλύτερο να επιλέξετε σε κάθε περίπτωση

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο