Πώς δουλεύει η διάδοση DNS

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

Πρόχειρο

Η διάδοση DNS είναι από τα πιο παρεξηγημένα κομμάτια της διαχείρισης ενός domain. Δεν είναι ένα μεμονωμένο γεγονός που σαρώνει το διαδίκτυο σαν κύμα. Είναι μια σταδιακή διαδικασία, όπου χιλιάδες ανεξάρτητοι servers DNS σε όλο τον κόσμο ανανεώνουν τα αντίγραφα των εγγραφών σου στη cache σε διαφορετικές στιγμές. Αν το καταλάβεις, δεν θα πανικοβληθείς όταν μια αλλαγή δεν φαίνεται αμέσως σε σένα.

Τι είναι η διάδοση DNS;

Η διάδοση DNS είναι το διάστημα μετά την ενημέρωση μιας εγγραφής DNS, στο οποίο η νέα τιμή απλώνεται στους servers DNS σε όλο τον κόσμο. Όταν αλλάζεις μια εγγραφή A, μια εγγραφή MX ή οποιαδήποτε άλλη εγγραφή DNS, η αλλαγή αποθηκεύεται αμέσως στον κύριο nameserver σου. Όμως κάθε άλλος server DNS στο διαδίκτυο μπορεί ακόμα να κρατά στη cache ένα αντίγραφο της παλιάς εγγραφής.

Κάθε αντίγραφο στη cache έχει ένα χρονόμετρο, που το ελέγχει η τιμή TTL (time to live) της εγγραφής. Μέχρι να λήξει το χρονόμετρο, ο server συνεχίζει να σερβίρει την παλιά τιμή. Η διάδοση τελειώνει όταν έχουν λήξει όλα τα αντίγραφα στη cache και κάθε resolver επιστρέφει την ενημερωμένη εγγραφή.

Γιατί η διάδοση DNS δεν είναι στιγμιαία;

Το DNS σχεδιάστηκε για ταχύτητα και αποδοτικότητα, όχι για στιγμιαίες παγκόσμιες ενημερώσεις. Όταν ένας resolver DNS αναζητά το domain σου, αποθηκεύει την απάντηση στη cache του, ώστε το επόμενο αίτημα να είναι πιο γρήγορο. Αυτή τη cache την ελέγχει το TTL.

Φαντάσου ότι έχεις ορίσει TTL 86400 δευτερόλεπτα (24 ώρες). Ένας resolver σε μια χώρα μπορεί να έχει αναζητήσει την εγγραφή A πριν από δύο ώρες και να κρατά στη cache την παλιά διεύθυνση IP. Αυτός ο resolver θα συνεχίσει να επιστρέφει την παλιά διεύθυνση για άλλες 22 ώρες, παρόλο που έχεις ήδη αλλάξει την εγγραφή στην πηγή.

Ένας άλλος resolver σε διαφορετική χώρα μπορεί να έχει αποθηκεύσει την εγγραφή πριν από 23 ώρες. Το χρονόμετρό του λήγει σε μία ώρα, οπότε παίρνει τη νέα τιμή πολύ νωρίτερα. Γι' αυτό κάποιοι βλέπουν την αλλαγή αμέσως, ενώ άλλοι βλέπουν ακόμα την παλιά ιστοσελίδα. Και τα δύο είναι φυσιολογικά κατά τη διάδοση.

Τι επηρεάζει τον χρόνο διάδοσης DNS;

Αρκετοί παράγοντες καθορίζουν πόσο θα κρατήσει η διάδοση για τη δική σου αλλαγή.

Η τιμή TTL

Το TTL είναι ο μεγαλύτερος παράγοντας. Μια εγγραφή με TTL 300 (πέντε λεπτά) διαδίδεται πολύ πιο γρήγορα από μια με TTL 86400 (24 ώρες). Το κεφάλαιο για το τι είναι το TTL στο DNS εξηγεί πώς ορίζεις και προσαρμόζεις αυτή την τιμή.

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

Πόσο κρατά συνήθως η διάδοση DNS;

