Εισαγωγή στο DNS: Έννοιες, ορολογία και τρόπος λειτουργίας

08/11/2023 / Dns Networking
dns-introduction

Το DNS (Domain Name System) είναι ένα ιεραρχικό σύστημα ονοματοδοσίας υπολογιστών και υπηρεσιών στο διαδίκτυο. Συνδέει τα domain names, που δίνουμε σε διάφορους ιστοχώρους, με τους servers που είναι αποθηκευμένοι.

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



Ορολογία

Domain Name System
Το Domain Name System ή DNS είναι ένα σύστημα που μας επιτρέπει να συνδέουμε μοναδικές IP διευθύνσεις με ονόματα φιλικά προς το χρήστη.

Domain Name
Το domain name είναι ένα φιλικό προς το χρήστη όνομα το οποίο το χρησιμοποιούμε για να προσδιορίσουμε μια διαδικτυακή πηγή. Για παράδειγμα, το facebook.com είναι ένα domain name.

IP Address
Η διεύθυνση IP προσδιορίζει μια τοποθεσία μέσα σε ένα δίκτυο ή στο διαδίκτυο. Στο δίκτυο αυτό η IP πρέπει να είναι μοναδική. Το πιο συνηθισμένο format ΙP διευθύνσεων είναι το IPv4 και είναι της μορφής 111.222.111.222.

Top-Level Domain 
Το TLD είναι στην κορυφή της ιεραρχίας όσον αφορά τα domain names. Για παράδειγμα ένα domain name είναι το facebook.com. Ενα Top-Level Domain name όμως είναι μόνο το επίθεμα .com ή .net ή .gov κλπ. Τα TLD τα διαχειρίζεται το ICANN (Internet Corporation for Assigned Names and Numbers) και επιτρέπει σε άλλους οργανισμούς τη χρήση τους, πχ. το .gov σε κυβερνήσεις ή το .com σε εταιρείες.

Hosts
Hosts είναι διάφοροι υπολογιστές ή διάφορες εργασίες μέσα σε ένα domain. Οι Hosts καθορίζονται από τον ιδιοκτήτη του Domain.

SubDomain
Kάθε domain μπορεί να έχει subdomains, τα οποία είναι ιεραρχικά κάτω από αυτό. Για παράδειγμα, το google.com είναι subdomain του domain .com .

Fully Qualified Domain Name
Fully Qualified Domain Name ή FQDN είναι το ολοκληρωμένο όνομα domain ενός υπολογιστή. Για παράδειγμα, το FQDN για έναν υποθετικό mail server είναι το mymail.college.edu , όπου το hostname είναι mymail και βρίσκεται μέσα στο domain college.edu .

Name Server 
Name Server λέμε κάθε υπολογιστή που έχει σχεδιαστεί για να μεταφράζει διευθύνσεις IP σε Domain Names και το αντίστροφο. Αυτοί οι Server κάνουν την περισσότερη δουλειά σε ένα σύστημα DNS.

Zone File
Τα Zone Files είναι απλά text αρχεία που περιέχουν τις μεταφράσεις των Domain Names σε IP διευθύνσεις. Τα Zones Files όπως είναι λογικό, υπάρχουν μέσα στους Name Servers.

Records
Τα Records είναι πρακτικά εγγραφές που υπάρχουν μέσα σε ένα Zone File. Είναι δηλαδή μια ζεύξη ανάμεσα σε ένα όνομα και μια συσκευή του δικτύου.

 

Πώς δουλεύει το DNS

Το DNS είναι κατά βάση ένα ιεραρχικό σύστημα. Για να καταλάβουμε πώς δουλεύει ας πούμε για παράδειγμα ότι θέλουμε να φορτώσουμε την σελίδα wikipedia.org.

Resolving Name Server
Είναι ένας με server με σκοπό να στέλνει αιτήματα σε άλλους server. Συνήθως, ο κάθε χρήστης έχει στη διάθεσή του παραπάνω από έναν τέτοιους, ως μεσολαβητές για τα αιτήματά του προς τους root server. Οι Resolving Name Servers παρέχονται συνήθως από τον ISP.

Root Servers
Οι Root Servers είναι στην κορυφή της ιεραρχίας. Όταν γίνει αίτημα για το wikipedia.org, o Root Server δεν περιέχει στις εγγραφές του το wikipedia.org. Αυτό που κάνει όμως είναι να μας δώσει τη διεύθυνση του TLD server που διαχειρίζεται τα domains τύπου .org.

TLD Servers 
Έπειτα θα γίνει νέο request, αυτή την φορά προς τον TLD server. Ο TLD server στα zone files του δεν περιέχει ούτε αυτός το wikipedia.org. Όμως ο TLD θα μας δώσει τη διεύθυνση του Domain-Level Name Server που περιέχει το wikipedia.org.

Domain-Level Name Servers 
Τέλος, στέλνουμε άλλη μια φορά αίτημα, αυτή την φορά στον Domain-Level Name Server, o οποίος περιέχει στα zone files του το wikipedia.org και αυτός μας στέλνει την IP του wikipedia.org ώστε επιτέλους να συνδεθούμε. 

