Δρομολόγηση

Το επίπεδο Διαδικτύου (στο μοντέλο TCP/IP), εκτός από τη διευθυνσιοδότηση, είναι επιφορτισμένο και με τη δρομολόγηση των αυτοδύναμων πακέτων (datagrams) ώστε να εξασφαλίσει την επικοινωνία μεταξύ των δυο ακραίων υπολογιστών του δικτύου (host to host). Να παρέχει, δηλαδή, το απαιτούμενο επικοινωνιακό υποδίκτυο. Η δρομολόγηση έχει έννοια όταν μεταξύ των ακραίων υπολογιστών μεσολαβεί τουλάχιστον ένας δρομολογητής. Σε αντίθετη περίπτωση είναι διαθέσιμες και άλλες τεχνικές (μεταγωγή - switching, γεφύρωση
- bridging) οι οποίες μπορούν να υλοποιηθούν από το 2ο επίπεδο του OSI και αναφέρονται στο ίδιο φυσικό δίκτυο

Δρομολόγηση είναι το έργο της μετακίνησης (προώθησης, διεκπεραίωσης) της πληροφορίας από την αφετηρία μέσω ενός διαδικτύου και παράδοσης στον προορισμό της.

Η δρομολόγηση περιλαμβάνει δυο διακριτές δραστηριότητες
● τον προσδιορισμό της καλύτερης διαδρομής από την αφετηρία έως τον προορισμό και
● την μεταφορά (προώθηση - IP forwarding) της ομαδοποιημένης, σε πακέτα, πληροφορίας στον προορισμό της, διαμέσου του Διαδικτύου.

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

Τα πρωτόκολλα δρομολόγησης χρησιμοποιούν μετρήσιμα χαρακτηριστικά για να εκτιμήσουν ποια διαδρομή είναι καλύτερη για ένα πακέτο. Τέτοια είναι το εύρος ζώνης (ταχύτητα) των γραμμών της διαδρομής, η σχετική απόσταση (αριθμός των αλμάτων ή κόμβων) έως τον προορισμό κ.ά. Η εκτίμηση της βέλτιστης διαδρομής προς τον προορισμό γίνεται από τους αλγόριθμους που χρησιμοποιούνται από τα πρωτόκολλα δρομολόγησης.

Με τη βοήθεια των αλγορίθμων συντάσσουν τους πίνακες δρομολόγησης οι οποίοι περιέχουν πληροφορίες δρομολογίων. Οι πληροφορίες δρομολογίων ποικίλουν ανάλογα με τον χρησιμοποιούμενο αλγόριθμο.

Οι αλγόριθμοι δρομολόγησης ενημερώνουν στους πίνακες δρομολόγησης μια ποικιλία πληροφοριών. Οι βασικότερες είναι οι αντιστοιχίσεις προορισμού και επόμενου άλματος (next hop) οι οποίες λένε στο δρομολογητή σε ποια δικτυακή διασύνδεση να προωθήσει ένα εισερχόμενο πακέτο. Όταν ένας δρομολογητής παραλαμβάνει ένα εισερχόμενο πακέτο εξετάζει την διεύθυνση προορισμού και προσπαθεί να την ταιριάξει με μια εγγραφή επόμενου άλματος στον πίνακα δρομολόγησης. Στη συνέχεια προωθεί το πακέτο από την αντίστοιχη δικτυακή διασύνδεση.

Αυτό σημαίνει ότι η λήψη αποφάσεων για τη διαδρομή που θα ακολουθήσουν τα αυτοδύναμα πακέτα επαναλαμβάνεται για κάθε πακέτο χωριστά και υπάρχει το ενδεχόμενο πακέτα για τον ίδιο προορισμό να ακολουθήσουν σε διαφορετικές χρονικές στιγμές διαφορετικές διαδρομές.

Οι πίνακες δρομολόγησης περιέχουν και πληροφορίες οι οποίες εκφράζουν το βαθμό προτίμησης μιας διαδρομής (του επόμενου άλματος).
Οι δρομολογητές επικοινωνούν μεταξύ τους ανταλλάσσοντας μηνύματα και ενημερώνουν τους πίνακες δρομολόγησής τους. Τα μηνύματα ενημέρωσης μπορεί να είναι μέρος του πίνακα δρομολόγησης ή ολόκληρος. Ένας δρομολογητής αναλύοντας τα μηνύματα ενημέρωσης άλλων δρομολογητών μπορεί να σχηματίσει μια λεπτομερή εικόνα της τοπολογίας και της τρέχουσας κατάστασης των συνδέσεων του Διαδικτύου. Έτσι είναι σε θέση να προσδιορίζει τις βέλτιστες διαδρομές προς διάφορους προορισμούς του Διαδικτύου.