Δεν υπάρχει σταθερή απάντηση, αλλά αυτά τα εύρη καλύπτουν τις περισσότερες πραγματικές περιπτώσεις.

  • Με χαμηλό TTL (300 έως 600 δευτερόλεπτα): Οι περισσότεροι στο διαδίκτυο βλέπουν την αλλαγή μέσα σε 5 έως 30 λεπτά
  • Με τυπικό TTL (3600 δευτερόλεπτα): Περίμενε 1 έως 4 ώρες για ευρεία διάδοση
  • Με υψηλό TTL (86400 δευτερόλεπτα ή περισσότερο): Η διάδοση μπορεί να κρατήσει 24 έως 48 ώρες

Οι «48 ώρες» που βλέπεις να αναφέρονται στο διαδίκτυο είναι εκτίμηση για τη χειρότερη περίπτωση: εγγραφές με TTL 24 ωρών, όπου οι resolvers είχαν αποθηκεύσει την παλιά τιμή λίγο πριν την αλλαγή. Δεν σημαίνει ότι κάθε αλλαγή θα κρατήσει τόσο. Με σωστή διαχείριση του TTL, οι περισσότερες αλλαγές διαδίδονται μέσα σε μία ώρα.

Πώς επιταχύνεις τη διάδοση DNS

Δεν μπορείς να αναγκάσεις κάθε server DNS στο διαδίκτυο να πετάξει νωρίτερα τη cache του. Μπορείς όμως να προετοιμαστείς για γρήγορη διάδοση πριν κάνεις την αλλαγή.

  1. Μείωσε το TTL 24 έως 48 ώρες πριν από την προγραμματισμένη αλλαγή. Ορίσε το στο 300 (πέντε λεπτά) στις εγγραφές που θα ενημερώσεις. Έτσι δίνεις χρόνο να λήξουν οι υπάρχουσες cache με υψηλό TTL.
  2. Κάνε την αλλαγή DNS. Με το TTL ήδη χαμηλό, οι resolvers παίρνουν τη νέα τιμή μέσα σε λίγα λεπτά.
  3. Έλεγξε ότι η αλλαγή δουλεύει. Δοκίμασε από πολλές τοποθεσίες ή χρησιμοποίησε εργαλείο ελέγχου διάδοσης DNS, για να δεις ότι η νέα τιμή απλώνεται.
  4. Ανέβασε ξανά το TTL στην κανονική του τιμή. Όταν η αλλαγή επιβεβαιωθεί και σταθεροποιηθεί, ορίσε το TTL ξανά στο 3600 ή στην τιμή που προτιμάς, για να μειώσεις τις περιττές αναζητήσεις.

Η παράλειψη του πρώτου βήματος είναι ο συνηθέστερος λόγος που η διάδοση φαίνεται αργή. Αν αλλάξεις μια εγγραφή A με TTL 24 ωρών και αναρωτιέσαι γιατί κρατά μια μέρα, η εξήγηση είναι το TTL.

Συνηθισμένες παρεξηγήσεις για τη διάδοση

«Η διάδοση έχει χαλάσει αν βλέπω ακόμα την παλιά ιστοσελίδα.» Κατά τη διάδοση είναι αναμενόμενο να βλέπεις διαφορετικά αποτελέσματα από διαφορετικές τοποθεσίες. Δεν σημαίνει ότι η αλλαγή απέτυχε. Έλεγξε απευθείας τον κύριο nameserver σου. Αν η νέα τιμή είναι εκεί, η διάδοση δουλεύει. Απλώς δεν έχει τελειώσει παντού.

«Πρέπει να περιμένω 48 ώρες πριν δοκιμάσω.» Όχι. Αν το TTL σου είναι χαμηλό, ξεκίνα τις δοκιμές μέσα σε λίγα λεπτά. Η πλήρης παγκόσμια διάδοση μπορεί να κρατήσει περισσότερο, αλλά η ιστοσελίδα σου μπορεί να είναι ζωντανή για τους περισσότερους επισκέπτες πολύ πριν κλείσει το χειρότερο σενάριο.

