Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

TTL και cache

Ενότητα 6: Χρόνος, cache και μεταφορά · Χρόνος ανάγνωσης: 7 λεπτά

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

Βασικές έννοιες: TTL (Time To Live), cache, cache του resolver, cache του υπολογιστή και του browser σας, φθίνον TTL, τυπικές τιμές TTL (300, 3600, 86400)

Γιατί το DNS θυμάται

Στο μάθημα 1.4 είδατε πώς ένας resolver αναζητά μια απάντηση: πρώτα σε έναν rootserver, μετά στον server του TLD και τέλος στον εξουσιοδοτημένο nameserver του domain. Αν αυτό έπρεπε να επαναλαμβάνεται σε κάθε κλικ σε έναν ιστότοπο, το internet θα ήταν πολύ πιο αργό και οι nameservers θα κατέρρεαν από το πλήθος των ερωτημάτων.

Γι' αυτό οι resolvers θυμούνται κάθε απάντηση για κάποιο διάστημα. Αυτή η μνήμη ονομάζεται cache. Αν κάποιος άλλος ζητήσει το ίδιο όνομα, ο resolver δίνει αμέσως την απάντηση από την cache του, χωρίς να κάνει ολόκληρη τη διαδρομή.

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

Τι είναι το TTL

TTL σημαίνει Time To Live: ο χρόνος που μια εγγραφή επιτρέπεται να παραμείνει σε μια cache, σε δευτερόλεπτα. Κάθε εγγραφή έχει το δικό της TTL. Σε μια ζώνη αυτό φαίνεται ως εξής:

example.com.        3600   IN  A     192.0.2.10
www.example.com.    3600   IN  A     192.0.2.10
example.com.        3600   IN  MX    10 mail.example.com.
_dmarc.example.com. 14400  IN  TXT   "v=DMARC1; p=quarantine"

Ο αριθμός μετά το όνομα είναι το TTL. Εδώ οι εγγραφές A και MX επιτρέπεται να διατηρούνται για μία ώρα (3600 δευτερόλεπτα) και η εγγραφή DMARC για τέσσερις ώρες (14400 δευτερόλεπτα).

Συνήθεις τιμές:

TTLΕίναιΠότε το χρησιμοποιείτε;
3005 λεπτάΛίγο πριν και κατά τη διάρκεια μιας μεταφοράς, ή όταν αλλάζετε συχνά
36001 ώραΜια καλή προεπιλογή για τις περισσότερες εγγραφές
144004 ώρεςΕγγραφές που σπάνια αλλάζουν
864001 ημέραΕγγραφές που σχεδόν ποτέ δεν αλλάζουν, όπως οι εγγραφές NS

Το TTL είναι ένας αριθμός μεταξύ 0 και 2.147.483.647 δευτερολέπτων (2^31 - 1, όπως αναφέρεται στο RFC 2181). Στην πράξη σπάνια συναντάτε κάτι πάνω από μία ή δύο ημέρες. Πολλοί resolvers εφαρμόζουν επίσης δικό τους μέγιστο όριο, συχνά μία ημέρα ή μία εβδομάδα.

Η αντίστροφη μέτρηση

Το TTL δεν είναι ένα σταθερό ρολόι για όλον τον κόσμο. Κάθε resolver αρχίζει να μετρά μόνο από τη στιγμή που ανακτά την εγγραφή.

Ένα παράδειγμα. Η εγγραφή A του example.com έχει TTL 3600.

  • Στις 10:00 ο resolver του παρόχου Α ζητά την εγγραφή. Λαμβάνει 192.0.2.10 και επιτρέπεται να το θυμάται μέχρι τις 11:00.
  • Στις 10:40 ο resolver του παρόχου Β το ζητά. Αυτός το θυμάται μέχρι τις 11:40.
  • Στις 10:45 αλλάζετε την εγγραφή σε 198.51.100.10.
  • Οι χρήστες του παρόχου Α βλέπουν τη νέα διεύθυνση από τις 11:00, οι χρήστες του παρόχου Β μόλις από τις 11:40.

Αν ζητήσετε την εγγραφή από έναν resolver που την έχει ήδη στην cache του, θα δείτε στο αποτέλεσμα ένα TTL που συνεχώς μειώνεται. Στον εξουσιοδοτημένο nameserver βλέπετε πάντα την πλήρη τιμή:

; στον εξουσιοδοτημένο nameserver
example.com.   3600   IN  A  192.0.2.10

; σε έναν resolver, 25 λεπτά αργότερα
example.com.   2100   IN  A  192.0.2.10

Αυτό είναι χρήσιμο να το γνωρίζετε: αν στον resolver σας βλέπετε ακόμα 2100 δευτερόλεπτα, αυτό σημαίνει ότι θα δίνει την παλιά απάντηση για ακόμα 35 λεπτά.