Το πρωτόκολλο IP χρησιμοποιεί αυτοδύναμα πακέτα (datagrams) και είναι σχεδιασμένο να λειτουργεί σε όλους τους τύπους υλικού δικτύου. Αν και κάνει τη βέλτιστη προσπάθεια (best effort) για να επιδώσει το κάθε αυτοδύναμο πακέτο, το υποκείμενο υλικό δικτύου μπορεί να λειτουργήσει λανθασμένα. Έτσι δεν εγγυάται ότι μπορεί να αντιμετωπίσει τα παρακάτω προβλήματα:

● Επανάληψη αυτοδύναμου πακέτου
● Επίδοση με καθυστέρηση ή εκτός σειράς
● Αλλοίωση δεδομένων
● Απώλεια αυτοδύναμου πακέτου

Αναφέρθηκε ότι ο αρχικός υπολογιστής, ο αποστολέας, εξετάζει την διεύθυνση IP προορισμού. Αυτό που κάνει, στην πραγματικότητα, είναι λογικό ΚΑΙ (AND) της διεύθυνσης IP προορισμού με τη μάσκα δικτύου για να βρει τη διεύθυνση του δικτύου προορισμού. Στη συνέχεια τη συγκρίνει με τη δική του διεύθυνση δικτύου. Αν είναι ίδιες τότε συμπεραίνει ότι ο υπολογιστής προορισμού βρίσκεται στο ίδιο δίκτυο. Στη συνέχεια καλεί το πρωτόκολλο ARP για να μάθει τη φυσική διεύθυνση που αντιστοιχεί στη διεύθυνση IP προορισμού, ενθυλακώνει το πακέτο σε ένα πλαίσιο και το στέλνει στον προορισμό του. Στην περίπτωση αυτή οι υπολογιστές προέλευσης και προορισμού βρίσκονται στο ίδιο δίκτυο, δεν μεσολαβεί δρομολογητής και η διαδικασία χαρακτηρίζεται άμεση δρομολόγηση.

Εάν κατά την εξέταση της διεύθυνσης IP προορισμού διαπιστώσει ότι ο υπολογιστής προορισμού βρίσκεται σε διαφορετικό δίκτυο τότε αναζητά στον πίνακα δρομολόγησης μια καταχώριση η οποία να αναφέρεται είτε στη διεύθυνση είτε στη διεύθυνση δικτύου προορισμού. Εκεί εντοπίζει τον αντίστοιχο δρομολογητή, καλεί το πρωτόκολλο ARP για να μάθει τη φυσική διεύθυνση που αντιστοιχεί στον δρομολογητή, ενθυλακώνει το πακέτο σε ένα πλαίσιο με προορισμό τη φυσική διεύθυνση του δρομολογητή και του το στέλνει για να
συνεχίσει την προσπάθεια παράδοσης του πακέτου προς τον τελικό του προορισμό. Όταν οι υπολογιστές προέλευσης και προορισμού δεν βρίσκονται στο ίδιο δίκτυο και μεσολαβούν ανάμεσά τους ένας ή περισσότεροι δρομολογητές τότε η διαδικασία χαρακτηρίζεται έμμεση δρομολόγηση.

 

 

Διευθύνσεις IP και Ονοματολογία

Η δεκαδική σημειογραφία με τελείες (four-part dotted decimal notation) είναι ένας σχετικά εύκολος τρόπος γραφής διευθύνσεων IP οι οποίες είναι δυαδικοί αριθμοί των 32 bit. Έτσι το να θυμάται ένας χρήστης έναν αριθμό όπως ο 192.168.1.2 είναι σχετικά εύκολο, όμως το να θυμάται έναν τέτοιο αριθμό για κάθε υπολογιστή στον οποίο θέλει να συνδεθεί είναι δύσκολο

