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

Ρυθμίσεις 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

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

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

Προβολή

Το ταξίδι ενός ερωτήματος DNS

Ενότητα 1: Τι είναι το DNS; · Χρόνος ανάγνωσης: 8 λεπτά

Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να εξηγήσετε βήμα προς βήμα πώς ένας resolver βρίσκει μια απάντηση, και πού στη διαδρομή οι απαντήσεις αποθηκεύονται στη μνήμη.

Βασικές έννοιες: resolver (αναδρομικός), rootserver, TLD-server, εξουσιοδοτημένος (authoritative) nameserver, παραπομπή (ανάθεση/delegation), cache

Δύο είδη διακομιστών DNS

Στο μάθημα 1.1 είδατε ότι το DNS είναι κατανεμημένο: κανείς δεν γνωρίζει τα πάντα. Πώς βρίσκει λοιπόν ο browser σας τη διεύθυνση του www.example.com; Για αυτό συνεργάζονται δύο είδη διακομιστών:

  • Οι εξουσιοδοτημένοι nameservers (στα αγγλικά authoritative) γνωρίζουν την απάντηση για το δικό τους κομμάτι. Οι nameservers του example.com γνωρίζουν τις εγγραφές του example.com. Δεν αναζητούν τίποτα για λογαριασμό άλλων.
  • Οι resolvers (επίσης γνωστοί ως αναδρομικοί resolvers) αναζητούν την απάντηση για εσάς. Ρωτούν συνεχώς μέχρι να τη βρουν. Ο πάροχος internet σας διαθέτει έναν resolver, και υπάρχουν και δημόσιοι resolvers, όπως αυτοί της Quad9, της Cloudflare ή της Google.

Ο υπολογιστής σας δεν αναζητά σχεδόν τίποτα μόνος του. Διαθέτει έναν μικρό stub resolver που προωθεί το ερώτημα στον resolver του δικτύου σας και λαμβάνει πίσω την απάντηση.

Το ταξίδι, βήμα προς βήμα

Ας υποθέσουμε: ο resolver δεν έχει αποθηκεύσει ακόμα τίποτα και εσείς ζητάτε την εγγραφή A του www.example.com.

  1. Ο υπολογιστής σας ρωτά τον resolver: «Ποια είναι η εγγραφή A του www.example.com;»
  2. Ο resolver ρωτά έναν rootserver. Κάθε resolver έχει ενσωματωμένη μια λίστα με τις διευθύνσεις των rootservers. Ο rootserver δεν γνωρίζει τίποτα για το example.com, αλλά γνωρίζει ποιος διαχειρίζεται το .com. Απαντά με μια παραπομπή: «Για αυτό πρέπει να απευθυνθείτε στους nameservers του com: a.gtld-servers.net, b.gtld-servers.net, και ούτω καθεξής.»
  3. Ο resolver ρωτά έναν nameserver του .com. Αυτός επίσης δεν γνωρίζει τη διεύθυνση IP του www.example.com, αλλά γνωρίζει ποιους nameservers έχει το example.com. Άλλη μια παραπομπή: «Ρωτήστε το ns1.hosting.example ή το ns2.hosting.example.»
  4. Ο resolver ρωτά έναν nameserver του example.com. Αυτός είναι εξουσιοδοτημένος για αυτό το domain και δίνει την απάντηση: «Το www.example.com έχει εγγραφή A 192.0.2.10.»
  5. Ο resolver δίνει την απάντηση στον υπολογιστή σας. Ο browser σας συνδέεται με τη διεύθυνση 192.0.2.10.

Μια παραπομπή από ένα ανώτερο επίπεδο προς τους nameservers ενός κατώτερου επιπέδου ονομάζεται ανάθεση (delegation). Η root αναθέτει το .com στη Verisign, το .com αναθέτει το example.com στους nameservers που έχει δηλώσει ο κάτοχος του domain. Για ένα domain .nl η διαδικασία είναι ακριβώς ίδια, μόνο που η root παραπέμπει τότε στους nameservers του .nl (SIDN, για παράδειγμα ns1.dns.nl). Αυτό θα το δείτε και εσείς στην άσκηση στο τέλος αυτού του μαθήματος. Γι' αυτό είναι τόσο σημαντικό οι nameservers να είναι σωστά καταχωρημένοι στο μητρώο (μάθημα 2.1).

Το cache: όχι κάθε φορά ολόκληρο το ταξίδι

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

Πόσο καιρό μπορεί να διατηρηθεί μια απάντηση στη μνήμη αναγράφεται στην ίδια την απάντηση: το TTL (time to live), σε δευτερόλεπτα. Ένα TTL 3600 σημαίνει: αυτή η απάντηση μπορεί να διατηρηθεί στη μνήμη για μία ώρα. Και οι παραπομπές αποθηκεύονται επίσης. Ένας resolver που μόλις έμαθε ποιους nameservers έχει το .com δεν χρειάζεται να το ξαναρωτήσει την επόμενη φορά από τη root.

Αν κάποιος άλλος στον ίδιο πάροχο ρωτήσει ένα λεπτό αργότερα για το www.example.com, ο resolver απαντά αμέσως από το cache του. Κανένα ταξίδι, καμία αναμονή.

