Skip navigation

Σύστημα ονοματολογίας DNS

Σύστημα Ονοματολογίας DNS

Όπως έχει ήδη αναφερθεί, κάθε υπολογιστής (host) που συμμετέχει σε ένα δίκτυο τεχνολογίας TCP/IP αποκτά μία και μοναδική διεύθυνση IP (π.χ. 128.174.5.50). Οι διευθύνσεις IP προσδιορίζουν διεπαφές υπολογιστών ή δρομολογητών και κάθε διεύθυνση IP περιέχει πληροφορία που χρησιμοποιείται για τη δρομολόγηση των πακέτων IP. Επειδή όμως οι χρήστες βρίσκουν αρκετά δύσκολο να θυμούνται διευθύνσεις αυτής της μορφής, χρησιμοποιούν συμβολικά ονόματα, με τα οποία αναφέρονται στις συσκευές και στα δίκτυα.

Για παράδειγμα, σε ένα TCP/IP δίκτυο αποτελούμενο από τέσσερις υπολογιστές, η αντιστοιχία IP διευθύνσεων και συμβολικών ονομάτων θα μπορούσε να είναι η εξής:

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

Όταν όμως έχουμε συναλλαγές με το Διαδίκτυο (Internet), είναι προφανές ότι είναι δύσκολο να μπορούμε να απομνημονεύσουμε διευθύνσεις IP (έτσι ώστε να ξέρουμε π.χ τη διεύθυνση της κεντρικού εξυπηρετητή (server) του Πανεπιστημίου Πατρών). Γι’ αυτό το λόγο έχει αναπτυχθεί ένα σύστημα ονοματοδοσίας των υπολογιστών του Διαδικτύου και μια υπηρεσία καταλόγου για αναζήτηση των ονομάτων. Η υπηρεσία αυτή ονομάζεται DNS (Domain Name Service – Υπηρεσία Ονομασίας Περιοχών).

To σύστημα ονομασίας περιοχών (DNS) είναι μια κατανεμημένη βάση δεδομένων στο Διαδίκτυο που επιτρέπει τη μετάφραση ανάμεσα σε ονόματα και διευθύνσεις IP. Θα μπορούσαμε να πούμε ότι το DNS είναι ο «τηλεφωνικός κατάλογος του Διαδικτύου». Είναι ο μηχανισμός του Διαδικτύου για την αναφορά μέσω ονομάτων σε ό,τι πόρους χρησιμοποιούμε σε αυτό και που μας επιτρέπει τη μετάφραση ονομάτων σε διευθύνσεις IP και το αντίστροφο. Πρόκειται για μία κατανεμημένη βάση δεδομένων που εφαρμόζεται σε μια ιεραρχία πολλών εξυπηρετητών ονομάτων (DNS servers).

Περιλαμβάνει:

  • το χώρο ονομάτων
  • τους εξυπηρετητές μέσω των οποίων γίνεται διαθέσιμος ο χώρος ονομάτων
  • τους αναλυτές (resolvers) που ερωτούν τους εξυπηρετητές περί του χώρου ονομάτων.

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

Το πρωτόκολλο DNS είναι επιπέδου εφαρμογής (Application Layer) που επιτρέπει σε υπολογιστές (hosts), δρομολογητές (routers) και εξυπηρετητές DNS (Name Servers) να επικοινωνούν για να αναλύσουν (resolve) ονόματα (μεταφράσουν ονόματα σε διεύθυνση IP). Είναι βασική λειτουργία του κορμού του Διαδικτύου, όπου οι αναζητήσεις DNS γίνονται από οποιοδήποτε μηχάνημα και οποιαδήποτε υπηρεσία. Τα αποτελέσματα από μακρινούς εξυπηρετητές ονομάτων αποθηκεύονται προσωρινά σε τοπική μνήμη, ώστε να βελτιωθεί η επίδοση.

Χώρος ονομάτων του DNS

Το Διαδίκτυο είναι χωρισμένο νοητά σε εκατοντάδες διαφορετικές περιοχές (domains) υψηλού επιπέδου που αναλύονται σε υποπεριοχές (subdomains), κ.ο.κ., με πολλούς υπολογιστές (hosts) η καθεμία. Οι περιοχές μπορεί να παρασταθούν με ένα δέντρο. Τα ονόματα των περιοχών απαρτίζουν μια ιεραρχία κατά τρόπο που τα ονόματα να είναι μοναδικά και να απομνημονεύονται εύκολα. Ένας οργανισμός είναι αρμόδιος για μέρος του χώρου ονομάτων και μπορεί να προσθέσει επιπλέον επίπεδα στην ιεραρχία.

Ιεραρχία του DNS

Κάθε κόμβος στο δένδρο DNS αναπαριστά ένα όνομα DNS (DNS name). Κάθε κλαδί κάτω από ένα κόμβο είναι μια περιοχή DNS (DNS domain). Η περιοχή DNS μπορεί να περιέχει hosts ή άλλες υποπεριοχές (subdomains).

Η κορυφή του δένδρου είναι η ρίζα (root) και συμβολίζεται με μία τελεία «.». Η IANA (Internet Assigned Numbers Authority) είναι η επίσημη αρχή που διαχειρίζεται τη ρίζα του DNS. Κάτω από την κορυφή υπάρχουν οι περιοχές ανωτάτου επιπέδου (top level domains ή περιοχές 1ου επιπέδου ή βασικές περιοχές). Αρχικά (1988) υπήρχαν: edu, gov, com, org, mil, net, int, arpa. Αργότερα, προστέθηκαν περιοχές για κάθε χώρα (όνομα περιοχής με 2 γράμματα), όπως: gr, nl, uk, us, jp, it, fr κ.ά. Στη συνέχεια εγκρίθηκαν αρκετές νέες περιοχές (π.χ. biz, info, post, tel κ.ά.). H διαχείριση τους (εκτός των .int και .arpa) έχει εκχωρηθεί από την IANA σε άλλους υπεύθυνους οργανισμούς.