Ποιος τα θυμάται όλα αυτά;

Όχι μόνο ο resolver του παρόχου internet σας διαθέτει cache. Υπάρχουν περισσότερα επίπεδα:

  1. Ο resolver του παρόχου σας, του δικτύου της εταιρείας σας ή ενός δημόσιου resolver (για παράδειγμα 1.1.1.1, 8.8.8.8 ή 9.9.9.9).
  2. Ο router σας στο σπίτι ή στο γραφείο, ο οποίος συχνά λειτουργεί και ο ίδιος ως μικρός resolver.
  3. Το λειτουργικό σύστημα του υπολογιστή ή του τηλεφώνου σας.
  4. Ο browser σας, ο οποίος ενίοτε διατηρεί κι αυτός για λίγο τις απαντήσεις DNS.

Κάθε επίπεδο σε γενικές γραμμές τηρεί το TTL, αλλά όχι κάθε επίπεδο το κάνει με απόλυτη ακρίβεια. Γι' αυτό μπορεί σε εσάς, στο laptop σας, να διαρκέσει λίγο περισσότερο από ό,τι στον συνάδελφό σας. Πώς καθαρίζετε αυτές τις caches, θα το διαβάσετε στο μάθημα 6.2.

Επιλογή του σωστού TTL

Ένα μικρό TTL φαίνεται βολικό: οι αλλαγές γίνονται τότε γρήγορα ορατές παντού. Όμως έχει ένα μειονέκτημα. Οι resolvers πρέπει τότε να ζητούν την εγγραφή πολύ πιο συχνά εκ νέου. Αυτό κάνει την πρώτη φόρτωση του ιστότοπού σας ελαφρώς πιο αργή, και αν οι nameservers σας δεν είναι προσωρινά προσβάσιμοι, το domain σας γίνεται πιο γρήγορα μη προσβάσιμο. Με ένα TTL μίας ώρας, οι resolvers μπορούν να καλύψουν μια σύντομη διακοπή στον nameserver χρησιμοποιώντας την cache τους.

Μερικοί πρακτικοί κανόνες:

  • Προεπιλογή: 3600 δευτερόλεπτα. Αυτή είναι μια καλή ισορροπία.
  • Για μια προγραμματισμένη αλλαγή: προσωρινά 300. Μειώστε το TTL τουλάχιστον ένα παλιό TTL πριν από την αλλαγή. Αν ίσχυε 3600, κάντε το τουλάχιστον μία ώρα νωρίτερα, ασφαλέστερα μία ημέρα. Αν ίσχυε 86400, κάντε το τουλάχιστον μία ημέρα νωρίτερα. Μετά την αλλαγή, επαναφέρετέ το. Πώς το αντιμετωπίζετε αυτό σε μια μεταφορά, θα το διαβάσετε στο μάθημα 6.3.
  • Τιμή κάτω από 60 δευτερόλεπτα έχει μικρή χρησιμότητα. Ορισμένοι resolvers αγνοούν πολύ μικρά TTL και εφαρμόζουν δικό τους ελάχιστο όριο.
  • Η μείωση ενός TTL λειτουργεί μόνο αφού περάσει το παλιό TTL. Αν μειώσετε το TTL από 86400 σε 300 και αμέσως μετά αλλάξετε τη διεύθυνση, οι resolvers που είχαν μόλις ανακτήσει την εγγραφή θα διατηρούν την παλιά τιμή για ακόμα μια ολόκληρη ημέρα.

Αυτό το τελευταίο σημείο είναι το πιο συνηθισμένο λάθος με τα TTL. Το νέο, μικρό TTL πρέπει πρώτα να φτάσει το ίδιο σε όλες τις caches.

Στην πράξη: έτσι φαίνεται σε έναν πίνακα ελέγχου

Στον πίνακα ελέγχου παραδείγματος DirectAdmin, το TTL εμφανίζεται ως ξεχωριστή στήλη στο DNS Administration. Αλλάζετε το TTL μιας εγγραφής με το μολύβι δίπλα σε αυτή την εγγραφή. Με το κουμπί TTL WAARDE OVERSCHRIJVEN ορίζετε ένα TTL για όλες τις εγγραφές του domain ταυτόχρονα. Στο Το WebOké μου βλέπετε το TTL στη λίστα εγγραφών, στην καρτέλα DNS, και το επιλέγετε στο παράθυρο όπου προσθέτετε ή επεξεργάζεστε μια εγγραφή.