Οι cache βρίσκονται σε περισσότερα σημεία:

  • στον resolver του παρόχου σας ή στον δημόσιο resolver που χρησιμοποιείτε·
  • στο λειτουργικό σύστημά σας (Windows, macOS, το κινητό σας τηλέφωνο)·
  • στον browser σας·
  • μερικές φορές στο router σας.

Αυτό είναι γρήγορο και αποδοτικό, αλλά έχει μια συνέπεια που θα συναντήσετε συχνά αργότερα: αν αλλάξετε μια εγγραφή, οι caches συνεχίζουν να δίνουν την παλιά απάντηση μέχρι να περάσει το TTL τους. Γι' αυτό κάποιος βλέπει μια αλλαγή ενώ κάποιος άλλος ακόμα όχι. Η ενότητα 6 εξηγεί αυτό το θέμα εκτενώς.

Οι rootservers

Υπάρχουν 13 ονόματα για τους rootservers: από a.root-servers.net έως m.root-servers.net. Τους διαχειρίζονται δώδεκα διαφορετικοί οργανισμοί. Πίσω από κάθε όνομα βρίσκονται παγκοσμίως πολλοί διακομιστές, σε εκατοντάδες σημεία, που μοιράζονται την ίδια διεύθυνση (αυτό ονομάζεται anycast). Ο resolver σας καταλήγει αυτόματα σε έναν κοντινό. Έτσι λειτουργούν και οι TLD-nameservers, όπως αυτοί του .com και του .nl. Έτσι, το DNS είναι γρήγορο και συνεχίζει να λειτουργεί ακόμα κι αν κάπου υπάρξει βλάβη σε κάποιον διακομιστή.

Πού μπορεί να πάει κάτι στραβά

Αν γνωρίζετε το ταξίδι, μπορείτε να εντοπίσετε καλύτερα τα προβλήματα:

  • Η ανάθεση δεν είναι σωστή. Στο μητρώο αναγράφονται nameservers που δεν γνωρίζουν (πλέον) το domain. Ο resolver δεν μπορεί τότε να προχωρήσει στο βήμα 4. Η απάντηση είναι ένα σφάλμα ή δεν έρχεται καθόλου απάντηση.
  • Ο εξουσιοδοτημένος διακομιστής δίνει διαφορετική απάντηση από αυτήν που περιμένατε. Έχετε αλλάξει την εγγραφή σε διαφορετικό σημείο από εκεί όπου βρίσκονται οι nameservers (μάθημα 2.1).
  • Το cache έχει ακόμα την παλιά απάντηση. Τότε δεν υπάρχει καμία βλάβη. Πρέπει να περιμένετε να περάσει το TTL, ή να αδειάσετε το δικό σας cache.
  • Το DNSSEC δεν είναι σωστό. Ένας resolver επικύρωσης ελέγχει τις ψηφιακές υπογραφές στη διαδρομή. Αν η αλυσίδα δεν είναι σωστή, αρνείται την απάντηση (μάθημα 8.1).

Με το εργαλείο dig +trace μπορείτε να επαναλάβετε μόνοι σας το ταξίδι, από τη root μέχρι τον εξουσιοδοτημένο διακομιστή. Αυτό θα το μάθετε στο μάθημα 8.2. Το ίδιο μπορούν να κάνουν και κάποια online εργαλεία.

Σύνοψη

  • Οι εξουσιοδοτημένοι nameservers γνωρίζουν την απάντηση για το δικό τους domain· οι resolvers αναζητούν την απάντηση για εσάς.
  • Ένας resolver ξεκινά από τη root, λαμβάνει μια παραπομπή προς το TLD, στη συνέχεια προς τους nameservers του domain, και εκεί λαμβάνει την απάντηση.
  • Μια τέτοια παραπομπή ονομάζεται ανάθεση (delegation).
  • Οι απαντήσεις αποθηκεύονται στη μνήμη σε caches, για όσο διάστημα ορίζει το TTL· γι' αυτό οι αλλαγές δεν είναι ορατές παντού αμέσως.
  • Υπάρχουν 13 ονόματα rootserver, αλλά χάρη στο anycast βρίσκονται πίσω από αυτά πολλοί διακομιστές παγκοσμίως.

Κουίζ

1. Ποιος διακομιστής αναζητά την απάντηση για εσάς ρωτώντας άλλους διακομιστές;



2. Τι απαντά ένας rootserver στο ερώτημα για το www.example.com;



3. Γιατί δεν χρειάζεται ένας resolver να ξεκινά κάθε φορά από τη root;



4. Υπάρχουν 13 ονόματα rootserver. Σημαίνει αυτό ότι υπάρχουν 13 rootservers σε όλο τον κόσμο;



Άσκηση

Άσκηση Z1.4: Ακολουθήστε το ταξίδι. Ακολουθήστε το ταξίδι για το www.sidn.nl, με dig +trace www.sidn.nl ή ένα online εργαλείο που εμφανίζει ένα trace. Συμπληρώστε: (1) έναν nameserver του nl. που συναντάτε στη διαδρομή, (2) έναν εξουσιοδοτημένο nameserver του sidn.nl.

Άσκηση Z1.4: Ακολουθώντας τη διαδρομή



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

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

Αυτά τα άρθρα περιγράφουν την κατάσταση στο WebOké. Σε άλλους παρόχους η λειτουργία είναι παρόμοια.

Μια στιγμή…

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

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

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