Δίκτυα σε επίπεδα
Το μοντέλο TCP/IP, από το καλώδιο ως την εφαρμογή.
40 λεπτά
Θα μάθεις να
- Να εξηγείς γιατί τα δίκτυα οργανώνονται σε επίπεδα.
- Να περιγράφεις τα τέσσερα επίπεδα του μοντέλου TCP/IP και ένα πρωτόκολλο για το καθένα.
- Να αντιστοιχίζεις τα επτά επίπεδα του OSI στα επίπεδα του TCP/IP.
- Να περιγράφεις την ενθυλάκωση και να υπολογίζεις το κόστος των κεφαλίδων.
- Να επιλέγεις ανάμεσα σε TCP και UDP για μια εφαρμογή.
Γιατί επίπεδα
Όταν ανοίγεις μια ιστοσελίδα, το αίτημά σου ταξιδεύει ίσως χιλιάδες χιλιόμετρα, μέσα από Wi-Fi, οπτικές ίνες και δεκάδες ενδιάμεσα μηχανήματα διαφορετικών κατασκευαστών, και φτάνει σε έναν υπολογιστή που δεν έχει ιδέα τι συσκευή κρατάς. Κανένα πρόγραμμα δεν θα μπορούσε να τα χειριστεί όλα αυτά μαζί.
Η λύση είναι η διαστρωμάτωση: το πρόβλημα σπάει σε επίπεδα (layers). Κάθε επίπεδο λύνει ένα κομμάτι, χρησιμοποιεί τις υπηρεσίες του από κάτω και προσφέρει υπηρεσίες στο από πάνω. Οι κανόνες με τους οποίους επικοινωνεί ένα επίπεδο λέγονται πρωτόκολλο (protocol).
Είναι σαν ένα γράμμα. Εσύ γράφεις το κείμενο και δεν σε νοιάζει με ποιο φορτηγό θα ταξιδέψει. Το ταχυδρομείο διαβάζει μόνο τη διεύθυνση στον φάκελο και δεν ανοίγει το γράμμα. Ο οδηγός του φορτηγού ξέρει μόνο σε ποιο κέντρο διαλογής πηγαίνει το σακί.
Το μοντέλο TCP/IP
Το Διαδίκτυο λειτουργεί με το μοντέλο TCP/IP, που έχει τέσσερα επίπεδα:
| Επίπεδο | Τι λύνει | Πρωτόκολλα | Διεύθυνση |
|---|---|---|---|
| 4. Εφαρμογής | τι λένε μεταξύ τους τα προγράμματα | HTTP, HTTPS, DNS, SMTP, IMAP | ονόματα, π.χ. www.example.org |
| 3. Μεταφοράς | από διεργασία σε διεργασία, αξιόπιστα ή γρήγορα | TCP, UDP | θύρα (port), π.χ. |
| 2. Διαδικτύου | από υπολογιστή σε υπολογιστή, σε όλο τον κόσμο | IP | διεύθυνση IP, π.χ. 192.168.1.10 |
| 1. Πρόσβασης δικτύου | από συσκευή σε συσκευή, μέσα στο τοπικό δίκτυο | Ethernet, Wi-Fi | διεύθυνση MAC |
Μερικά βιβλία χωρίζουν το κατώτερο επίπεδο σε δύο, ζεύξης δεδομένων και φυσικό, και μιλούν για πέντε επίπεδα. Η ουσία είναι ίδια.
Το επίπεδο διαδικτύου είναι η καρδιά του μοντέλου. Κάθε υπολογιστής έχει μια διεύθυνση IP. Στην εκδοχή IPv4 είναι bit και γράφεται ως τέσσερις αριθμοί από έως . Αφού είναι περίπου δισεκατομμύρια, οι διευθύνσεις IPv4 δεν φτάνουν για όλες τις συσκευές του κόσμου, και γι' αυτό υπάρχει το IPv6, με διευθύνσεις bit. Οι δρομολογητές (routers) διαβάζουν τη διεύθυνση προορισμού κάθε πακέτου και το στέλνουν ένα βήμα πιο κοντά.
Το επίπεδο μεταφοράς φέρνει τα δεδομένα στο σωστό πρόγραμμα μέσα στον υπολογιστή, με τον αριθμό της θύρας: για HTTP, για HTTPS, για DNS. Έχει δύο βασικά πρωτόκολλα:
| TCP | UDP | |
|---|---|---|
| Σύνδεση | ανοίγει σύνδεση πριν στείλει | στέλνει κατευθείαν |
| Αξιοπιστία | ό,τι χαθεί ξαναστέλνεται | ό,τι χαθεί, χάθηκε |
| Σειρά | τα δεδομένα φτάνουν με τη σειρά που στάλθηκαν | μπορεί να φτάσουν ανακατεμένα |
| Ταχύτητα | πιο αργό, λόγω των ελέγχων | πιο γρήγορο |
| Για | ιστοσελίδες, email, αρχεία | βιντεοκλήσεις, παιχνίδια, DNS |
Ενθυλάκωση
Κάθε επίπεδο παίρνει ό,τι του δίνει το από πάνω, χωρίς να το ανοίξει, και του προσθέτει μπροστά τη δική του κεφαλίδα (header) με τις πληροφορίες που χρειάζεται. Αυτό λέγεται ενθυλάκωση (encapsulation).
| Επίπεδο | Προσθέτει | Η μονάδα λέγεται |
|---|---|---|
| Εφαρμογής | — | μήνυμα, π.χ. ένα αίτημα HTTP |
| Μεταφοράς | κεφαλίδα TCP: θύρες, αριθμός σειράς | τμήμα (segment) |
| Διαδικτύου | κεφαλίδα IP: διευθύνσεις IP αποστολέα και παραλήπτη | πακέτο (packet) |
| Πρόσβασης δικτύου | κεφαλίδα και ουρά Ethernet: διευθύνσεις MAC, έλεγχος σφαλμάτων | πλαίσιο (frame) |
Στο καλώδιο ή στον αέρα, ένα πλαίσιο μοιάζει έτσι:
[Ethernet][ IP ][ TCP ][ δεδομένα HTTP ][ουρά Ethernet]
κεφαλίδα κεφαλ. κεφαλ.
Στον παραλήπτη γίνεται το ανάποδο, η αποενθυλάκωση: κάθε επίπεδο αφαιρεί τη δική του κεφαλίδα, κάνει ό,τι λέει, και δίνει το υπόλοιπο στο από πάνω.
Ονόματα και δρόμοι
Οι άνθρωποι θυμούνται ονόματα, οι δρομολογητές δουλεύουν με αριθμούς. Το DNS (Domain Name System) είναι ο «τηλεφωνικός κατάλογος» του Διαδικτύου: μεταφράζει ένα όνομα όπως www.example.org στη διεύθυνση IP του εξυπηρετητή. Δεν είναι ένας υπολογιστής αλλά ένα ιεραρχικό σύστημα από χιλιάδες εξυπηρετητές, καθένας υπεύθυνος για ένα κομμάτι των ονομάτων.
Όταν ξέρει τη διεύθυνση προορισμού, ο υπολογιστής σου δεν γνωρίζει ολόκληρη τη διαδρομή ως εκεί. Στέλνει το πακέτο στον δρομολογητή του σπιτιού, αυτός στον πάροχο, κι εκείνος στον επόμενο. Κάθε δρομολογητής αποφασίζει μόνο το επόμενο βήμα, με βάση έναν πίνακα δρομολόγησης. Αν μια σύνδεση κοπεί, τα πακέτα βρίσκουν άλλον δρόμο, και δύο πακέτα της ίδιας σελίδας μπορεί να ταξιδέψουν από διαφορετικές διαδρομές.
Το μοντέλο OSI
Πριν επικρατήσει το TCP/IP, ο Διεθνής Οργανισμός Τυποποίησης (ISO) πρότεινε το μοντέλο OSI, με επτά επίπεδα. Στην πράξη δεν υλοποιήθηκε ποτέ ευρέως, αλλά η ορολογία του χρησιμοποιείται παντού: όταν ένας τεχνικός λέει «πρόβλημα στο επίπεδο 2», εννοεί το επίπεδο ζεύξης του OSI.
| OSI | Αντιστοιχεί στο TCP/IP |
|---|---|
| 7. Εφαρμογής | Εφαρμογής |
| 6. Παρουσίασης: μορφή και κρυπτογράφηση δεδομένων | Εφαρμογής |
| 5. Συνόδου: άνοιγμα και κλείσιμο συνομιλίας | Εφαρμογής |
| 4. Μεταφοράς | Μεταφοράς |
| 3. Δικτύου | Διαδικτύου |
| 2. Ζεύξης δεδομένων | Πρόσβασης δικτύου |
| 1. Φυσικό: bits ως τάσεις, φως ή ραδιοκύματα | Πρόσβασης δικτύου |
Λυμένα παραδείγματα
Παράδειγμα 1
Γράφεις www.example.org στον φυλλομετρητή. Ποια πρωτόκολλα χρησιμοποιούνται, και σε ποιο επίπεδο του TCP/IP, μέχρι να φτάσει το αίτημα;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Ένα πλαίσιο Ethernet μεταφέρει bytes δεδομένων. Η κεφαλίδα TCP είναι bytes, η IP bytes, και το Ethernet προσθέτει bytes. Τι ποσοστό του πλαισίου είναι χρήσιμα δεδομένα;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Μια εφαρμογή βιντεοκλήσεων στέλνει εικόνες το δευτερόλεπτο. Γιατί προτιμά το UDP από το TCP;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 4
Το λάπτοπ είναι συνδεδεμένο στο Wi-Fi και «βλέπει» τον δρομολογητή του σπιτιού, αλλά καμία ιστοσελίδα δεν ανοίγει με το όνομά της. Ένας έλεγχος απόκρισης (ping) προς μια γνωστή διεύθυνση IP στο Διαδίκτυο όμως πετυχαίνει. Σε ποιο επίπεδο είναι το πρόβλημα;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.
Τα κατάφερες;
- Να εξηγείς γιατί τα δίκτυα οργανώνονται σε επίπεδα.
- Να περιγράφεις τα τέσσερα επίπεδα του μοντέλου TCP/IP και ένα πρωτόκολλο για το καθένα.
- Να αντιστοιχίζεις τα επτά επίπεδα του OSI στα επίπεδα του TCP/IP.
- Να περιγράφεις την ενθυλάκωση και να υπολογίζεις το κόστος των κεφαλίδων.
- Να επιλέγεις ανάμεσα σε TCP και UDP για μια εφαρμογή.
Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.