Δρομολόγηση

Ορισμός

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

Δρομολογητές – Πίνακες Δρομολόγησης

Ένας δρομολογητής είναι μια δικτυακή συσκευή που καθορίζει την βέλτιστη διαδρομή για την εκπομπή και μεταφορά δεδομένων από ένα δίκτυο σε ένα άλλο, παρέχει δηλαδή το απαιτούμενο επικοινωνιακό υποδίκτυο [2]. Είναι μια εξειδικευμένη συσκευή που διαθέτει CPU, Motherboard, και μνήμη και χρησιμοποιεί αλγόριθμους και λογισμικό που την βοηθούν να πετύχει τους στόχους της.

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

Η βάση αυτή δεδομένων που βρίσκεται αποθηκευμένη στους δρομολογητές τους βοηθά να αποφασίσουν πως να προωθήσουν τα πακέτα των δεδομένων, αφού έχουν ενημερωθεί για τα απομακρυσμένα δίκτυα και έχοντας αποθηκεύσει κάθε χρήσιμη πληροφορία. Τέτοιες πληροφορίες είναι οι διευθύνσεις δικτύων προορισμού, η IP του επόμενου δρομολογητή αλλά και τα interfaces (διεπαφές) μέσω των οποίων είναι προσβάσιμοι οι επόμενοι routers. Το κλειδί βέβαια είναι η διεύθυνση IP προορισμού του πακέτου η οποία «δείχνει» το δρόμο. Ο πίνακας δρομολόγησης του router δείχνει τη διεύθυνση δικτύου που ταιριάζει καλύτερα με την IP διεύθυνση προορισμού και έτσι καθορίζεται τελικά η διεπαφή εξόδου που θα αναλάβει να προωθήσει το πακέτο. Στο σημείο αυτό ο δρομολογητής πρέπει να βρει τη βέλτιστη διαδρομή που πρέπει να ακολουθήσουν τα δεδομένα. Μπορεί να υπάρχουν πολλές εναλλακτικές για αυτό το σκοπό. Κάθε διαδρομή μάλιστα μπορεί να διαφέρει πολύ σε σχέση με κάποια άλλη σε ότι έχει να κάνει με την ταχύτητα, την καθυστέρηση αλλά και τα μέσα μετάδοσης που χρησιμοποιούνται.

Άμεση – Έμμεση Δρομολόγηση

Πριν φτάσουμε στο στάδιο της δρομολόγησης ο αποστολέας του πακέτου ελέγχει την διεύθυνση IP του υπολογιστή προορισμού. Εφόσον ο υπολογιστής αυτός είναι  ένας τοπικός υπολογιστής, τότε ο αποστολέας απλώς θα αποστείλει το πακέτο εντός του τοπικού υποδικτύου. Για παράδειγμα, αν ο αποστολέας έχει διεύθυνση 192.168.1.32/24 και ο υπολογιστής προορισμού έχει διεύθυνση 192.168.1.41/24 τότε βρίσκονται και οι δύο στο ίδιο δίκτυο 192.168.1.0/24. Σε αυτή την περίπτωση δεν χρειάζεται να μεσολαβήσει κάποιος δρομολογητής και έτσι έχουμε την λεγόμενη άμεση δρομολόγηση.

Σε αντίθετη περίπτωση ο αποστολέας πρέπει να ζητήσει τη βοήθεια ενός router. Ο δρομολογητής τότε αναζητά στον πίνακα δρομολόγησης μια καταχώριση η οποία να αναφέρεται στη διεύθυνση δικτύου προορισμού [2]. Αυτό σημαίνει ότι ελέγχει αν είναι συνδεδεμένος με δίκτυο το οποίο να έχει το ίδιο Network ID με τον υπολογιστή προορισμού. Αν όχι, τα πακέτα στέλνονται σε άλλο δρομολογητή, ο οποίος αποφασίζει με τη σειρά του για τη συνέχεια της διαδρομής κ.ο.κ.

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

Όπως είδαμε λοιπόν, ο δρομολογητής μαθαίνει για όλα τα απομακρυσμένα δίκτυα από γειτονικούς routers. Κατασκευάζει στη συνέχεια τον πίνακα δρομολόγησης για να έχει κι αυτός στα χεριά του έναν χάρτη του διαδικτύου. Αν ένα δίκτυο είναι άμεσα συνδεδεμένο μαζί του ξέρει πώς να φτάσει σε αυτό. Στην περίπτωση όμως που ένα δίκτυο δεν είναι άμεσα συνδεδεμένο, τότε ο δρομολογητής έχει δύο τρόπους για να φτάσει σε αυτό. Τη στατική και τη δυναμική δρομολόγηση [9].