Είναι σαν να προσπαθεί να θυμάται τους αριθμούς τηλεφώνου όλων των φίλων και γνωστών του τους οποίους πρόκειται κάποια στιγμή να καλέσει από το τηλέφωνο. Θυμάται τα ονόματά τους μα όχι και τους αριθμούς τηλεφώνων τους. Όταν πρόκειται να τηλεφωνήσει σε κάποιον χρησιμοποιεί έναν τηλεφωνικό κατάλογο στον οποίο αναζητά το όνομα το οποίο γνωρίζει και χρησιμοποιεί τον τηλεφωνικό αριθμό που αντιστοιχεί στο όνομα

Η διαδικασία της ενθυλάκωσης απαιτεί αριθμητικές διευθύνσεις. Για τους ανθρώπους είναι πιο βολικά τα ονόματα. Έτσι από την αρχή του Διαδικτύου και της ανάπτυξης της ομάδας πρωτοκόλλων του TCP/IP χρησιμοποιήθηκαν απλά μονολεκτικά ονόματα με τα οποία αναφέρονταν στους διασυνδεδεμένους υπολογιστές.

Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

Σε έναν κόμβο ο οποίος επιθυμεί να αποστείλει δεδομένα σε κάποιον άλλο, το επίπεδο εφαρμογής ξεκινά τη διαδικασία ενθυλάκωσης και κάθε επίπεδο είναι υπεύθυνο να προσθέσει τις δικές του διαχειριστικές πληροφορίες στο πακέτο (PDU - Protocol Data Unit). Το επίπεδο διαδικτύου (3ο OSI):

● δημιουργεί ένα αυτοδύναμο πακέτο IP ενθυλακώνοντας τα δεδομένα που του παραδόθηκαν από το παραπάνω επίπεδο μεταφοράς και
● τοποθετεί στα αντίστοιχα πεδία της επικεφαλίδας τις διευθύνσεις IP προέλευσης και προορισμού - καθώς και ό,τι άλλο απαιτείται.
● Στη συνέχεια το παραδίδει στο αμέσως κατώτερο επίπεδο

Το επίπεδο πρόσβασης δικτύου ή ζεύξης δεδομένων του OSI όμως δε γνωρίζει τίποτα από διευθύνσεις IP παρά μόνο για διευθύνσεις υλικού ή φυσικές ή διευθύνσεις MAC (Media Access Control) όπως αλλιώς λέγονται. Για να το παραδώσει στον παραλήπτη θα πρέπει να γνωρίζει σε ποια φυσική διεύθυνση βρίσκεται ο κόμβος με τη διεύθυνση IP που υπάρχει στο αντίστοιχο πεδίο του αυτοδύναμου πακέτου.

Τον συνδετικό κρίκο ανάμεσα στα δυο επίπεδα, απαντώντας στο ερώτημα “ποια είναι η φυσική διεύθυνση (MAC) του κόμβου με τη συγκεκριμένη διεύθυνση IP;” αναλαμβάνει το πρωτόκολλο ανάλυσης διευθύνσεων ARP (Address Resolution Protocol)

Δραστηριότητα

Ποιο είναι το μέγιστο μήκος του αυτοδύναμου πακέτου IPv4; (Υπόδειξη: μελετήστε τα πεδία της επικεφαλίδας)

 

Δραστηριότητα

Για τον υπολογιστή με διεύθυνση IP 192.168.1.18 να δώσετε:
1) Την κλάση-τάξη δικτύου στην οποία ανήκει
2) Την προκαθορισμένη μάσκα δικτύου
3) Τη διεύθυνση δικτύου (network address) και τη διεύθυνση εκπομπής (broadcast
address)
4) Την περιοχή διευθύνσεων (από - έως) οι οποίες ανήκουν στο ίδιο δίκτυο με τον συγκεκριμένο υπολογιστή και τον συνολικό αριθμό υπολογιστών του συγκεκριμένου
δικτύου

Δραστηριότητα

Από τις παρακάτω διευθύνσεις IP σημειώστε ποιες είναι σωστές (ΣΩΣΤΗ) και ποιες λάθος
(ΛΑΘΟΣ). Για τις σωστές, δώστε την κλάση (τάξη) στην οποία ανήκουν και την προκαθορισμένη μάσκα της κλάσης, για δε τις λάθος, αιτιολογήστε γιατί είναι λάθος.
155.54.12.17
10.146.0.1
192.268.1.1
122.122.11.53
192.168.12.7.1
223.54.136.133

Υποδικτύωση

Πολλές φορές προκύπτει η ανάγκη ένα δίκτυο να χωριστεί σε περισσότερα, μικρότερα υποδίκτυα. Οι λόγοι μπορεί να είναι:

