Το Διαδίκτυο: Διευθύνσεις IP και DNS Γεια! Με λένε Πάολα και είμαι προγραμματίστρια στην Microsoft. Ας μιλήσουμε για το πως δουλεύει το διαδίκτυο. Η δουλειά μου βασίζεται στην ικανότητ των δικτύων να συνομιλούν μεταξύ τους. Την δεκαετία του 1970, όμως, δεν υπήρχε τυποποιημένη μέθοδος επικοινωνίας. Η εφεύρεση των πρωτοκόλλων διασύνδεσης δικτύων από τον Βιντ Σερφ και τον Μπομπ Καχν έκανε την επικοινωνία εφικτή. Αυτή η εφεύρεση έθεσε τις βάσεις για το σύγχρονο διαδίκτυο. Το διαδίκτυο είναι ένα δίκτυο δικτύων που συνδέει εκατομμύρια συσκευές ανά τον κόσμο. Όταν είστε λοιπόν συνδεδεμένοι με το λάπτοπ σας ή το κινητό σας μέσω wifi, τότε το wifi αυτό συνδέεται με έναν παροχέα υπηρεσιών διαδικτύου (ISP) και ο παροχέας αυτός σας συνδέει με δισεκατομμύρια συσκευές σε όλη τη γη διαμέσου εκατοντάδων χιλιάδων δικτύων που είναι όλα διασυνδεδεμένα μεταξύ τους. Το διαδίκτυο είναι στην ουσία μια φιλοσοφία σχεδιασμού και μια αρχιτεκτονική εκφραζόμενη σε ένα σύνολο πρωτοκόλλων. Ένα πρωτόκολλο είναι ένα σύνολο κανόνων και προτύπων που αν όλα τα μέρη γνωρίζουν και συμφωνήσουν να το χρησιμοποιούν τους επιτρέπει να επικοινωνούν. Ιδιαίτερα εντυπωσιακό είναι ότι αυτή η σχεδιαστική φιλοσοφία έχει επιτρέψει στο ίντερνετ να προσαρμόζεται και να απορροφά νέες τεχνολογίες επικοινωνίας. Αυτό είναι εφικτό επειδή όταν μια νέα τεχνολογία θέλει να χρησιμοποιήσει το ίντερνετ για κάποιο σκοπό, το μόνο που χρειάζεται να ξέρει είναι με ποια πρωτόκολλα να συνεργαστεί. Όλες οι συσκευές στο διαδίκτυο έχουν μοναδικές διευθύνσεις. Μια διαδικτυακή διεύθυνση είναι απλά ένας αριθμός, σαν έναν αριθμό τηλεφώνου ή μια διεύθυνση οδού, που είναι μοναδικός σε κάθε υπολογιστή ή συσκευή στο διαδικτύο. Λειτουργεί όπως και η ταχυδρομική διεύθυνση. Για να στείλεις σε κάποιον ένα γράμμα, χρειάζεται να ξέρεις τη διεύθυνση του και πώς να τη γράψεις σωστά έτσι ώστε η ταχυδρομική υπηρεσία να παραδώσει το γράμμα στον προορισμό του. Το σύστημα διευθύνσεων για υπολογιστές στο διαδίκτυο είναι παρόμοιο και αποτελεί μέρος ενός από τα πιο σημαντικά πρωτόκολλα που χρησιμοποιούνται στην διαδικτυακή επικοινωνία και ονομάζεται Πρωτόκολλο Ίντερνετ ή IP. Η διεύθυνση ενός υπολογιστή επομένως ονομάζεται η διεύθυνση IP του. Όταν επισκέπτεστε μια ιστοσελίδα, στην ουσία απλά ο υπολογιστής σας ζητά πληροφορίες από έναν άλλο υπολογιστή. Ο υπολογιστής σας στέλνει ένα μήνυμα στη διεύθυνση IP του άλλου υπολογιστή μαζί με την δική του διεύθυνση έτσι ώστε ο άλλος υπολογιστής να ξέρει πού να στείλει την απάντηση. Μπορεί να έχετε δει μια διεύθυνση IP. Είναι μια σειρά αριθμοί! Αυτοί οι αριθμοί είναι οργανωμένοι ιεραρχικά. Ακριβώς όπως η ταχυδρομική διεύθυνση έχει χώρα, πόλη, οδό και αριθμό, μια διεύθυνση IP έχει πολλά μέρη. Όπως όλα τα ψηφιακά δεδομένα, κάθε αριθμός αναπαριστάται σε μπιτ. Οι συνηθισμένες διευθύνσεις IP έχουν 32 μπιτ, με 8 μπιτ για κάθε μέρος της διεύθυνσης. Τα πρώτα μπιτ αντιστοιχούν συνήθως τη χώρα και το τοπικό δίκτυο της συσκευής, Μετά είναι τα υποδίκτυα και τέλος η διεύθυνση της συγκεκριμένης συσκευής. Αυτός ο τρόπος διευθυνσιοδότησης IP ονομάζεται IPv4. Σχεδιάστηκε το 1973 και υιοθετήθηκε ευρέως στις αρχές της δεκαετίας του 1980 και παρέχει πάνω από 4 δισεκατομμύρια μοναδικές διευθύνσεις για συσκευές που συνδέονται στο Διαδίκτυο. Το διαδίκτυο όμως έγινε τελικά πολύ πιο δημοφιλές από όσο φαντάστηκε ακόμα και ο Βιντ Κερφ και 4 δισεκατομμύρια μοναδικές διευθύνσεις δεν είναι αρκετές. Είμαστε τώρα στη μέση μιας πολυετούς μετάβασης σε διευθύνσεις IP μεγαλύτερου μήκους, την έκδοση IPv6. Αυτή χρησιμοποιεί 128 μπιτ και παρέχει πάνω από 340 ενδεκάκις εκατομμύρια μοναδικές διευθύνσεις. Αυτές φτάνουν και περισσεύουν ακόμα και αν δίναμε ξεχωριστή διεύθυνση IP σε κάθε κόκκο άμμου που βρίσκεται πάνω στη γη. Οι περισσότεροι χρήστες δεν χρειάζεται να ανησυχήσουν για το ποια είναι η διεύθυνση IP τους. Ένα σύστημα που ονομάζεται σύστημα ονομάτων χώρου ή DNS συσχετίζει τα ονόματα όπως www.example.com με την αντίστοιχη διεύθυνση. Ο υπολογιστής σας χρησιμοποιεί το DNS για να ψάξει ονόματα χώρων και να πάρει την σχετική διεύθυνση IP που χρησιμοποιείται για να συνδέσει τον υπολογιστή σας με τον προορισμό στο διαδίκτυο. Και πηγαίνει κάπως έτσι: (υπολογιστής) "Γεια, θέλω να πάω στο www.code.org." (DNS) " Μμμ, δεν γνωρίζω όμως την διεύθυνση IP για αυτόν τον χώρο, άσε να ρωτήσω τριγύρω. Γεια, ξέρετε πως να πάω σε code.org;" (άλλος DNS) "Ναι, εδώ την έχω, είναι 174.129.14.120" (DNS) "Ωραία, ευχαριστώ πολύ. Θα το σημειώσω και θα το φυλάξω για αργότερα σε περίπτωση που το χρειαστώ ξανά. Έι, εδώ είναι αυτή η διεύθυνση που ήθελες" (υπολογιστής) Τέλεια. Σε ευχαριστώ." Πώς σχεδιάζουμε λοιπόν ένα σύστημα για δισεκατομμύρια συσκευές έτσι ώστε να μπορούν να βρουν οποιαδήποτε από δισεκατομμύρια ιστοσελίδες; Σίγουρα δεν μπορεί ένας διακομιστής DNS να χειριστεί όλα τα αιτήματα από όλες τις συσκευές. Η απάντηση είναι ότι οι διακομιστές DNS είναι συνδεδεμένοι με μια μοιρασμένη ιεραρχία και είναι χωρισμένοι σε ζώνες, μοιράζοντας μεταξύ τους την ευθύνη για τους σημαντικότερους τομείς όπως .org, .com, .net, κλπ. Το DNS αρχικά δημιουργήθηκε να είναι ένα ανοιχτό και δημόσιο πρωτόκολλο επικοινωνιάς για κυβερνητικούς και εκπαιδευτικούς οργανισμούς. Επειδή είναι ανοιχτό, είναι ευάλωτο σε κυβερνοεπιθέσεις. Ένα παράδειγμα επίθεσης είναι η παραποίηση δεδομένων DNS. Όταν δηλαδή ένας χάκερ εισχωρήσει σε έναν έναν διακομιστή DNS και αντιστοιχίσει ένα όνομα χώρου με λανθασμένη διεύθυνση IP, κατευθύνοντας τους ανθρώπους σε ένα ψεύτικο ιστότοπο. Αν σας συμβεί αυτό, είστε ευάλωτοι σε διάφορα προβλήματα, καθώς χρησιμοποιείτε εν αγνοία σας την ψεύτικη ιστοσελίδα σαν να ήταν η πραγματική. Το διαδίκτυο είναι τεράστιο και μεγαλώνει καθημερινά. Αλλά το σύστημα ονομάτων χώρου και το πρωτόκολλο ίντερνετ είναι σχεδιασμένα να μπορούν να προσαρμοστούν ανεξάρτητα από το πόσο επεκταθεί το διαδίκτυο.