Στατική – Δυναμική Δρομολόγηση

Στατική δρομολόγηση σημαίνει πως ένας δρομολογητής μαθαίνει τις διαδρομές στατικά, δηλαδή ο πίνακας δρομολόγησης έχει δημιουργηθεί και συμπληρωθεί από τον διαχειριστή δικτύου χειροκίνητα [2]. Κάθε εγγραφή στατικής δρομολόγησης περιγράφει ένα δίκτυο και την διεπαφή από την οποία θα προωθηθεί ένα πακέτο για να φτάσει εκεί. Πλεονέκτημα αυτής της μεθόδου είναι ότι είναι το πιο απλό είδος δρομολόγησης και δεν επιβαρύνει τον router και τις διεπαφές αυτού, καθώς οι δρομολογητές δεν ανταλλάσσουν πληροφορίες μεταξύ τους. Είναι μια μέθοδος πολύ αποδοτική για μικρά και απλά δίκτυα τα οποία δεν εμφανίζουν συχνές αλλαγές. Σε τέτοια δίκτυα οι κόμβοι ξέρουν την IP διεύθυνση μιας προεπιλεγμένης πύλης. Το πρόβλημα φυσικά με αυτή τη μέθοδο είναι πως αν συμβεί κάποια αλλαγή στο δίκτυο, όπως το να επεκταθεί με την προσθήκη ενός νέου υποδικτύου, θα πρέπει σε όλους τους routers που δεν είναι σε άμεση επαφή με αυτό να γίνει καταχώρηση των νέων στοιχείων ώστε να συνεχίσει η δρομολόγηση να επιτελεί το έργο της χωρίς σφάλματα.

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

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

Πρωτόκολλα Δρομολόγησης

Μάθαμε γενικά πως ένα πρωτόκολλο είναι κάποιοι κοινά αποδεκτοί κανόνες. Πρωτόκολλα δρομολόγησης (routing protocols) είναι λοιπόν οι κανόνες με τους οποίους συνεννοούνται μεταξύ τους οι δρομολογητές. Βασική λειτουργία τους είναι η εύρεση της βέλτιστης διαδρομής (όταν υπάρχουν φυσικά εναλλακτικές) για να φτάσουν τα πακέτα στον προορισμό τους. Αυτό για να το πετύχουν κρατούν όπως είπαμε κάποιες πληροφορίες στον πίνακα τους κάθε φορά που έχουμε κάποια αλλαγή στο δίκτυο. Στο σημείο αυτό αναλαμβάνουν δράση οι αλγόριθμοι δρομολόγησης, οι οποίοι δημιουργούν έναν αριθμό που λέγεται μετρικό κόστους για κάθε διαδρομή στο δίκτυο [1]. Τα πιο εξελιγμένα πρωτόκολλα μάλιστα συνδυάζουν πολλαπλά μετρικά κόστους ώστε να καταλήξουν έτσι σε ένα που θα δώσει και την απάντηση στο ποια διαδρομή να επιλεγεί. Τελικά, όσο μικρότερη η τιμή του κόστους τόσο καλύτερο το μονοπάτι. Τα συχνότερα χρησιμοποιούμενα μετρικά είναι το bandwidth, δηλαδή το εύρος ζώνης (ταχύτητα) της γραμμής, η καθυστέρηση λόγω απόστασης, συμφόρησης κλπ. και ο αριθμός των αλμάτων (hops), δηλαδή των δρομολογητών από τους οποίους πρέπει τα πακέτα να περάσουν στο ταξίδι για τον προορισμό.

Τα περισσότερα πρωτόκολλα σχεδιάζονται γύρω από τις εξής δύο μεθόδους δρομολόγησης:

  • Δρομολόγηση Διανύσματος Απόστασης.
  • Δρομολόγηση Κατάστασης Σύνδεσης.

