Δρομολόγηση Ι
Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing tables) Δρομολόγηση (routing): H ανακάλυψη μονοπατιών και βάσει αυτών η κατασκευή/ενημέρωση των πινάκων δρομολόγησης
Εισαγωγή Μία από τις κυριότερες λειτουργίες σε ένα δίκτυο μεταγωγής πακέτων είναι η δρομολόγηση των πακέτων: ια κάθε πακέτο, ορίζει ένα μονοπάτι μέσα στο δίκτυο το οποίο και ακολουθείται προκειμένου να μεταβεί το πακέτο στον προορισμό του Συνήθως υπάρχουν περισσότερα του ενός υποψήφια μονοπάτια για κάθε πακέτο
Αλγόριθμοι Δρομολόγησης Ένας αλγόριθμος δρομολόγησης υπολογίζει το καταλληλότερο μονοπάτι για τη μεταγωγή ενός πακέτου στον προορισμό του Στόχοι κατά το σχεδιασμό ενός αλγόριθμου δρομολόγησης: Ακρίβεια (accuracy ή correctness): Η ικανότητα του αλγόριθμου να υπολογίζει μονοπάτια που οδηγούν τα πακέτα στους σωστούς προορισμούς
Αλγόριθμοι Δρομολόγησης Στόχοι Ανθεκτικότητα (robustness): Η ικανότητα του αλγόριθμου να ανταποκρίνεται χωρίς απώλειες πακέτων σε δύσκολες συγκυρίες όπως οι καταστάσεις συμφόρησης ή οι βλάβες δρομολογητών Σύγκλιση (convergence): Η ικανότητα του αλγόριθμου να ανταποκρίνεται με ταχύτητα σε τυχόν αλλαγές που παρατηρούνται στη δομή του δικτύου Σχετίζεται με την ικανότητα διατήρησης ενημερωμένων και μη αλληλοαντικρουόμενων πινάκων δρομολόγησης
Αλγόριθμοι Δρομολόγησης Στόχοι Ευελιξία (flexibility): Η ικανότητα ενός αλγόριθμου να υποστηρίζει εναλλακτικά μονοπάτια προώθησης Απλότητα (simplicity): Όσο απλούστερος είναι ένας αλγόριθμος τόσο λιγότερο υπολογιστικό φόρτο προσθέτει και άρα τόσο λιγότερο επιτείνει την καθυστέρηση που παρατηρείται στο χρόνο μεταγωγής των πακέτων
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Καθορισμός συντομότερου μονοπατιού ανάμεσα στον αποστολέα και τον παραλήπτη Βασίζεται σε κάποιο κριτήριο ελάχιστου κόστους Συχνότητα εφαρμογής αλγορίθμου Καθορίζεται από το εάν η δρομολόγηση αφόρα μεμονωμένα πακέτα ή πακέτα που διακινούνται μέσω προκαθορισμένου εικονικού κυκλώματος (virtual circuit) μεταγωγής
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Εάν αφορά μεμονωμένα πακέτα εφαρμόζεται για κάθε πακέτο ξεχωριστά Εάν αφορά εικονικό κύκλωμα μεταγωγής πακέτων εφαρμόζεται άπαξ και προκειμένου για την υλοποίηση του κυκλώματος Τόπος εφαρμογής αλγορίθμου Κατανεμημένη δρομολόγηση (distributed routing): Ο αλγόριθμος εκτελείται ξεχωριστά σε κάθε δρομολογητή του δικτύου αποτελεί και τη συνηθέστερη μορφή δρομολόγησης
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Κεντρική δρομολόγηση (centralized routing): Ο αλγόριθμος εκτελείται σε κάποιο προκαθορισμένο κεντρικό δρομολογητή Απλούστερη στην υλοποίηση απ ότι η κατανεμημένη δρομολόγηση Κύριο μειονέκτημα: σε περίπτωση που ο κεντρικός δρομολογητής τεθεί εκτός λειτουργίας τίθεται εκτός λειτουργίας ολόκληρο το δίκτυο Πηγαία δρομολόγηση (source routing): Ο αλγόριθμος δρομολόγησης εκτελείται στον αποστολέα (πηγή) και όχι στους ενδιάμεσους δρομολογητές
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Οι περισσότερες στρατηγικές δρομολόγησης βασίζονται σε γνώση: Της τοπολογίας του δικτύου Του τρέχοντος επικοινωνιακού φόρτου Του συντελεστή βάρους της κάθε ζεύξης Στην περίπτωση της κατανεμημένης δρομολόγησης, οι δρομολογητές αποκτούν την παραπάνω γνώση λαμβάνοντας πληροφορίες:
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Είτε από γειτονικούς δρομολογητές Είτε από δρομολογητές που βρίσκονται στην πορεία ενός εν δυνάμει μονοπατιού Στην περίπτωση της κεντρικής δρομολόγησης, οι κεντρικοί δρομολογητές αποκτούν την παραπάνω γνώση λαμβάνοντας πληροφορίες από όλους τους δρομολογητές του δικτύου
Αλγόριθμοι Δρομολόγησης Χαρακτηριστικά Προφανώς, όσο πιο συχνά ανταλλάσσονται τέτοιου είδους πληροφορίες τόσο ακριβέστερηεικόνααποκτάένας δρομολογητής για την κατάσταση που επικρατεί στο δίκτυο Συνεπώς είναι σε θέση να πάρει καλύτερες αποφάσεις δρομολόγησης Η συχνή όμως ανταλλαγή τέτοιου είδους πληροφοριών αυξάνει σημαντικά τον επικοινωνιακό φόρτο στο δίκτυο
Στρατηγικές Δρομολόγησης Fixed Routing ια κάθε ζεύγος κόμβων στο δίκτυο ορίζεται μία συγκεκριμένη σταθερή διαδρομή ια τον ορισμό της διαδρομής μπορεί να χρησιμοποιηθεί κάποιος αλγόριθμος καθορισμού ελάχιστου μονοπατιού όπως είναι ο αλγόριθμος του Dijkstra ήτουbellman-ford Η διαδρομή αλλάζει μόνον όταν υπάρξει κάποια αλλαγή στην τοπολογία του δικτύου
Στρατηγικές Δρομολόγησης Fixed Routing Προκύπτει λοιπόν πως το κόστος των διαδρομών (ο συντελεστής βάρους, δηλαδή, της κάθε ζεύξης) το οποίο και λαμβάνει υπόψη ο αλγόριθμος δεν μπορεί να συσχετισθεί με κάποιο δυναμικά μεταβαλλόμενο μέγεθος ια παράδειγμα ο επικοινωνιακός φόρτος της γραμμής Θα μπορούσε όμως να συσχετισθεί με μια πρόβλεψη της μέσης τιμής του φόρτου αυτού
Στρατηγικές Δρομολόγησης Fixed Routing Παράδειγμα: Β 1 2 3 2 Α 2 3 2 8 4 7 8 Ε 6 2 2 8 2 Ζ 3 4 Δ
Στρατηγικές Δρομολόγησης Fixed Routing Χρησιμοποιούμε κάποιον από τους αλγόριθμους εύρεσης ελάχιστου μονοπατιού για τον καθορισμό της βέλτιστης διαδρομής από κάθε κόμβο προς κάθε άλλο κόμβο Απαιτεί την εφαρμογή του αλγόριθμου 6 φορές (για κάθε έναν από τους κόμβους) Βάσει των διαδρομών που ανακαλύπτονται συμπληρώνονται οι πίνακες δρομολόγησης για κάθε δρομολογητή
Στρατηγικές Δρομολόγησης Fixed Routing Α Β Δ Ε Ζ Α - Α Α Β Δ Β Β Β Β - Ε - Δ Ε - Ζ Ζ - Β Δ Δ Ε Ζ - Κεντρικός πίνακας δρομολόγησης: Από: Προς:
Στρατηγικές Δρομολόγησης Fixed Routing Πίνακες δρομολόγησης ανά δρομολογητή: Δρομολογητής Α Δρομολογητής Β Προορισμός Επόμενος Σταθμός Προορισμός Επόμενος Σταθμός Β Β Α Α Δ Δ Ε Β Ε Ε Ζ Ζ
Στρατηγικές Δρομολόγησης Fixed Routing Δρομολογητής Δρομολογητής Δ Προορισμός Επόμενος Σταθμός Προορισμός Επόμενος Σταθμός Α Α Α Β Β Δ Δ Δ Ε Ε Ε Ζ Ζ Ζ Ζ
Στρατηγικές Δρομολόγησης Fixed Routing Δρομολογητής Ε Δρομολογητής Ζ Προορισμός Επόμενος Σταθμός Προορισμός Επόμενος Σταθμός Α Β Α Δ Β Β Β Δ Δ Δ Ζ Ε
Στρατηγικές Δρομολόγησης Fixed Routing Κύριο πλεονέκτημα απλότητα Δεν προστίθεται υπολογιστικός φόρτος στους δρομολογητές για την εύρεση κατάλληλης διαδρομής Δεν απαιτούνται πληροφορίες για την τρέχουσα κατάσταση που επικρατεί στο δίκτυο δε δημιουργείται επιπλέον επικοινωνιακός φόρτος
Στρατηγικές Δρομολόγησης Fixed Routing Κύρια μειονεκτήματα: Δε λαμβάνονται υπόψη οι τρέχουσες συνθήκες που επικρατούν στο δίκτυο μπορεί να παρατηρηθεί το φαινόμενο της υπερφόρτωσης Βλάβες στο δίκτυο μπορούν να καταστήσουν αδύνατη την επικοινωνία ανάμεσα στον αποστολέα και τον παραλήπτη
Στρατηγικές Δρομολόγησης Flooding Έστω Α ο πηγαίος κόμβος ενός πακέτου με προορισμό τον κόμβο Β Υποθέτουμε ότι οι Α και Β δεν είναι γειτονικοί κόμβοι Δύο κόμβοι ονομάζονται γειτονικοί εάν υπάρχει απευθείας σύνδεση μεταξύ τους Προκειμένου ο Α να αποστείλει το πακέτο, το προωθεί σε όλες τις προσκείμενες σ αυτόν εξερχόμενες συνδέσεις
Στρατηγικές Δρομολόγησης Flooding Κάθε κόμβος ο οποίος λαμβάνει το πακέτο σε μια από τις συνδέσεις του, το προωθεί σε όλες τις υπόλοιπες (εξερχόμενες) συνδέσεις του Προκύπτει ότι σταδιακά πολλαπλές κόπιες του πακέτου θα καταφθάσουν στον προορισμό Β
Στρατηγικές Δρομολόγησης Flooding Κάθε πακέτο πρέπει λοιπόν να εμπεριέχει κάποιου είδους μοναδικό χαρακτηριστικό το οποίο και θα επιτρέπει στον κόμβοπαραλήπτη να απορρίπτει όλες τις παραλειφθήσες κόπιες του πακέτου πλην προφανώς της πρώτης Ένα τέτοιο μοναδικό χαρακτηριστικό προκύπτει, για παράδειγμα, από το συνδυασμό ενός sequence number για το πακέτο και του αναγνωριστικού αποστολέα
Στρατηγικές Δρομολόγησης Flooding ιανααποτραπείηαέναηπροώθηση πακέτων μέσα στο δίκτυο ο κάθε κόμβος πρέπει να είναι σε θέση να αναγνωρίζει πακέτα που έχει ήδη λάβει και προωθήσει καινατααπορρίπτει Ένας απλούστερος μηχανισμός απόρριψης πακέτων υλοποιείται μέσω του πεδίου TTL στην επικεφαλίδα του πρωτοκόλλου IP
Στρατηγικές Δρομολόγησης Flooding Πλεονεκτήματα: Ανθεκτικότητα (robustness) Όλες οι δυνατές διαδρομές ανάμεσα στον αποστολέα και τον παραλήπτη ακολουθούνται και συνεπώς το πακέτο έχει μεγαλύτερες πιθανότητες επιτυχούς παράδοσης σε περίπτωση βλαβών Συντομότερη διαδρομή Η συντομότερη διαδρομή ανάμεσα στον αποστολέα και τον παραλήπτη θα ακολουθηθεί Κατάλληλο για τη μετάδοση σημαντικών πληροφοριών σε όλους τους κόμβους
Στρατηγικές Δρομολόγησης Flooding Δε απαιτούνται πληροφορίες για την τρέχουσα κατάσταση που επικρατεί στο δίκτυο Κύριο μειονέκτημα: Η υπερφόρτωση του δικτύου
Στρατηγικές Δρομολόγησης Adaptive Routing Χρησιμοποιείται από τη συντριπτική πλειοψηφία των δικτύων μεταγωγής πακέτων Έχει τη δυνατότητα να προσαρμόζει δυναμικά τις επιλογές δρομολόγησης ανάλογα με τις εκάστοτε συνθήκες που επικρατούν στο δίκτυο Οι συνθήκες αυτές όπως είναι φυσικό είναι μεταβλητές και όχι σταθερές
Στρατηγικές Δρομολόγησης Adaptive Routing Οι κυριότερες αιτίες που επηρεάζουν τις αποφάσεις δρομολόγησης είναι: Ηβλάβη(failure) μιας συσκευής διασύνδεσης που έχει ως αποτέλεσμα η συσκευή να μη μπορεί πλέον να χρησιμοποιηθεί ως τμήμα κάποιας διαδρομής Ησυμφόρηση(congestion) μιας ζεύξης Είναι επιθυμητό η δρομολόγηση των πακέτων να αποφύγει (προσωρινά) αυτή τη ζεύξη
Αdaptive Routing Μειονεκτήματα Ο αλγόριθμος δρομολόγησης είναι πολυπλοκότερος από ότι στην περίπτωση του fixed routing Αυτό αυξάνει σημαντικά τον επεξεργαστικό φόρτο στους δρομολογητές και συνεπώς την καθυστέρηση στη μεταγωγή των πακέτων Οι δρομολογητές ανταλλάσουν μεταξύ τους πληροφορίες για την κατάσταση που επικρατεί στο δίκτυο:
Αdaptive Routing Μειονεκτήματα Όσο περισσότερα μηνύματα ανταλλάσσονται, τόσο ακριβέστερη η εικόνα για την κατάσταση που επικρατεί στο δίκτυο και συνεπώς τόσο καλύτερες οι αποφάσεις δρομολόγησης Όσο περισσότερα μηνύματα ανταλλάσσονται τόσο αυξάνεται η επιβάρυνση του δικτύου με επιπλέον πακέτα και συνεπώς η πιθανότητα συμφόρησης Τυχόν συμφόρηση οδηγεί σε περεταίρω καθυστερήσεις στις μεταγωγές πακέτων
Αdaptive Routing Μειονεκτήματα Μία τακτική adaptive routing μπορεί να αντιδρά σε τυχόν αλλαγές των συνθηκών που επικρατούν στο δίκτυο είτε πολύ γρήγορα είτε πολύ αργά: Στην πρώτη περίπτωση, μικρές διακυμάνσεις στο φόρτο μιας ζεύξης έχουν ως αποτέλεσμα κάποιοι δρομολογητές γρήγορα να αναδρομολογούν τα πακέτα τους προς μια δεύτερη εναλλακτική ζεύξη:
Αdaptive Routing Μειονεκτήματα Αυτό προκαλεί διακυμάνσεις στο φόρτο της νέας ζεύξης και συνεπώς νέες αναδρομολογήσεις είτε προς την αρχική ζεύξη είτε προς μια τρίτη εναλλακτική ζεύξη, κ.ο.κ. Τέτοιου είδους ταλαντώσεις είναι γνωστές με το όνομα fluttering και μπορεί να έχουν ως αποτέλεσμα διαδοχικά πακέτα μιας TCP σύνδεσης να χρειάζεται να διανύουν πολύ διαφορετικές αποστάσεις μέσα στο δίκτυο Στη δεύτερη περίπτωση, αργοπορημένες αντιδράσεις μπορεί πλέον να μην έχουν νόημα ή και να είναι ακατάλληλες
Αdaptive Routing Μειονεκτήματα Το φαινόμενο looping περιγράφει την παθολογική κατάσταση εκείνη κατά την οποία κάποια από τα πακέτα που αποστέλλει ένας δρομολογητής επιστρέφουν στον ίδιο Το φαινόμενο αυτό οφείλεται κυρίως σε αλλαγές στη διασυνδεσιμότητα του δικτύου για τις οποίες δεν προλαβαίνουν να ενημερωθούν όλοι οι κόμβοι
Στρατηγικές Δρομολόγησης Adaptive Routing Παρόλα τα μειονεκτήματα, η ικανότητα της στρατηγική adaptive routing να προσαρμόζεται στις μεταβλητές συνθήκες που επικρατούν στο δίκτυο μπορεί, υπό συνθήκες, να: Βελτιώσει αισθητά την απόδοση ενός δικτύου Βοηθήσει στον έλεγχο και την αποφυγή συμφόρησης
Κατηγορίες Adaptive Routing Οι στρατηγικές adaptive routing χαρακτηρίζονται με βάση την προέλευση των πληροφοριών που χρησιμοποιούν οι δρομολογητές προκειμένου να διαμορφώσουν εικόνα για τις τρέχουσες συνθήκες στο δίκτυο: Πληροφορίες τοπικής προέλευσης Πληροφορίες από γειτονικούς κόμβους Πληροφορίες από όλους τους κόμβους του δικτύου
Αdaptive Routing Πληροφορίες Τοπικής Προέλευσης Ο δρομολογητής κατευθύνει τα πακέτα προςτηζεύξηεκείνηηοποίαέχειτη μικρότερη ουρά αναμονής πακέτων Q Αυτό έχει σαν αποτέλεσμα την εξισορρόπηση του φόρτου στις εξερχόμενες ζεύξεις Δεν συνεπάγεται όμως και δρομολόγηση προς τη σωστή κατεύθυνση Δεν υπάρχει καμία εγγύηση ότι η ζεύξη με το μικρότερο φόρτο οδηγεί προς τη σωστή κατεύθυνση
Αdaptive Routing Πληροφορίες Τοπικής Προέλευσης Η εγγενής αυτή αδυναμία μπορεί να βελτιωθεί λαμβάνοντας υπόψη όχι μόνο τη ζεύξη με το μικρότερο φόρτο αλλά και την προτιμώμενη διαδρομή Κάθε κόμβος i συσχετίζεται με έναν ακέραιο συντελεστή προτίμησης (bias) B i,j σε κάθε εξερχόμενη ζεύξη j Κατά την επιλογή εξερχόμενης ζεύξης επιλέγεται η ζεύξη εκείνη για την οποία το άθροισμα Q j +B i,j ελαχιστοποιείται
Αdaptive Routing Πληροφορίες Τοπικής Προέλευσης Παράδειγμα (Stallings): Έστω ο κόμβος 4 (βλ. σχήμα στην επόμενη διαφάνεια) λαμβάνει πακέτο από τον κόμβο 1 με προορισμό τον κόμβο 6 Κάθε εξερχόμενη ζεύξη j από τον κόμβο 4 συσχετίζεται με έναν συντελεστή προτίμησης B 6,j ως προς τα πακέτα που προορίζονται για τον κόμβο 6 Επιλέγεται η ζεύξη εκείνη για την οποία το άθροισμα Q j +B 6,j ελαχιστοποιείται, όπου Q j ο αριθμός των πακέτων που περιμένουν να προωθηθούν στη ζεύξη j
Αdaptive Routing Πληροφορίες Τοπικής Προέλευσης Το άθροισμα Q j +B 6,j ελαχιστοποιείται για j=3
Αdaptive Routing Πληροφορίες Τοπικής Προέλευσης Τα συστήματα που χρησιμοποιούν μόνο τοπικές πληροφορίες για τη δρομολόγηση πακέτων χρησιμοποιούνται σπάνια Ο λόγος είναι ότι δεν εκμεταλλεύονται πληροφορίες για την κατάσταση του δικτύου στις οποίες θα μπορούσαν να έχουν σχετικά εύκολη πρόσβαση Μπορούν να οδηγήσουν σε παθολογικές καταστάσεις όπως το looping
Αdaptive Routing Δρομολόγηση Distance Vector Δρομολόγηση που χρησιμοποιεί πληροφορίες από γειτονικούς κόμβους Κάθε κόμβος στέλνει περιοδικά, κάθε 30 sec, σε κάθε γειτονικό κόμβο ενημερώσεις αναφορικά με τον πίνακα δρομολόγησης του Κάθε κόμβος ενσωματώνει τις ενημερώσεις που λαμβάνει από γειτονικούς κόμβους στο δικό του πίνακα δρομολόγησης
Αdaptive Routing Δρομολόγηση Distance Vector Παρατηρούμε έτσι ότι ένας μεγάλος όγκος πληροφοριών ανταλλάσσεται μεταξύ των κόμβων Παράδειγμα αλγόριθμου δρομολόγησης distance vector: RIP (Routing Information Protocol) Ο αλγόριθμος RIP θα μας απασχολήσει στην επόμενη διάλεξη
Αdaptive Routing Δρομολόγηση Link State Δρομολόγηση που χρησιμοποιεί πληροφορίες από όλους τους κόμβους Αρχικά ο κάθε κόμβος αποστέλλει σε όλους τους άλλους κόμβους τους συντελεστές βάρους που είναι συσχετισμένοι με κάθε μια από τις ζεύξεις του Έτσι ο κάθε κόμβος: Αποκτά ακριβή εικόνα της τοπολογίας του δικτύου
Αdaptive Routing Δρομολόγηση Link State Είναι σε θέση να υπολογίζει το συντομότερο μονοπάτι προς κάθε άλλο κόμβο ιατοσκοπόαυτόοαλγόριθμοςτουdijkstra χρησιμοποιείται συνήθως Σε περίπτωση αλλαγής στις ζεύξεις ενός δρομολογητή ο δρομολογητής επαναδιαφημίζει τους συντελεστές βάρους των ζεύξεων του σε όλους τους κόμβους Αλλαγές στις ζεύξεις ενός δρομολογητή μπορεί να συμβούν αν, π.χ. :
Αdaptive Routing Δρομολόγηση Link State Ο συσχετισμένος με μια ζεύξη συντελεστής βάρους αλλάξει σημαντικά Μια υπάρχουσα ζεύξη καταργηθεί Μια νέα ζεύξη δημιουργηθεί Παράδειγμα αλγόριθμου δρομολόγησης link state: OSPF (Open Shortest Path First) Ο αλγόριθμος OSPF θα μας απασχολήσει στην επόμενη διάλεξη