Σημείωση

Οι Resolving Name Servers διαθέτουν μνήμη cache. Έτσι, αν έχει γίνει ήδη πρόσφατα αίτημα για τον wikipedia.org, θα έχει κρατήσει την IP στην cache του έτοιμη και δεν θα χρειαστεί όλη η παραπάνω διαδικασία.

Zones Files

Τα zone files είναι ο τρόπος με τον οποίο οι servers αποθηκεύουν τις πληροφορίες για τα domain που γνωρίζουν. Όταν σε έναν Name Server γίνεται ένα request για ένα domain, το πρώτο πράγμα που κάνει είναι να ψάξει τα zone files του για να δεί αν έχει γίνει κάποιο record για το domain αυτό. Αν βρεί την απάντηση, την επιστρέφει, αλλιώς θα κατευθύνει τον requester στο πιο κάτω επίπεδο της ιεραρχίας.

Στην κορυφή ενός zone file βρίσκεται η παράμετρος $ORIGIN. Αυτή δείχνει ποιο domain καθορίζει το zone file. Για παράδειγμα, για τη σελίδα example.com η παράμετρος origin θα περιέχει το example .com .

Μια άλλη παράμετρος είναι η $ΤΤL (time to live). Αυτή βασικά είναι ένα χρονόμετρο, που καθορίζει για πόσο οι πληροφορίες του zone file θα κρατηθούν στην cache, έτσι ώστε αν γίνουν πολλά αιτήματα για το ίδιο domain name να υπάρχει γρηγορότερη ανταπόκριση.

Record Types

Μέσα σε ένα zone file, υπάρχουν πολλά είδη εγγραφών. Παρακάτω θα δούμε τις πιο βασικές:

SOA Records 
Start of Authority ή SOA είναι η εγγραφή που βρίσκεται πιο πάνω από όλες σε ένα zone file (αν εξαιρέσουμε τις παραμέτρους $origin και $ttl). Επίσης, η παρουσία της είναι υποχρεωτική! Μία εγγραφή SOA έχει την ακόλουθη μορφή:

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                           12083   ; serial number
                                           3h      ; refresh interval
                                           30m     ; retry interval
                                           3w      ; expiry period
                                           1h      ; negative TTL
)

A and AAAA Records 
Αυτές οι εγγραφές χρησιμοποιούνται για να συνδέσουν έναν host με μία IP διεύθυνση. Αν είναι IPv4 διεύθυνση, τότε είναι εγγραφή τύπου “Α”. Αν είναι IPv6, τότε η εγγραφή είναι τύπου “ΑΑΑΑ”. Το φορμάτ αυτών των εγγραφών φαίνεται παρακάτω:

host     IN      A       IPv4_address
host     IN      AAAA    IPv6_address

CNAME Records
Οι εγγραφές CNAME χρησιμοποιούνται για να δώσουν ένα alias στο κανονικό όνομα ενός server (που προσδιορίζεεται απο τις εγραφές A και AAAA). Για παράδειγμα: 

server1     IN  A       111.111.111.111
www         IN  CNAME   server1 

Πρώτα δώσαμε την IP διεύθυνση στον server1 και έπειτα δημιουργήσαμε το alias www για τον server1.

MX Records 
Είναι εγγραφές που έχουν σχέση με την ανταλλαγή mails που γίνονται μέσα στο domain. Βοηθάνε ώστε τα email να φτάνουν χωρίς λάθη στους mail servers. Για παράδειγμα, εάν σε ένα domain έχουμε 2 mail servers η εγγραφή MX θα έχει τη μορφή:

      IN  MX  10  mail1.domain.com.
       IN  MX  50  mail2.domain.com.

Οι αριθμοί 10 και 50 χρησιμοποιούνται για να δοθεί προτεραιότητα όταν υπάρχουν παραπάνω από έναν mail server. Οι χαμηλότεροι αριθμοί έχουν υψηλότερη προτεραιότητα.

NS Records 
Οι εγγραφές NS προσδιορίζουν τους name servers που χρησιμοποιούνται για αυτό το zone. Έχουν την μορφή:

IN  NS     ns1.domain.com.
       IN  NS     ns2.domain.com.

  • PTR Records Οι εγγραφές PTR είναι το ακριβώς ανάποδο των εγγραφών AAAA ή Α. Χρησιμοποιούνται για να συνδέσουν μια IP με έναν host. Έχουν την μορφή :

444.333.222.111.in-addr.arpa.   33692   IN  PTR host.example.com.



Στην Cloud Concept στόχο αποτελεί η αδιάλειπτη τεχνική υποστήριξη των αναγκών σας, η προσφορά managed υπηρεσιών υψηλού επιπέδου και η παροχή πρόσβασης σε χρήσιμες προτάσεις για την αποδοτική διαχείριση των δεδομένων σας.

Μάθετε περισσότερα για τις υπηρεσίες μας εδώ.

Ακολουθήστε μας σε LinkedInFacebook & Instagram για να μένετε ενημερωμένοι!

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