● Οικονομία διευθύνσεων IP. Π.χ. ένα δίκτυο τάξης B το οποίο μπορεί να έχει 65534 υπολογιστές θα μπορούσε να χωριστεί σε 8 υποδίκτυα και να μοιραστεί σε ισάριθμες εταιρείες εφόσον καμιά απ’ αυτές δεν πρόκειται να χρειαστεί δίκτυο με παραπάνω από 8190 υπολογιστές.
● Διαχειριστικοί λόγοι. Ένα δίκτυο τάξης C, μιας εταιρείας, χωρίζεται σε υποδίκτυα με βάση την οργανωτική δομή της εταιρείας. Ένα υποδίκτυο για το Τμήμα Πωλήσεων, άλλο για το Λογιστήριο και το Τμήμα Προσωπικού και άλλο για το Τεχνικό Τμήμα.

Η υποδικτύωση με δεδομένη τη διεύθυνση δικτύου και την προκαθορισμένη μάσκα δικτύου πραγματοποιείται σε δυο βήματα:

● Με βάση την απαίτηση για n υποδίκτυα ή m υπολογιστές ανά υποδίκτυο, υπολογίζεται η νέα μάσκα δικτύου δεσμεύοντας δυαδικά ψηφία από το αναγνωριστικό του υπολογιστή (Host ID) και παραχωρώντας τα στο αναγνωριστικό δικτύου (Net ID).
● Υπολογίζονται οι περιοχές διευθύνσεων καθώς και οι διευθύνσεις (υπο-)δικτύου και εκπομπής για κάθε υποδίκτυο από τις οποίες διευθυνσιοδοτούνται οι υπολογιστές του κάθε υποδικτύου.

Μάσκα δικτύου

Η μάσκα δικτύου είναι ένας δυαδικός αριθμός 32 ψηφίων, ο οποίος συνοδεύει μια διεύθυνση IP και διευκρινίζει ποιά ψηφία της διεύθυνσης ανήκουν στο αναγνωριστικό του δικτύου (Net ID - prefix) και ποιά στο αναγνωριστικό του υπολογιστή (Host ID - suffix) μέσα στο συγκεκριμένο δίκτυο.

Κλάσεις (τάξεις) δικτύων – διευθύνσεων

Κάθε διεύθυνση IP αποτελείται από δυο τμήματα. Το πρώτο τμήμα είναι αναγνωριστικό του δικτύου (Network ID) ή πρόθεμα (prefix) στο οποίο ανήκει ο υπολογιστής και το δεύτερο το αναγνωριστικό του υπολογιστή (Host ID) ή επίθεμα (suffix) μέσα στο συγκεκριμένο δίκτυο. Το αναγνωριστικό του δικτύου είναι σαν την οδό στην οποία βρίσκεται μια οικία ενώ το αναγνωριστικό του υπολογιστή σαν τον αριθμό επί της οδού που βρίσκεται η οικία.

Για παράδειγμα στη διεύθυνση 192.168.1.12, οι τρεις πρώτοι αριθμοί 192.168.1 προσδιορίζουν το δίκτυο 192.168.1.0 και ο τελευταίος (12) τον υπολογιστή Νο 12 του συγκεκριμένου δικτύου.

Τα δυο αυτά τμήματα διαφοροποιούνται ανάλογα με το μέγεθος του δικτύου. Το συγκεκριμένο δίκτυο, εφόσον το αναγνωριστικό του υπολογιστή έχει εύρος 8bit, μπορεί να έχει μέχρι 28 = 256 υπολογιστές (0-255, κι αν εξαιρέσουμε τις τιμές 0 και 255 οι οποίες έχουν ειδική σημασία - η τιμή 0 προσδιορίζει τη διεύθυνση του δικτύου και η τιμή 255 τη διεύθυνση εκπομπής - , απομένουν μόνο οι τιμές 1 έως 254, δηλ. 254 υπολογιστές).

