ΔΙΚΤΥΑ (18-19) Π. Φουληράς
IP: Διευθύνσεις του Πρωτοκόλλου Διαδικτύου Οι διευθύνσεις IP είναι αφηρημένες (εικονικές κατά κάποιον τρόπο) και οπωσδήποτε διαφορετικές από τις φυσικές Οι χρήστες, εφαρμογές και λογισμικό πρωτοκόλλων υψηλοτέρων επιπέδων χρησιμοποιούν αυτές τις αφηρημένες διευθύνσεις για την μεταξύ τους επικοινωνία
Διευθυνσιοδότηση κατά IP Κάθε διεύθυνση IP είναι ένας μοναδικός δυαδικός αριθμός των 32 bit Σε κάθε δικτυακή σύνδεση αποδίδεται και μία διεύθυνση IP Κάθε διεύθυνση IP διαιρείται νοητά σε δύο μέρη: Πρόθεμα (Prefix) Προσδιορίζει το δίκτυο στο οποίο συνδέεται ένας Η/Υ Επίθεμα (Suffix) Προσδιορίζει τον συγκεκριμένο Η/Υ μέσα στο συγκεκριμένο δίκτυο
Διευθυνσιοδότηση κατά IP 2 Κάθε Η/Υ φυσιολογικά έχει μόνον μία IP διεύθυνση Ο καθορισμός των αριθμών δικτύων πρέπει να γίνεται με καθολικό συντονισμό Τα επιθέματα μπορούν να αποδίδονται τοπικά, χωρίς καθολικό συντονισμό
Αρχικές Κλάσεις Διευθύνσεων IP Αρχικά το πρόθεμα και επίθεμα σε κάθε διεύθυνση IP είχε αυστηρά καθορισμένα όρια Πέντε δυνατές κατηγορίες (κλάσεις) διευθύνσεων εκ των οποίων οι πρώτες τρεις με 1, 2 ή 3 byte για πρόθεμα (prefix): Α, Β, C, D, E
Γρήγορος Υπολογισμός Κλάσης μίας IP Διεύθυνσης Μέσω των 4 πρώτων bit που χρησιμοποιούνται ως δείκτης στον πίνακα
Συμβολισμός με Τελείες (κατά Byte)
Διαίρεση του Χώρου Διευθύνσεων
Διευθυνσιοδότηση Υποδικτύου και Διευθυνσιοδότηση χωρίς Κλάσεις Λόγω γρήγορης εξάντλησης του χώρου διευθύνσεων IP με την σχετική σπατάλη, επινοήθηκαν δύο μηχανισμοί στενά συνδεδεμένοι μεταξύ τους ώστε να αντιμετωπίζονται ως ένας Subnet Addressing Classless Addressing
Παράδειγμα Subnet Addressing Εάν D = Διεύθυνση Προορισμού και Μ = Μάσκα Υποδικτύου, τότε διεύθυνση δικτύου (prefix) στο οποίο ανήκει: Α = (D & M) Σε κάθε δρομολογητή αποθηκεύεται το πολύ μόνον το prefix κάθε δικτύου (με προσπάθεια συγκεντρωτικών καταχωρήσεων για εξοικονόμηση χώρου και μεγαλύτερη ταχύτητα αναζήτησης) και η μάσκα υποδικτύου Με τον παραπάνω τύπο προκύπτει το A που συγκρίνεται στην συνέχεια με τις καταχωρίσεις στον πίνακα δρομολόγησης
Συμβολισμός CIDR Classless Inter-Domain Routing Καθορίζει την μάσκα προσθέτοντας το (/) και έναν αριθμό που δείχνει το πλήθος του prefix σε bit, π.χ.: 128.10.0.0/16 Πρόθεμα 16 bit, επίθεμα 16 bit Άλλο παράδειγμα (τι σημαίνουν τα παρακάτω;): Συνδρομητής 1: 128.211.0.16/28 Συνδρομητής 2: 128.211.0.32/28
Ειδικές Διευθύνσεις IP Κάθε subnet έχει την δική του διεύθυνση, π.χ.: Από το 128.211.0.0/16 η διεύθυνση με το επίθεμα μηδέν είναι η διεύθυνση του συγκεκριμένου subnet (128.211.0.0) Η αντίστοιχη με το επίθεμα όλο με άσσους (1) είναι η διεύθυνση (κατευθυνόμενης εκπομπής directed broadcast) για αποστολή αντιγράφου πακέτου σε ΟΛΟΥΣ τους Η/Υ τουsubnet, π.χ: 128.211.255.255
Άλλες Ειδικές Διευθύνσεις IP Limited Broadcast Διεύθυνση IP όλη με άσσους (255.255.255.255) Σημαίνει εκπομπή σε όλο το συγκεκριμένο τοπικό φυσικό δίκτυο Η διεύθυνση 0.0.0.0 Όταν δεν γνωρίζει την τελική του διεύθυνση ο Η/Υ και αρχικά στέλνει πακέτα αίτησης για απόδοση μίας τελικής IP διεύθυνσης Loopback Address 127/8 (127.x.x.x) Συνήθως η 127.0.0.1 Βρόχος Επαναφοράς, το λογισμικό IP απλά προωθεί τα πακέτα στον ίδιο υπολογιστή (σε διαφορετική ίσως εφαρμογή, ανάλογα με τον αριθμό θύρας)
Ιδιωτικές Διευθύνσεις IP Δεν αναφέρονται στο βιβλίο 10.0.0.0/8 (10.0.0.0-10.255.255.255) 172.16.0.0/12 (172.16.0.0-172.31.255.255) 192.168.0.0/16 (192.168.0.0-192.168.255.255) Link Local Address (169.254/16) Όταν ένας Η/Υ δεν έχει διεύθυνση IP και δεν υπάρχει DHCP server για να του δώσει μία κατάλληλη Δεσμευμένες από την ΙΑΝΑ (Internet Assigned Numbers Authority) διευθύνσεις 1.0.0.0-2.255.255.255
Προσοχή! Μία διεύθυνση IP δεν προσδιορίζει έναν συγκεκριμένο υπολογιστή, αλλά μία σύνδεση μεταξύ ενός υπολογιστή και ενός δικτύου Άρα ένας δρομολογητής με συνδέσεις σε πολλά δίκτυα, πρέπει να έχει μία διεύθυνση ανά σύνδεση Πολυεστιακοί Υπολογιστές Ένας Η/Υ μπορεί να έχει πολλές συνδέσεις δικτύων (πολυεστιακός multi-homed)
Μετάφραση σε Φυσική Διεύθυνση Στην πραγματικότητα η επικοινωνία γίνεται τελικά με την χρήση φυσικών διευθύνσεων Άρα χρειάζεται ένας μηχανισμός αντιστοίχησης διευθύνσεων IP σε φυσικές Λύσεις: 1 η Πίνακας με πληροφορίες μετάφρασης διευθύνσεων 2 η Μαθηματική συνάρτηση για να πραγματοποιήσει την μετάφραση 3 η Κατανεμημένος υπολογισμός με ανταλλαγή μηνυμάτων μεταξύ δύο υπολογιστών (ο πλέων ενδιαφέρων)
Αναγωγή Διευθύνσεων Έτσι ονομάζεται η αντιστοίχηση μεταξύ διεύθυνσης πρωτοκόλλου και υλικού (address resolution) Λαμβάνει χώρα μόνον για τις τοπικές (γειτονικές) διευθύνσεις Υπάρχουν τρεις τρόποι για να γίνει κάτι τέτοιο όπως προαναφέρθηκε:
Αναγωγή Διευθύνσεων με Αναζήτηση σε Πίνακα Απαιτείται μία κατάλληλη δομή δεδομένων σε μορφή πίνακα με κάθε καταχώρηση να περιέχει το ζεύγος (P, H), όπου P η διεύθυνση πρωτοκόλλου και Η η αντίστοιχη φυσική Κάτω το τελευταίο byte χρησιμοποιείται ως δείκτης του πίνακα (direct indexing)
Αναγωγή Διευθύνσεων με Υπολογισμό Κλειστής Μορφής Προϋπόθεση ότι και η φυσική διεύθυνση είναι διευθετήσιμη Ο υπολογισμός κλειστής μορφής είναι κάτι το εύκολο τότε Π.χ., δνση_υλικού = δνση_ip & 0xFF
Αναγωγή Διευθύνσεων με Ανταλλαγή Μηνυμάτων Πρωτόκολλο ARP Παράδειγμα λειτουργίας όπου ο W ψάχνει τον Y
Μορφή Μηνυμάτων ARP
Πώς αναγνωρίζεται ένα Πλαίσιο ARP; Από τον τύπο πλαισίου σε ένα πλαίσιο Ethernet (κωδικός 806)
Αποθήκευση Αποκρίσεων ARP σε Κρυφή Μνήμη Για να μην σπαταλώνται δικτυακοί πόροι και χρόνος, το λογισμικό ARP εξάγει και αποθηκεύει τις πληροφορίες από μία απόκριση σε μία κρυφή μνήμη (cache) Η κάθε καταχώρηση διαρκεί για συγκεκριμένο χρονικό διάστημα (π.χ. 20 ) και μετά διαγράφεται (γήρανση ageing) Έτσι αντιμετωπίζονται ακόμα και πιθανές μετακινήσεις δικτυακού υλικού σε διαφορετικά υποδίκτυα