Ενότητα 1 · 1.1
DNS: ο τηλεφωνικός κατάλογος του internet
Ενότητα 1: Τι είναι το DNS; · Χρόνος ανάγνωσης: 6 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να εξηγήσετε με δικά σας λόγια τι κάνει το DNS και γιατί το internet δεν μπορεί να λειτουργήσει χωρίς αυτό.
Βασικές έννοιες: DNS, διεύθυνση IP, domain, αναζήτηση (lookup), εγγραφή
Οι υπολογιστές υπολογίζουν με αριθμούς, οι άνθρωποι με ονόματα
Κάθε υπολογιστής που είναι συνδεδεμένος στο internet έχει μια διεύθυνση: τη διεύθυνση IP. Είναι κάτι σαν τηλεφωνικός αριθμός. Υπάρχουν δύο παραλλαγές:
- IPv4, τέσσερις αριθμοί με τελείες ανάμεσά τους, για παράδειγμα
192.0.2.10· - IPv6, μεγαλύτερη, με διπλές άνω κάτω τελείες, για παράδειγμα
2001:db8::10.
Οι υπολογιστές βρίσκουν ο ένας τον άλλον μόνο μέσω αυτών των αριθμών. Εμείς οι άνθρωποι προτιμούμε να θυμόμαστε ονόματα. Το example.com το θυμάστε πιο εύκολα από το 192.0.2.10, και ο αριθμός μπορεί να αλλάξει χωρίς να αλλάξει το όνομα. Αν ένας ιστότοπος μετακομίσει σε άλλον server, θα πάρει διαφορετικό αριθμό. Το όνομα παραμένει το ίδιο.
Χρειάζεται λοιπόν κάτι που να μεταφράζει ονόματα σε αριθμούς. Αυτό είναι το Domain Name System, εν συντομία DNS.
Ο τηλεφωνικός κατάλογος
Μπορείτε να παρομοιάσετε το DNS με έναν τηλεφωνικό κατάλογο, ή με τη λίστα επαφών στο κινητό σας. Ψάχνετε ένα όνομα και παίρνετε έναν αριθμό πίσω. Αν πληκτρολογήσετε example.com στον browser σας, συμβαίνει το εξής:
- Ο browser σας ρωτά το DNS: «Ποια είναι η διεύθυνση του example.com;»
- Το DNS απαντά: «192.0.2.10.»
- Ο browser σας συνδέεται με το 192.0.2.10 και ζητά τον ιστότοπο.
Αυτή η αναζήτηση ονομάζεται αναζήτηση ή, στα αγγλικά, lookup. Γίνεται αστραπιαία: συνήθως διαρκεί λιγότερο από ένα δέκατο του δευτερολέπτου. Δεν το αντιλαμβάνεστε λοιπόν καθόλου, όσο λειτουργεί σωστά.
Όχι μόνο για ιστότοπους
Η εικόνα του τηλεφωνικού καταλόγου είναι σχεδόν σωστή, αλλά το DNS μπορεί να αποθηκεύσει περισσότερα από έναν αριθμό ανά όνομα. Σε ένα domain υπάρχουν διάφορα είδη δεδομένων, το καθένα για διαφορετικό σκοπό. Ένα τέτοιο δεδομένο ονομάζεται εγγραφή. Μερικά παραδείγματα:
| Ερώτηση | Τύπος εγγραφής | Απάντηση (παράδειγμα) |
|---|---|---|
| Σε ποια διεύθυνση IPv4 βρίσκεται ο ιστότοπος; | A | 192.0.2.10 |
| Σε ποια διεύθυνση IPv6 βρίσκεται ο ιστότοπος; | AAAA | 2001:db8::10 |
| Πού πρέπει να πηγαίνει το email για αυτό το domain; | MX | mail.example.com |
| Ποιοι servers επιτρέπεται να στέλνουν email εκ μέρους αυτού του domain; | TXT (SPF) | v=spf1 ip4:192.0.2.25 ~all |
Αν κάποιος στείλει email στο info@example.com, τότε ο server email του αποστολέα δεν ζητά την εγγραφή A, αλλά την εγγραφή MX: πού είναι το ταχυδρομικό κουτί αυτού του domain; Ο ιστότοπος και το email μπορούν έτσι να βρίσκονται σε δύο διαφορετικούς παρόχους. Αυτό είναι πολύ σύνηθες: ο ιστότοπος σε έναν πάροχο, το email στο Microsoft 365 ή στο Google Workspace.
Κάθε εγγραφή έχει πάντα τρία στοιχεία:
- ένα όνομα (για παράδειγμα
example.comήwww.example.com)· - έναν τύπο (A, AAAA, MX, TXT και μερικούς ακόμη)·
- μια τιμή (την απάντηση).
Επιπλέον, υπάρχει ένας αριθμός που δηλώνει πόσο καιρό μπορεί να διατηρηθεί στη μνήμη μια απάντηση. Αυτό ονομάζεται TTL. Σχετικά με αυτό θα μάθετε στην ενότητα 6.
Τι ΔΕΝ είναι το DNS
Μερικές παρανοήσεις είναι συχνές:
- Το DNS δεν αποθηκεύει ιστότοπους. Λέει μόνο πού βρίσκεται ο ιστότοπος. Τα αρχεία του ιστότοπού σας βρίσκονται σε έναν web server, όχι στο DNS.
- Το DNS δεν αποθηκεύει email. Λέει μόνο σε ποιον server πρέπει να παραδοθεί το email.
- Το DNS δεν γνωρίζει σελίδες. Το
example.com/contactδεν μπορείτε να το βάλετε στο DNS. Το DNS γνωρίζει μόνο ονόματα. Ό,τι έρχεται μετά την πρώτη κάθετο, το ρυθμίζει ο web server (μάθημα 3.4). - Το DNS δεν είναι αποδεικτικό ιδιοκτησίας. Ποιος είναι ο κάτοχος ενός domain, αναφέρεται στο μητρώο (registry), όχι στο DNS (μάθημα 1.3).
Ένας παγκόσμιος, κατανεμημένος τηλεφωνικός κατάλογος
Δεν υπάρχει ένας μεγάλος υπολογιστής με όλα τα ονόματα του internet. Αυτό δεν θα λειτουργούσε ποτέ: υπάρχουν εκατοντάδες εκατομμύρια domains και κάθε δευτερόλεπτο γίνονται τεράστιες ποσότητες ερωτημάτων. Για αυτό το DNS είναι κατανεμημένο. Κάθε φορέας διαχειρίζεται μόνο το δικό του κομμάτι:
- ο διαχειριστής του
.com(η εταιρεία Verisign) γνωρίζει ποιοι servers διαθέτουν τον τηλεφωνικό κατάλογο τουexample.com· για ένα domain.nlαυτό είναι ο SIDN, το μητρώο του .nl στην Ολλανδία· - αυτοί οι servers γνωρίζουν οι ίδιοι τις εγγραφές του
example.com.
Πώς ένα ερώτημα φτάνει μέσω αυτών των κομματιών στη σωστή απάντηση, θα το δείτε στο μάθημα 1.4. Το γεγονός ότι είναι κατανεμημένο εξηγεί επίσης κάτι που εκπλήσσει πολλούς: όταν αλλάζετε μια εγγραφή, δεν το βλέπουν όλοι ταυτόχρονα. Πολλοί υπολογιστές στη διαδρομή διατηρούν μια απάντηση στη μνήμη για λίγο καιρό (η cache). Σχετικά με αυτό θα μάθετε στα μαθήματα 6.1 και 6.2.
Γιατί πρέπει να το γνωρίζετε ως κάτοχος domain
Όσο όλα λειτουργούν, δεν χρειάζεται να ασχοληθείτε με το DNS. Αλλά θα το συναντήσετε μόλις:
- ο ιστότοπός σας ή το email σας μεταφερθεί σε άλλον πάροχο·
- μια υπηρεσία όπως το Google, η Microsoft, μια πλατφόρμα ηλεκτρονικού καταστήματος ή μια υπηρεσία newsletter σάς ζητήσει: «προσθέστε αυτή την εγγραφή στο DNS σας»·
- το email σας καταλήξει στα spam και κάποιος σας πει ότι το SPF, το DKIM ή το DMARC δεν είναι σωστά ρυθμισμένα·
- ο ιστότοπός σας, μετά από μια αλλαγή, λειτουργεί «σε κάποιους ναι και σε άλλους όχι».
Ένα μικρό λάθος στο DNS μπορεί να ρίξει τον ιστότοπό σας ή το email σας. Γι' αυτό αξίζει να καταλάβετε τι κάνετε. Αυτό το μάθημα σάς βοηθά σε αυτό, βήμα βήμα.
Σύνοψη
- Οι υπολογιστές βρίσκουν ο ένας τον άλλον μέσω διευθύνσεων IP (IPv4 όπως
192.0.2.10, IPv6 όπως2001:db8::10)· οι άνθρωποι χρησιμοποιούν ονόματα. - Το DNS μεταφράζει ονόματα σε δεδομένα, όπως διευθύνσεις IP και τον server email ενός domain.
- Κάθε δεδομένο είναι μια εγγραφή με ένα όνομα, έναν τύπο και μια τιμή.
- Το DNS δεν αποθηκεύει ιστότοπους ή email και δεν γνωρίζει σελίδες: δείχνει μόνο τον δρόμο.
- Το DNS είναι κατανεμημένο σε πάρα πολλούς servers και οι απαντήσεις διατηρούνται στη μνήμη για λίγο καιρό (cache).
Κουίζ
Άσκηση
Άσκηση Z1.1: Η διεύθυνση του sidn.nl. Αναζητήστε τη διεύθυνση IPv4 (εγγραφή A) και, αν υπάρχει, τη διεύθυνση IPv6 (εγγραφή AAAA) του sidn.nl (η ιστοσελίδα του SIDN, του μητρώου του .nl στην Ολλανδία). Χρησιμοποιήστε το εργαλείο μας Αναζήτηση διεύθυνσης IP (https://www.weboke.gr/anazitisi-ip), ένα άλλο online εργαλείο αναζήτησης DNS ή, αν το γνωρίζετε ήδη, την εντολή nslookup sidn.nl σε ένα παράθυρο εντολών. Συμπληρώστε τις διευθύνσεις που βρίσκετε.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké. Σε άλλους παρόχους η διαδικασία είναι παρόμοια.