Εάν θέλουμε το δίκτυο να έχει περισσότερους από 254 υπολογιστές θα πρέπει να διατεθεί ακόμα μια οκτάδα (byte) για το αναγνωριστικό του υπολογιστή. Τότε το δίκτυο θα μπορεί να έχει μέχρι 216 = 65536 υπολογιστές (στην πραγματικότητα 65536-2 = 65534, η πρώτη και η τελευταία τιμή, όπως και στην προηγούμενη περίπτωση, έχουν ειδική σημασία η οποία θα αναλυθεί παρακάτω). Για ακόμα μεγαλύτερα δίκτυα (περισσότερους από 65534 υπολογιστές) θα πρέπει να διατεθεί ακόμα μια οκτάδα, συνολικά 24 bit για το αναγνωριστικό του υπολογιστή. Ας σημειωθεί ότι ανάλογα μειώνεται το μήκος του αναγνωριστικού του δικτύου ώστε συνολικά μαζί με το αναγνωριστικό του υπολογιστή να είναι 32 bit.

Με τον τρόπο αυτό ορίζονται οι κλάσεις-τάξεις των δικτύων ώστε να υπάρχουν δίκτυα διαφόρων μεγεθών ανάλογα με τις ανάγκες που εξυπηρετούν. Δείτε το ανάλογο μεγάλων οδών ή λεωφόρων που έχουν πολλά κτήρια-οικίες και μικρότερων οδών με λιγότερα κτήρια- οικίες.

 

Διευθύνσεις IPv4

Το πρωτόκολλο IP ορίζει ότι οι υπολογιστές που συμμετέχουν σε ένα δίκτυο, χρησιμοποιώντας το συγκεκριμένο πρωτόκολλο (την έκδοση 4 - IPv4), αναγνωρίζονται με μοναδικό τρόπο από έναν 32μπιτο δυαδικό αριθμό, την διεύθυνση IP (IP Address).

Ένας τέτοιος αριθμός είναι π.χ. ο 11000000 10101000 00000001 00010010

Στην πραγματικότητα ένας υπολογιστής μπορεί να έχει περισσότερες διευθύνσεις, μια διαφορετική για κάθε διαφορετικό δίκτυο στο οποίο είναι συνδεδεμένος. Όπως μια γωνιακή οικία η οποία έχει πρόσοψη σε δυο δρόμους που διασταυρώνονται, μπορεί να προσδιοριστεί με διαφορετικές διευθύνσεις ανάλογα με το δρόμο από τον οποίο προσεγγίζεται.

Διεύθυνση IP έχει κάθε δικτυακή διεπαφή (Network Interface) ενός υπολογιστή. Έτσι ένας υπολογιστής με δυο κάρτες δικτύου Ethernet (δικτυακές διασυνδέσεις) μπορεί να έχει δυο διευθύνσεις. Διεύθυνση που προσδιορίζει μια δικτυακή διασύνδεση (έναν υπολογιστή) χαρακτηρίζεται αποκλειστικής διανομής (unicast)

Τρόπος γραφής μια διεύθυνσης IPv4

Επειδή ένας αριθμός, σε μορφή όπως δίνεται στην προηγούμενη παράγραφο, είναι δυσκολομνημόνευτος έχει επικρατήσει να αναγράφεται ως εξής:
Tα ψηφία του,

● ομαδοποιούνται σε τέσσερα τμήματα του ενός byte και
● αναγράφονται τα αντίστοιχα δεκαδικά τους ισοδύναμα,
● διαχωριζόμενα από τα διπλανά τους με τελείες.

Έτσι ο προηγούμενος αριθμός 11000000 10101000 00000001 00010010 γράφεται ως 192.168.1.18 Ο συγκεκριμένος τρόπος γραφής αναφέρεται ως δεκαδική σημειογραφία με τελείες (four-part dotted decimal notation)

Σύμφωνα με αυτόν τον τρόπο γραφής μια διεύθυνση IP για να είναι σωστή θα πρέπει:

● να αποτελείται από τέσσερις δεκαδικούς αριθμούς διαχωρισμένους με τελείες
● κάθε αριθμός να είναι μεταξύ του μηδενός 0 και του 255 (αφού αυτές είναι οι τιμές
που μπορεί να πάρει ένας οκταψήφιος δυαδικός αριθμός – byte, από 0 έως 28 -1)

Παραδείγματα διευθύνσεων IP:

1 192.168.1.12 ΣΩΣΤΗ
2 10.0.0.12.3 ΛΑΘΟΣ Έχει περισσότερα από τέσσερα τμήματα
3 172.16.257.3 ΛΑΘΟΣ Ένα τμήμα (257) είναι έξω από τα όρια 0 έως 255
4 10.146.0.1 ΣΩΣΤΗ