Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο
Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά στην ιδέα του αυτοδύναμου πακέτου ή datagram, το οποίο σημαίνει ότι τα πακέτα μεταφέρονται από την πηγή στον προορισμό χωρίς να ακολουθούν συγκεκριμένη διαδρομή (το κάθε ένα μπορεί να ακολουθήσει διαφορετική). Οι έλεγχοι για αξιόπιστη μετάδοση γίνονται από το επίπεδο μεταφοράς, εφόσον χρησιμοποιείται το πρωτόκολλο TCP.
Internet Protocol (IP) Κάθε φορά που το TCP ή το UDP πρωτόκολλο από το επίπεδο μεταφοράς θέλει να μεταδώσει κάποιο τμήμα (θυμηθείτε ότι το TCP και το UDP παράγουν segments), το παραδίδει στο πρωτόκολλο IP. Η μόνη άλλη πληροφορία που χρειάζεται το IP (και η οποία του παρέχεται από το επίπεδο μεταφοράς) είναι η διεύθυνση του υπολογιστή προορισμού. Αυτό είναι και το μόνο στοιχείο που ενδιαφέρει το πρωτόκολλο IP. Το IP δεν ενδιαφέρεται καθόλου για το περιεχόμενο του τμήματος ή για το πως (και αν) σχετίζεται με το προηγούμενο ή επόμενο τμήμα που λαμβάνει. Απλώς τα προωθεί στον προορισμό τους.
Αυτοδύναμο IP Πακέτο To IP, αφού παραλάβει το τμήμα από το επίπεδο μεταφοράς θα προσθέσει τη δική του επικεφαλίδα με τα απαραίτητα στοιχεία, σχηματίζοντας έτσι ένα αυτοδύναμο IP πακέτο. Το μέγιστο μήκος του πακέτου αυτού έχει ορισθεί στα 64 Kbytes. Μετά το σχηματισμό του πακέτου, αποστολή του IP είναι να βρει την κατάλληλη διαδρομή που θα το οδηγήσει στον προορισμό του. Μετά τον προσδιορισμό της διαδρομής του πακέτου, γίνεται η μετάδοση του μέσω των φυσικών δικτύων, δηλαδή στο επίπεδο πρόσβασης δικτύου, όπου αντιστοιχούν τα φυσικά μέσα και συσκευές (καλώδια, κάρτες δικτύου, κλπ), τα οποία χρησιμοποιούνται.
Αυτοδύναμο IP Πακέτο
Διευθυνσιοδότηση Η IP διεύθυνση προορισμού είναι αυτή που υποδεικνύει σε ένα σύστημα, που πρέπει να παραδώσει ένα IP αυτοδύναμο πακέτο. Η διεύθυνση προσδιορίζει που βρίσκεται μια συσκευή, συνήθως τη λογική ή φυσική θέση της σε ένα δίκτυο. Το όνομα μπορεί επίσης να προσδιορίζει μια συσκευή ή ένα δίκτυο και χρησιμοποιείται κυρίως για λόγους ευκολίας. Η διαδρομή είναι το μονοπάτι που πρέπει να ακολουθήσει ένα αυτοδύναμο IP πακέτο για να φτάσει στον προορισμό του.
MAC Address Κάθε συσκευή που επικοινωνεί σε ένα δίκτυο διαθέτει δύο διευθύνσεις: Η μία είναι η διεύθυνση IP η οποία αποδίδεται από το πρωτόκολλο δικτύου και Η άλλη είναι η φυσική διεύθυνση γνωστή και ως διεύθυνση υλικού (hardware address). Οι φυσικές διευθύνσεις είναι μοναδικές, γιατί διαφορετικά δεν θα μπορούσαμε να προσδιορίσουμε τις συσκευές στο δίκτυο.
MAC Address Για παράδειγμα μια κάρτα δικτύου (που είναι από τις πλέον κοινές συσκευές σε ένα δίκτυο) διαθέτει μια φυσική διεύθυνση που της έχει αποδοθεί από τον κατασκευαστή της στο στάδιο της κατασκευής της. Σύμφωνα με το μοντέλο OSI, η φυσική διεύθυνση βρίσκεται στο υπο-επίπεδο πρόσβασης στο μέσο γνωστό και ως Media Access Control, το λόγο αυτό ονομάζεται και διεύθυνση MAC.
MAC Address Το μήκος της MAC διεύθυνσης προορισμού διαφέρει ανάλογα με το σύστημα, στα περισσότερα όμως συστήματα χρησιμοποιούνται διευθύνσεις μεγέθους 48 bits. Προκειμένου να εξασφαλιστεί η μοναδικότητα των διευθύνσεων, η ανάθεση τους γίνεται από το Ινστιτούτο Ηλεκτρολόγων και Ηλεκτρονικών Μηχανικών, IEEE, Institute of Electrical and Electronic Engineers. Τα 24 πρώτα bits της διεύθυνσης MAC περιέχουν ένα μοναδικό για κάθε κατασκευαστή αναγνωριστικό αριθμό, ο οποίος αποδίδεται από το ΙΕΕΕ. Τα άλλα 24 bits μπορεί ο κάθε κατασκευαστής να τα χρησιμοποιήσει όπως θέλει.
ΙΡ Διευθύνσεις Η ΙΡ διεύθυνση ενός υπολογιστή στο TCP/IP είναι μοναδική μέσα στο δίκτυο. Σε περιβάλλον τοπικού δικτύου μπορούμε εμείς να επιλέξουμε ΙΡ διευθύνσεις για τους Η/Υ. Το διαμοιρασμό των διευθύνσεων στο TCP/IP τον έχει αναλάβει ένας κεντρικός οργανισμός, ο NIC (Network Information Center). https://www.internic.net/
Δομή και μορφή των ΙΡ διευθύνσεων Η ΙΡ είναι ένας 32-bit αριθμός οργανωμένος σε τέσσερα δεκαδικά ψηφία (από 0-255 το καθένα), χωρισμένα με τελεία της μορφής πχ 10.14.28.135 ή 00001000.00001110.00011100.10000011 Μια διεύθυνση IP περιλαμβάνει δύο τμήματα: Την ταυτότητα του δικτύου (network identifier) Την ταυτότητα του κόμβου (host identifier) (π.χ. υπολογιστής) που βρίσκεται συνδεμένος στο συγκεκριμένο τμήμα του δικτύου. πρακτικά έχουν ταξινομηθεί τέσσερις κλάσεις δικτύων (Α,Β,C και D).
Ιεραρχική Αρχιτεκτονική Μια διεύθυνση IP χωρίζεται τυπικά σε δύο πεδία, το πεδίο δικτύου και το πεδίο υπολογιστή. Αυτό σημαίνει ότι ένα μέρος των ψηφίων της διεύθυνσης χρησιμοποιείται για να αναγνωρίσει το τμήμα του δικτύου ή υποδίκτυο και το υπόλοιπο το συγκεκριμένο μηχάνημα. Οι διευθύνσεις IP ακολουθούν ιεραρχική αρχιτεκτονική και αντανακλούν την εσωτερική ιεραρχική διαίρεση του δικτύου σε υποδίκτυα.
Βλέποντας το σχήμα παρατηρούμε μια ιεραρχία τριών επιπέδων: Α) Ολόκληρο το δίκτυο αναγνωρίζεται από τον αριθμό 22. Β) Έχει χωριστεί σε τρία υποδίκτυα, τα 35, 45 και 55. Γ) Καθένα από αυτά διαιρείται σε ακόμα μικρότερα υποδίκτυα που χαρακτηρίζονται από τον τρίτο αριθμό (1,2,3,4). Δ) Ο τελευταίος αριθμός που εδώ φαίνεται ως Χ χαρακτηρίζει τον υπολογιστή. Όπως καταλαβαίνετε, στο συγκεκριμένο δίκτυο έχουμε αποφασίσει οι τρεις πρώτοι αριθμοί (octets) να χαρακτηρίζουν το δίκτυο και ο τελευταίος τον υπολογιστή.
Κλάσεις Δικτύων Η κλάση της διεύθυνσης καθορίζεται από τα πρώτα τέσσερα πιο σημαντικά bits της διεύθυνσης. Όπως φαίνεται στο παρακάτω σχήμα οι διευθύνσεις της κλάσης Α αρχίζουν με 0, της κλάσης Β με 10, της κλάσης C με 110, της κλάσης D με 1110, ενώ διευθύνσεις που αρχίζουν με 1111 κρατιούνται για μελλοντική χρήση.
Ανάλυση των κλάσεων των δικτύων Η κλάση Α είναι για μεγάλα δίκτυα με πολλούς υπολογιστές, αφού επιτρέπει την ύπαρξη 128 δικτύων με 16 εκατομμύρια υπολογιστές το καθένα. Η κλάση Β είναι για μεσαία δίκτυα, αφού επιτρέπει την ύπαρξη 16.384 δικτύων με 65.536 υπολογιστές το καθένα. Για τα δίκτυα κλάσης C χρησιμοποιούνται μόνο 8 bits από το τμήμα Υπολογιστή, ενώ τα άλλα 21 χρησιμοποιούνται από το τμήμα Δικτύου. Έτσι, ο αριθμός των συσκευών που μπορεί να είναι συνδεδεμένες στο δίκτυο περιορίζεται στις 256, ενώ ο αριθμός των δικτύων φθάνει τα 2 εκατομμύρια. Οι διευθύνσεις της κλάσης D επιτρέπουν την ύπαρξη ομαδικών διευθύνσεων (multicast), διευθύνσεων δηλαδή, που απευθύνονται σε ομάδα υπολογιστών.
Παράδειγμα Στην κλάση Α, μια διεύθυνση αντιπροσωπεύει: Δίκτυο.Υπολογιστής.Υπολογιστής.Υπολογιστής, ενώ σε μια κλάση C, θα είναι: Δίκτυο.Δίκτυο.Δίκτυο.Υπολογιστής Για παράδειγμα, σε ένα δίκτυο κλάσης C ίσως υπάρχει η διεύθυνση 192.168.2.34. Το 192.168.2 αντιπροσωπεύει το δίκτυο, ενώ το 34 το συγκεκριμένο υπολογιστή.
Κλάσεις Διευθύνσεων Class A αρχίζουν με 0xxx ή σε δεκαδικό από 1 έως 126. Class B αρχίζουν με 10xx ή σε δεκαδικό από 128 έως 191. Class C αρχίζουν με 110x ή σε δεκαδικό από 192 έως 223. Class D αρχίζουν με 1110 ή σε δεκαδικό από 224 έως 239. Σημείωση : Οι διευθύνσεις που αρχίζουν με 01111111 ή 127 έχουν δεσμευτεί για εσωτερικό έλεγχο σε ένα Η/Υ. Οι διευθύνσεις της κλάσης D έχουν δεσμευτεί για multicasting.
Υποδίκτυα και Μάσκα Υποδικτύου Εταιρίες και οργανισμοί οι οποίοι διαθέτουν μεγάλα δίκτυα, προτιμούν να χωρίζουν τα δίκτυα τους σε επιμέρους υποδίκτυα (subnets) στα οποία για τους τελικούς υπολογιστές διατίθεται ένας μικρός αριθμός από bits. Όπως προαναφέραμε, είναι δυνατόν να ορίσουμε πόσα ψηφία χρησιμοποιούνται για το πεδίο Δικτύου και πόσα για το πεδίο Υπολογιστή στη διεύθυνση IP. Για λόγους διαχείρισης είναι τις περισσότερες φορές πιο βολικό να έχουμε πολλά μικρότερα δίκτυα από ένα μεγάλο.
Παράδειγμα Ας υποθέσουμε ότι σε ένα μεγάλο οργανισμό ή εταιρία έχει ανατεθεί μια περιοχή διευθύνσεων δικτύου κλάσης Β, η 128.6.Χ.Χ. Εσωτερικά, αυτός ο οργανισμός μπορεί να χωρίσει αυτή την περιοχή διευθύνσεων ώστε η τρίτη οκτάδα να δηλώνει ένα διαφορετικό υποδίκτυο. Για παράδειγμα, μπορεί το εσωτερικό δίκτυο να αποτελείται από δύο δίκτυα Ethernet. Στο ένα θα χρησιμοποιηθεί η περιοχή 128.6.5.Χ και στο άλλο η 128.6.4.Χ. Σε κάθε περίπτωση το πεδίο Υπολογιστή της διεύθυνσης θα αντιστοιχεί μόνο στην τελευταία οκτάδα (Χ). Ο διαχωρισμός αυτός έχει σημασία μόνο στο εσωτερικό δίκτυο του οργανισμού.
Εσωτερική Οργάνωση Δικτύου σε Υποδίκτυα
Παράδειγμα Οι υπολογιστές που βρίσκονται έξω από αυτό το δίκτυο δεν χρειάζονται να γνωρίζουν κάτι για αυτό, αφού μπορούν να συνεχίσουν να δρομολογούν αυτοδύναμα πακέτα στο 128.6.Χ.Χ (χωρίς να κοιτάζουν την τρίτη οκτάδα) και μάλιστα μέσα από τον ίδιο δρομολογητή. Στο εσωτερικό δίκτυο του οργανισμού, η διαχείριση των πακέτων αλλάζει: οι δρομολογητές του οργανισμού έχουν διαφορετικές εγγραφές για το δίκτυο 128.6.4 και το 128.6.5, με σκοπό να μπορούν πλέον να διαχωρίσουν και να δρομολογήσουν τα πακέτα προς το κατάλληλο υποδίκτυο. Οι δρομολογητές που βρίσκονται έξω από το δίκτυο δεν χρειάζεται να κάνουν αυτό το διαχωρισμό και έτσι έχουν μόνο μια εγγραφή που είναι κοινή για όλες τις διευθύνσεις 128.6.Χ.Χ..
Μάσκα Υποδικτύου Η μάσκα υποδικτύου (subnet mask) είναι ένας αριθμός με τον οποίο μπορούμε να καθορίσουμε με ακρίβεια πλέον ενός bit, ποια ψηφία μιας διεύθυνσης IP ανήκουν στο πεδίο Δικτύου και ποια στο πεδίο Υπολογιστή. Η μάσκα υποδικτύου έχει μέγεθος 32 bit και χωρίζεται σε οκτάδες όπως και η διεύθυνση IP. Η σύμβαση που χρησιμοποιείται είναι η παρακάτω. Έστω ότι έχουμε τη διεύθυνση IP: 10.14.28.10 Στη δυαδική της μορφή, ανά οκτάδα είναι: 00001010.00001110.00011100.00001010
Μάσκα Υποδικτύου Ας υποθέσουμε ότι μας έχουν δώσει τον παρακάτω αριθμό ως μάσκα υποδικτύου: 255.255.255.0 Τον γράφουμε και αυτόν στη δυαδική του μορφή: 11111111.11111111.111111111.00000000 Βάζουμε τον ένα αριθμό κάτω από τον άλλο, και εκτελούμε τη λογική πράξη AND ανά ψηφίο. AND σημαίνει ότι το αποτέλεσμα θα είναι 1 μόνο αν ΚΑΙ τα δύο ψηφία είναι 1: 00001010.00001110.00011100.00001010 11111111. 11111111. 11111111. 00000000 AND 00001010.00001110.00011100.00000000 Ο αριθμός που προκύπτει, μετατρέποντάς τον σε δεκαδικό είναι ο 10.14.28.0 και ονομάζεται Διεύθυνση Υποδικτύου.
Μάσκα Υποδικτύου Παράδειγμα Γενικά ένας εύκολος κανόνας είναι: Όπου τα ψηφία της μάσκας υποδικτύου είναι 1, τα αντίστοιχα ψηφία στη διεύθυνση IP ανήκουν στο πεδίο Δίκτυο. Όπου τα ψηφία της μάσκας είναι 0, τα αντίστοιχα ψηφία της διεύθυνσης IP ανήκουν στο πεδίο Υπολογιστή. Δείτε και το παράδειγμα:
Ερμηνεία Όπως και στην περίπτωση των φυσικών (MAC) διευθύνσεων, έτσι και στις IP διευθύνσεις αν θέσουμε όλα τα bits σε 1 (κάτι το οποίο αντιστοιχεί σε μια διεύθυνση 255.255.255.255 στο δεκαδικό) δηλώνουμε ότι θέλουμε να στείλουμε το μήνυμα μας σε όλους τους υπολογιστές του συγκεκριμένου δικτύου και μάλιστα άσχετα από το υποδίκτυο στο οποίο ανήκουν. Αν πάλι θέλουμε να στείλουμε το μήνυμα μας σε όλους τους υπολογιστές ενός συγκεκριμένου υποδικτύου χρησιμοποιούμε ως διεύθυνση τη διεύθυνση υποδικτύου θέτοντας σε 1 όλα τα ψηφία του πεδίου Υπολογιστή.
Ποιο είναι το πρόβλημα Τα τελευταία χρόνια έχει σημειωθεί μια εντυπωσιακή ανάπτυξη του Διαδικτύου. Αυτό είχε ως αποτέλεσμα να εμφανιστούν τα πρώτα προβλήματα, καθώς το πλήθος των διευθύνσεων που μπορούμε να γράψουμε με 32 bit είναι πεπερασμένο. Καθώς τα δίκτυα που συνδέονται μεταξύ τους μέσω Διαδικτύου αυξάνονται, ο διαθέσιμος χώρος διευθύνσεων μειώνεται. Το πρόβλημα γίνεται ακόμα πιο έντονο καθώς μεγάλο μέρος των διευθύνσεων παραμένει αχρησιμοποίητο από τους οργανισμούς στους οποίους έχει ανατεθεί.
Παράδειγμα του προβλήματος Για παράδειγμα αν ένας οργανισμός χρειάζεται ένα δίκτυο με 70000 υπολογιστές, η κλάση B δεν τον καλύπτει, αλλά με την κλάση Α περισσεύουν εκατομμύρια διευθύνσεις οι οποίες όμως δεσμεύονται και δεν μπορούν να χρησιμοποιηθούν κάπου αλλού. Το ίδιο συμβαίνει και αν θέλουμε να συνδέσουμε σε ένα δίκτυο 300 υπολογιστές. Η κλάση C δεν μας καλύπτει, ωστόσο στην κλάση Β θα μείνουν αχρησιμοποίητες περισσότερες από 65000 διευθύνσεις!
CIDR Για να αντιμετωπιστούν τα παραπάνω προβλήματα, προτάθηκε η Ανεξαρτήτου Κλάσεων Δρομολόγηση Υπερ-Περιοχών (Classless InterDomain Routing) ή CIDR. Το σύστημα αυτό καταργεί εντελώς τις κλάσεις διευθύνσεων και μας επιτρέπει να καθορίσουμε με απόλυτη ακρίβεια πόσα ψηφία διατίθενται στο πεδίο Δίκτυο και πόσα στο πεδίο Υπολογιστή, ανάλογα με τις ανάγκες του οργανισμού. Για το σκοπό αυτό χρησιμοποιείται το σύστημα με την μάσκα υποδικτύου που είδαμε προηγουμένως.
Το πρόθεμα Ένας σύντομος τρόπος για να δηλώσουμε το μέγεθος κάθε πεδίου (Δίκτυο/Υπολογιστής) της διεύθυνσης IP είναι χρησιμοποιώντας το πρόθεμα. Το πρόθεμα είναι ένας αριθμός που γράφουμε μετά τη διεύθυνση IP και δηλώνει από πόσα ψηφία αποτελείται η μάσκα δικτύου (ή υποδικτύου) κάθε διεύθυνσης. Για παράδειγμα, γράφοντας: 10.14.28.10/24 δηλώνουμε ότι η μάσκα δικτύου αποτελείται από 24 ψηφία. Με άλλα λόγια χρησιμοποιούνται 24 bit για το πεδίο δικτύου (δηλ. 3 bytes, άρα οι τρεις πρώτες οκτάδες) και μένουν 8 bit για το πεδίο Υπολογιστή. Αυτό αντιστοιχεί σε μια μάσκα δικτύου 255.255.255.0.
Ομαδοποίηση διευθύνσεων Το σύστημα CIDR επιτρέπει την ανάθεση μεγάλων συνεχόμενων περιοχών διευθύνσεων σε εταιρίες που παρέχουν υπηρεσίες Διαδικτύου (τους γνωστούς μας ISP, Internet Service Providers). Οι εταιρίες αυτές είναι έπειτα υπεύθυνες να αναθέσουν μικρότερες περιοχές διευθύνσεων στους πελάτες τους ανάλογα με τις ανάγκες του καθενός. Με αυτό τον τρόπο επιτυγχάνεται η ομαδοποίηση των διευθύνσεων που εξυπηρετούνται από τον ίδιο ISP. Η ομαδοποίηση επιτρέπει τη δρομολόγηση της κίνησης προς το σωστό προορισμό, διατηρώντας μόνο μια εγγραφή για όλους τους προορισμούς (διευθύνσεις) που εξυπηρετούνται από τον ίδιο ISP.
Άσκηση Υποθέστε ότι είστε ένας διαχειριστής δικτύου και σας εκχωρείται το εύρος IP διευθύνσεων 200.35.1.0/24 Απαντήστε στις παρακάτω ερωτήσεις: a) Ποια είναι η κλάση του δικτύου; b) Ποια είναι η μάσκα του δικτύου; c) Ποια είναι η διεύθυνση εκπομπής του δικτύου; d) Πόσες και ποιες είναι οι διαθέσιμες διευθύνσεις Η/Υ;