Κάτω από κάθε περιοχή 1ου επιπέδου, υπάρχει δεύτερο επίπεδο περιοχών, που προσδιορίζει συνήθως τον οργανισμό ή την εταιρεία στην οποία ανήκει το δίκτυο. Οι περιοχές αυτές (domains) ονομάζονται περιοχές 2ου επιπέδου και κάθε μία είναι μοναδική. Η διαχείριση του χώρου ονομάτων κάτω από τις περιοχές ανωτάτου επιπέδου έχει εκχωρηθεί σε οργανισμούς, που μπορούν να εκχωρήσουν περαιτέρω τη διαχείριση υποπεριοχών τους (subdomains). Κάθε νέο subdomain αντιστοιχεί σε περιοχή ονομάτων 3ου επιπέδου.

Παράδειγμα: Το όνομα ektor.tc.ntua.gr, προσδιορίζει τον ηλεκτρονικό υπολογιστή (host) με το συμβολικό όνομα “ektor”, που βρίσκεται στην υποπεριοχή (subdomain) “tc” (3ου επιπέδου) που δηλώνει τα μηχανήματα του εργαστηρίου τηλεπικοινωνιών, η οποία ανήκει στη περιοχή (domain) “ntua” (2ου επιπέδου) του Εθνικού Μετσόβιου Πολυτεχνείου και η οποία έχει καταχωρηθεί στη βασική περιοχή “.gr” (1ου επιπέδου) που αφορά την Ελλάδα.

Οργάνωση DNS

Το DNS είναι οργανωμένο ως μία κατανεμημένη βάση δεδομένων που χρησιμοποιεί το μοντέλο πελάτη – εξυπηρετητή. Για να λειτουργήσει το DNS χρησιμοποιεί τους κόμβους της βάσης αυτής που είναι οι εξυπηρετητές ονομάτων (Name Servers), οι οποίοι βρίσκονται σε διαφορετικά σημεία του Διαδικτύου, συνεργάζονται μεταξύ τους και μας πληροφορούν σχετικά με το ποιο όνομα αντιστοιχεί σε ποια IP διεύθυνση και αντίστροφα.

Η ιεραρχία του χώρου ονομάτων ανταποκρίνεται σε μία αντίστοιχη ιεραρχία εξυπηρετητών ονομάτων.

Κάθε εξυπηρετητής είναι υπεύθυνος για ένα συμπαγές τμήμα του χώρου ονομάτων DNS που αποκαλείται ζώνη (zone). Ο εξυπηρετητής ονομάτων απαντά σε ερωτήσεις (queries) για τους υπολογιστές (hosts) της ζώνης του. Κάθε ζώνη είναι εμφωλευμένη σε ένα κόμβο του δένδρου. Οι ζώνες δεν είναι περιοχές (domains). Η ζώνη είναι τμήμα του χώρου ονομάτων DNS που εν γένει αποθηκεύεται σε ένα αρχείο. Ο εξυπηρετητής ονομάτων μπορεί να χωρίσει μέρος της ζώνης του και να το εκχωρήσει σε άλλους εξυπηρετητές.

Κανένας εξυπηρετητής DNS δεν έχει όλες τις αντιστοιχίες ονομάτων σε διευθύνσεις IP. Για να βρεθεί μία συγκεκριμένη αντιστοίχιση πιθανόν να πρέπει να γίνουν ερωτήσεις σε πολλούς εξυπηρετητές DNS. Για κάθε ζώνη πρέπει να υπάρχει ένας κύριος εξυπηρετητής και ένας αριθμός από δευτερεύοντες εξυπηρετητές. Ο κύριος εξυπηρετητής (primary server) διατηρεί ένα αρχείο ζώνης με την πρωτότυπη πληροφορία για τη ζώνη. Ο δευτερεύων εξυπηρετητής (secondary server) διατηρεί αντίγραφα των δεδομένων που αποθηκεύονται στον κύριο εξυπηρετητή.

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

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

Το πρωτόκολλο DNS είναι του τύπου πελάτη – εξυπηρετητή και ανήκει στο επίπεδο εφαρμογής του μοντέλου TCP/IP. Ο πελάτης DNS ονομάζεται αναλυτής (resolver). Το πρωτόκολλο DNS υποστηρίζει τη μετατροπή ονομάτων σε διευθύνσεις (ανάλυση, resolution), καθώς και την ενημέρωση των δεδομένων μεταξύ των εξυπηρετητών ονομάτων.

Ανάλυση ονομάτων (name resolution) είναι η διαδικασία με την οποία αναλυτές και εξυπηρετητές ονομάτων συνεργάζονται ώστε να βρουν δεδομένα εντός του χώρου ονομάτων. Για την ανεύρεση δεδομένων, ο εξυπηρετητής ονομάτων χρειάζεται μόνο το όνομα και τη διεύθυνση IP των εξυπηρετητών ονομάτων κορυφής (ρίζας). Οι εξυπηρετητές κορυφής γνωρίζουν όλες τις περιοχές ανωτάτου επιπέδου και μπορούν να υποδείξουν τους εξυπηρετητές με τους οποίους μπορεί να γίνει επαφή.


(c) Αμπατζόγλου Ιωάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ηλεκτρονικών ΠΕ1708