Το WEMASY και οι αλλαγές DNS

Μπορείς να συνδέσεις το δικό σου domain με ένα πακέτο επί πληρωμή του WEMASY. Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα WEMASY pricing.

Τι ακολουθεί

Τώρα που καταλαβαίνεις πώς δουλεύει η διάδοση, είσαι έτοιμος να κάνεις αλλαγές DNS με σιγουριά. Δες το κεφάλαιο για το πώς αλλάζεις τις ρυθμίσεις DNS για τα πρακτικά βήματα. Ή ξαναδές το κεφάλαιο για το τι είναι μια εγγραφή A, αν δείχνεις το domain σου σε νέο server.

Συχνές ερωτήσεις

Μπορείς να αναγκάσεις τη διάδοση DNS να γίνει πιο γρήγορα;

Δεν μπορείς να αναγκάσεις εξωτερικούς servers DNS να καθαρίσουν τη cache τους πριν λήξει το TTL. Ο μόνος αξιόπιστος τρόπος να επιταχύνεις τη διάδοση είναι να μειώσεις το TTL 24 έως 48 ώρες πριν κάνεις την αλλαγή. Ο Δημιουργός ιστοσελίδων του WEMASY σου επιτρέπει να φτιάξεις τις δικές σου σελίδες στην ιστοσελίδα σου.

Γιατί εγώ βλέπω τη νέα ιστοσελίδα, ενώ ο συνάδελφός μου βλέπει ακόμα την παλιά;

Μάλλον εσύ και ο συνάδελφός σου χρησιμοποιείτε διαφορετικούς resolvers DNS. Ο δικός σου έχει ήδη ανανεώσει τη cache και έχει πάρει τη νέα εγγραφή. Ο resolver του έχει ακόμα στη cache την παλιά τιμή. Αυτό είναι φυσιολογικό κατά τη διάδοση και λύνεται μόνο του μόλις λήξουν όλες οι cache.

Επηρεάζει η διάδοση DNS το email;

Ναι. Αν άλλαξες εγγραφές MX, οι servers email σε όλο τον κόσμο πρέπει να πάρουν τις νέες τιμές, για να δρομολογούνται σωστά τα μηνύματα στον νέο σου πάροχο. Ισχύουν οι ίδιοι κανόνες TTL. Μείωσε το TTL στις εγγραφές MX πριν αλλάξεις πάροχο email, για να έχεις όσο γίνεται λιγότερα κενά στην παράδοση.

Είναι οι 48 ώρες ο μέγιστος χρόνος διάδοσης;

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

Πρέπει να κάνω αλλαγές DNS τις εργάσιμες ώρες;

Αν γίνεται, προγραμμάτισε τις μεγάλες αλλαγές DNS σε ώρες με χαμηλή επισκεψιμότητα, ειδικά όταν αλλάζεις πάροχο φιλοξενίας ή email. Ακόμα και με χαμηλό TTL, υπάρχει ένα σύντομο διάστημα όπου κάποιοι επισκέπτες πηγαίνουν στον παλιό server και άλλοι στον νέο. Αν ενημερώσεις το κοινό σου για τη συντήρηση, μειώνεις τη σύγχυση σε αυτό το διάστημα.

Λύνει το πρόβλημα της διάδοσης ο καθαρισμός της τοπικής cache DNS;

Ο καθαρισμός της τοπικής cache επηρεάζει μόνο τη δική σου συσκευή. Σε βοηθά να δεις νωρίτερα την ενημερωμένη εγγραφή όσο δοκιμάζεις, αλλά δεν αλλάζει το τι σερβίρουν οι άλλοι resolvers DNS σε όλο τον κόσμο. Χρησιμοποίησε εργαλείο ελέγχου διάδοσης από πολλές τοποθεσίες για να δεις την παγκόσμια εικόνα.

Βάλ’ το αμέσως σε εφαρμογή
στη δική σου ιστοσελίδα.

Ξεκίνα δωρεάν με το WEMASY και φτιάξε τη σελίδα σου σε λίγα λεπτά.