Στην πρώτη περίπτωση (Διανύσματος Απόστασης), ο router δεν χρειάζεται να γνωρίζει τον δρόμο από άκρη σε άκρη σε κάθε κομμάτι του δικτύου. Αυτό που χρειάζεται να γνωρίζει είναι την κατεύθυνση προς την οποία να στείλει τα πακέτα και την απόσταση (αριθμό των αλμάτων) προς τον προορισμό. Οι αλγόριθμοι που χρησιμοποιούνται στέλνουν για λογαριασμό των δρομολογητών που εξυπηρετούν σε τακτά διαστήματα τους πίνακες δρομολόγησης στους γειτονικούς routers. Αυτό γίνεται ακόμη και όταν δεν έχει σημειωθεί κάποια αλλαγή στο δίκτυο. Με αυτό τον τρόπο κάθε δρομολογητής είτε απλώς επιβεβαιώνει τις γνώσεις που είχε για το δίκτυο είτε προχωρά σε ενημέρωση με βάση τις νεότερες πληροφορίες. Το πιο γνωστό πρωτόκολλο διανύσματος απόστασης είναι το RIP (Routing Information Protocol) το οποίο χρησιμοποιεί σαν μετρικό κόστους (κριτήριο δρομολόγησης) τον αριθμό των αλμάτων.

Η προεπιλεγμένη τιμή για τα άλματα είναι 15, συνεπώς μια απόσταση 16 αλμάτων θεωρείται μη προσβάσιμη. Στο πρωτόκολλο αυτό η ενημέρωση των πινάκων δρομολόγησης γίνεται κάθε 30 δευτερόλεπτα. Το πρωτόκολλο αυτό λειτουργεί καλά σε μικρά δίκτυα αλλά κρίνεται μάλλον ακατάλληλο για δίκτυα με πολλούς δρομολογητές όπως επίσης και σε δίκτυα με συνδέσεις των οποίων η ταχύτητα ποικίλει [9].

Στην δεύτερη περίπτωση δρομολόγησης (Κατάστασης Σύνδεσης), κάθε δρομολογητής χτίζει το δικό του χάρτη του δικτύου, βάζοντας σε λίστα τους routers με τους οποίους είναι απευθείας συνδεδεμένος και ενημερώνοντας για το αν αυτές οι συνδέσεις είναι ενεργές. Οι υπόλοιποι δρομολογητές με τη σειρά τους χρησιμοποιούν αυτές τις πληροφορίες για να χτίσουν το δικό τους χάρτη του δικτύου και με βάση αυτόν τον χάρτη επιλέγουν την καλύτερη διαδρομή. Κάθε φορά που κάτι αλλάξει στην κατάσταση του δικτύου, η συσκευή που εντοπίζει το συμβάν δημιουργεί ένα μήνυμα ενημέρωσης το οποίο διαδίδεται προς όλους τους γειτονικούς δρομολογητές (flooding) που χρησιμοποιούν το ίδιο πρωτόκολλο δρομολόγησης. Αυτοί με τη σειρά τους κάνουν το ίδιο μέχρι να διασφαλιστεί πως όλοι οι routers έχουν ενημερώσει τις βάσεις δεδομένων τους με την νέα τοπολογία [1]. Έτσι, όλοι είναι πλήρως ενημερωμένοι, κάτι που τους επιτρέπει να μπορούν να εκτιμήσουν την καλύτερη διαδρομή για τον προορισμό στον οποίο θα σταλούν τα πακέτα. Το πιο γνωστό πρωτόκολλο κατάστασης σύνδεσης είναι το OSPF (Open Shortest Path First) το οποίο είναι ταυτόχρονα και το ευρύτερα χρησιμοποιούμενο αλλά και σπουδαιότερο ανάμεσα σε όλα τα πρωτόκολλα δρομολόγησης σήμερα [9]. Το μετρικό κόστους σε αυτή την περίπτωση είναι αντιστρόφως ανάλογο με το διαθέσιμο bandwidth (BW) μιας ζεύξης και σύμφωνα με τη CISCO δίνεται από τον τύπο

metric = 108 / BW

Αυτό σημαίνει πως μια σύνδεση με BW=10Mbps θα έχει metric 108/107 = 10 ενώ μια ζεύξη 100Mbps θα έχει metric 108/108 = 1. Το συνολικό metric μιας διαδρομής υπολογίζεται αθροίζοντας τα επιμέρους metric των διαδρομών που την στοιχειοθετούν [10]. Αν δηλαδή μια διαδρομή απαρτίζεται από τις δύο παραπάνω που αναφέρθηκαν, τότε το συνολικό μετρικό κόστους της θα είναι 11.

Αλλαγή μεγέθους γραμματοσειράς
Αντίθεση
Μετάβαση σε γραμμή εργαλείων