Άλλοι πίνακες ελέγχου λειτουργούν παρόμοια: στο cPanel, στο Plesk, στο Cloudflare και στους περισσότερους registrars το πεδίο ονομάζεται επίσης TTL. Μερικές φορές επιλέγετε από μια λίστα (για παράδειγμα «5 λεπτά», «1 ώρα», «Auto») αντί να πληκτρολογήσετε έναν αριθμό σε δευτερόλεπτα. Στο Cloudflare, η επιλογή «Auto» σημαίνει για εγγραφές χωρίς proxy 300 δευτερόλεπτα.

Σύνοψη

  • Το TTL καθορίζει για πόσα δευτερόλεπτα μια απάντηση DNS επιτρέπεται να παραμείνει σε μια cache.
  • Κάθε resolver μετρά από τη στιγμή που ανέκτησε την εγγραφή· γι' αυτό δεν βλέπουν όλοι μια αλλαγή ταυτόχρονα.
  • Στον εξουσιοδοτημένο nameserver βλέπετε το πλήρες TTL, σε έναν resolver μια φθίνουσα τιμή.
  • Το 3600 είναι μια καλή προεπιλογή· μειώστε προσωρινά σε 300 πριν από μια προγραμματισμένη αλλαγή, και μάλιστα τουλάχιστον ένα παλιό TTL νωρίτερα.

Κουίζ

1. Μια εγγραφή έχει TTL 300. Τι σημαίνει αυτό;



2. Ζητάτε την εγγραφή A ενός domain από τον resolver του παρόχου σας και βλέπετε TTL 1250. Στον εξουσιοδοτημένο nameserver αναγράφεται 3600. Τι σημαίνει αυτό;



3. Θέλετε αύριο στις 9:00 να κατευθύνετε τον ιστότοπό σας σε άλλον server. Η εγγραφή A έχει τώρα TTL 86400. Τι είναι συνετό να κάνετε;



4. Γιατί ένα πολύ μικρό TTL (για παράδειγμα 30 δευτερόλεπτα) για όλες τις εγγραφές σας δεν είναι καλή ιδέα;



Άσκηση

Άσκηση Z6.1: TTL στην πηγή και στον resolver. Αναζητήστε με ένα online εργαλείο DNS ή με dig το TTL της εγγραφής A του sidn.nl (ο ιστότοπος του SIDN, του μητρώου του .nl στην Ολλανδία), απευθείας από έναν από τους nameservers του ίδιου του sidn.nl (για παράδειγμα ns1.sidn.nl). Συμπληρώστε το TTL σε δευτερόλεπτα. Στη συνέχεια ζητήστε την ίδια εγγραφή από έναν δημόσιο resolver και συμπληρώστε και αυτό το TTL. Εξηγήστε σε μία πρόταση γιατί οι δύο αριθμοί μπορεί να διαφέρουν.

dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9

Άσκηση Z6.1: TTL στην πηγή και στον resolver




Ό,τι συμπληρώνετε και ό,τι βρίσκουμε ζωντανά δεν το αποθηκεύουμε. Ο browser σας θυμάται τις απαντήσεις σας και αν περάσατε την άσκηση. Αν έχετε συνδεθεί, αποθηκεύουμε μόνο ότι είχατε την άσκηση (σχεδόν) σωστή στα Τα μαθήματά μου· εκεί μπορείτε και να το διαγράψετε.

Άσκηση O6.1: Ρύθμιση στη ζώνη εξάσκησής σας. Στη ζώνη εξάσκησής σας <code>.dnspractice.eu υπάρχει ήδη μια εγγραφή A ttl-test.<code>.dnspractice.eu που δείχνει στο 192.0.2.61, με TTL 300 δευτερολέπτων. Μειώστε το TTL σε 60 δευτερόλεπτα, όπως θα κάνατε πριν από μια μεταφορά, και αφήστε τη διεύθυνση αμετάβλητη. Στη συνέχεια ελέγξτε με dig στον nameserver της ζώνης εξάσκησης αν εμφανίζεται το νέο TTL. Υποβάλετε την άσκηση όταν το TTL είναι 60.

Η ζώνη εξάσκησης χρησιμοποιεί μικρά TTL (μεταξύ 30 και 300 δευτερολέπτων), ώστε να μη χρειάζεται να περιμένετε· στο πραγματικό σας domain χρησιμοποιείτε για παράδειγμα 3600 ως προεπιλογή και 300 λίγο πριν από μια αλλαγή.

Άσκηση O6.1

Αυτή την άσκηση την κάνετε στη δική σας ζώνη εξάσκησης: μια πραγματική ζώνη DNS στους nameservers του WebOké, μόνο για εσάς. Εγγραφείτε με το email σας. Θα λάβετε έναν σύνδεσμο σύνδεσης μέσω email και θα επιστρέψετε στη συνέχεια σε αυτό το μάθημα. Χρησιμοποιούμε τη διεύθυνσή σας μόνο για το μάθημα.

Περαιτέρω ανάγνωση

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

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…