420 likes | 531 Views
Πρωτόκολλα δρομολόγησης. Εσωτερικά πρωτόκολλα δρομολόγησης. Interior Routing Protocols. Distance Vector Routing. Κάθε δρομολογητής διατηρεί ένα διάνυσμα προορισμών της μορφής <προορισμός, κόστος> ανάμεσα στον ίδιο και σε κάθε άλλο κόμβο στο δίκτυο.
E N D
Εσωτερικά πρωτόκολλα δρομολόγησης Interior Routing Protocols
Distance Vector Routing • Κάθε δρομολογητής διατηρεί ένα διάνυσμα προορισμών της μορφής <προορισμός, κόστος> ανάμεσα στον ίδιο και σε κάθε άλλο κόμβο στο δίκτυο. • Κάθε δρομολογητής ανταλλάσσει τα διανύσματά του με τους γείτονές του (και μόνο).
Δίκτυο 1 (2,5) 1 1 1 1 Δίκτυο 3 Δίκτυο 2 (1,5) 1 1 1 1 Δίκτυο 5 Δίκτυο 4 R1 R5 R4 R2 R3 Routing Information Protocol(RFC 1058) (2,5) = (distance in hops, to a network) => (distance, vector)
Routing Information Protocol(RFC 1058) • link-cost vector • distancevector για τον κόμβο x • next-hopvector για τον κόμβο x
R.I.P. Έστω: Α: οι γειτονικοί κόμβοι του x Nxy: ένα δίκτυο που συνδέει τον κόμβο x και τον δρομολογητή y. Και R(x,j) = y , τότε ελαχιστοποιούμε την: Ο αλγόριθμος είναι μια κατανεμημένη έκφραση του αλγ. Bellman-Ford
Σταδιακή ανανέωση (incremental update) • Αν το εισερχόμενο διάνυσμα απόστασης περιέχει ένα καινούργιο δίκτυο προορισμού, η πληροφορία εισάγεται στους πίνακες δρομολόγησης. • Αν ο κόμβος λάβει μια διαδρομή με μικρότερη καθυστέρηση προς έναν προορισμό αντικαθιστά την υπάρχουσα διαδρομή. • Αν ο κόμβος λάβει ένα διάνυσμα με ανανεωμένα στοιχεία από κάποιον γείτονα για τον οποίο υπάρχουν μια ή περισσότερες καταχωρήσεις στους πίνακες δρομολόγησης τότε ανανεώνει όλες αυτές τις καταχωρήσεις με βάση τη νέα πληροφορία. • Ενημέρωση κάθε 30sec. • Μετά από 180sec ακυρώνει σύνδεση • Τα πακέτα του RIP μεταδίδονται πάνω από UDP (port 520)
Α Δίκτυο 1 Δίκτυο 2 Γ Β Δίκτυο 4 Δίκτυο 3 Δ Δίκτυο 5 Counting-to-infinity Split Horizon Split Horizon with Poisoned Reverse
Το πακέτο του RIP-I Command: 1=request, 2=reply Version: 1=RIP, 2=RIP-2 Address Family Identifier: 2=IP ad
Command Version Routing Domain Address Family Route Tag IP Address x 25 (max) Subnet Mask Next Hop IP Address Metric R.I.P. II Address Family = 2 (για να δείξει IP διευθύνσεις) Routing Domain = Process ID Router Tag = A.S. No => μπορεί να χρησιμοποιηθεί και ως exterior protocol Next Hop : αν είναι ο ίδιος ο αποστολέας είναι 0, αλλιώς προσδιορίζει διαφορετική IP
Command Version Routing Domain 0xffff Authentication Type Authentication Information -»- x 25 (max) -»- -»- R.I.P. II authentication Authentication Type = 2: plain-text 3: MD5 procedure
Περιορισμοί του RIP • Χρήση μόνο σε μικρά δίκτυα (15 hops) • Απλή μονάδα μέτρησης • Δέχεται ενημέρωση από οποιαδήποτε συσκευή (ακόμη κι από προβληματική)
Link State Routing • Κάθε δρομολογητής διανέμει το κόστος σύνδεσης ανάμεσα σε αυτόν και τους γείτονές του προς κάθε άλλο δρομολογητή στο δίκτυο. • Κάθε δρομολογητής χρησιμοποιεί αυτή την πληροφορία για να υπολογίσει, ανεξάρτητα, την ελάχιστη απόσταση προς διάφορους προορισμούς. • Η διαδικασία διανομής του κόστους πραγματοποιείται μέσω ενός ξεχωριστού πρωτοκόλλου, π.χ. flooding. • Τα πακέτα που περιέχουν τα κόστη ονομάζονται link state packets
LSP distribution issues • Unambiguous sequencing mechanism • Wrap around problem • Initial sequence number selection • Aging • Lollipop Sequence Space
Αρχικοποίηση δρομολογητή Εκτίμηση κόστους των ζεύξεων στις διεπαφές Αποστολή του κόστους σε όλους Έλεγχος κόστους ΟΧΙ ΝΑΙ Υπάρχει αλλαγή Link-State Routing
Λήψη κόστους από όλους Συνολική εικόνα της τοπολογίας Χρήση οποιουδήποτε αλγόριθμου (συνήθως Dijkstra) Υπολογισμός ελάχιστου μονοπατιού Κατασκευή πίνακα δρομολόγησης Link-State Routing
α) πρώτο άλμα β) δεύτερο άλμα γ) τρίτο άλμα Flooding
α) πρώτο άλμα β) δεύτερο άλμα γ) τρίτο άλμα Flooding
α) πρώτο άλμα β) δεύτερο άλμα γ) τρίτο άλμα Flooding
Flooding • Πλεονεκτήματα • Δοκιμάζονται όλες οι πιθανές διαδρομές, όποια και είναι η κατάσταση του δικτύου (robustness) • Γρήγορη ενημέρωση όλων • Επειδή σίγουρα δοκιμάζεται και η πιο σύντομη διαδρομή • Όλοι λαμβάνουν την πληροφορία => όλοι δημιουργούν πίνακες δρομολόγησης • Μειονεκτήματα • Αυξημένος φόρτος στο δίκτυο • Ευθέως ανάλογος της διασυνδεσιμότητας του δικτύου
Open Shortest Path FirstO.S.P.F (RFC 1583) • Κάθε δρομολογητής στέλνει ενημέρωση για τις ζεύξεις του • Ο παραλήπτης στέλνει επιβεβαίωση • Καθένας διατηρεί μια βάση με τη γνωστή τοπολογία του δικτύου που εκφράζεται σαν κατευθυνόμενος γράφος • Δρομολογητές και δίκτυα = κόμβοι • Ζεύξεις = ακμές
O.S.P.F • Χρησιμοποιεί πιο ευέλικτα κόστη • Οικονομικό κόστος • Ασφάλεια • Καθυστέρηση • Ταχύτητα διαμεταγωγής • Ίδια με το TOS του IPv4 • Κάθε δρομολογητής διατηρεί • 5 πίνακες δρομολόγησης και • υπολογίζει 5 spanning trees
O.S.P.F • TOS 0 (Normal) : hops • TOS 2 (Ελαχιστοποίηση οικονομικού κόστους) • χρησιμοποιείται αν μπορεί η χρήση του δικτύου να συνδεθεί με πραγματικό οικονομικό κόστος. • TOS 4 (Μεγιστοποίηση αξιοπιστίας) • Μπορεί να είναι βάση κάποιας αρχικής ρύθμισης ή να προκύπτει από το ιστορικό διακοπών στο δίκτυο ή από μετρήσεις απώλειας πακέτων. • TOS 8 (Μεγιστοποίηση διαμεταγωγής – throughput) • Ρυθμίζεται με βάση το εύρος ζώνης της κάθε ζεύξης. Μονάδα μέτρησης είναι η διάρκεια ενός bit σε μονάδες των 10 nsec. Έτσι για το 10BaseTEthernet θα έχει την τιμή 10, ενώ για μια ζεύξη ταχύτητας 56Kbps θα είναι 1785. • TOS 16 (Ελαχιστοποίηση καθυστέρησης) • Αυτό είναι μέτρο του χρόνου μετάβασης (transit) ή της καθυστέρησης από έναν κόμβο. Ο χρόνος αυτός είναι ο χρόνος μετάδοσης συν το χρόνο αναμονής σε ουρά σε κάθε δρομολογητή. Μετριέται δυναμικά από κάθε δρομολογητή για κάθε διεπαφή του με τις ζεύξεις στις οποίες είναι συνδεδεμένος.
0 8 16 31 Command Version Packet Length Router ID 24 octets Area ID Checksum Authentication Type Authentication Data Το πακέτο του OSPF
Σύγκριση των τεχνικών δρομολόγησης
Τα distance-vector ακατάλληλα για εξωτερικά πρωτόκολλα! • Κάθε δρομολογητής υπολογίζει το κόστος από τις διαφημίσεις των γειτόνων του, επομένως: • Δεν έχει εικόνα της πλήρους διαδρομής • Υποθέτει ότι όλοι χρησιμοποιούν την ίδια μονάδα μέτρησης • Δεν ενημερώνεται για περιορισμούς που ισχύουν στα ενδιάμεσα Α.Σ. • Η διαδρομή μπορεί να μην είναι δυνατή
Τα distance-vector ακατάλληλα για εξωτερικά πρωτόκολλα • Κάθε δρομολογητής διαφημίζει τα κόστη των συνδέσεών του και δημιουργεί μια συνολική εικόνα της τοπολογίας: • Υποθέτει ότι όλοι χρησιμοποιούν την ίδια μονάδα μέτρησης • Όταν το πλημμύρισμα συμβαίνει σε μεγάλη κλίμακα, σε πολλά Α.Σ., δεν είναι διαχειρίσιμο.
Path-Vector protocols Εναλλακτική λύση για μέτρηση απόστασης Πληροφορία σχετικά με το ποια δίκτυα μπορούν να προσεγγισθούν μέσω κάποιου δρομολογητή Ποια είναι τα Α.Σ. που πρέπει να διασχίσουμε για να φτάσουμε ως εκεί.
Path-Vector protocols • To path-vector δεν περιέχει απόσταση ή κόστος • Κάθε πακέτο περιλαμβάνει όλα τα Α.Σ. που πρέπει να διασχίσουμε μέχρι τον προορισμό • Έτσι ο δρομολογητής μπορεί: • Να ακολουθήσει κάποια πολιτική (π.χ. ασφάλεια) • Να διασχίσει τα λιγότερα Α.Σ. • Να αποφύγει περιοχές με κακή ποιότητα (π.χ. συμφόρηση)
Border Gateway ProtocolBGP-4, RFC 1771 • Επιτρέπει συνεργασία δρομολογητών από διαφορετικά Α.Σ. • Η πληροφορία ανταλλάσσεται πάνω από TCP • Χρησιμοποιούνται 4 μηνύματα και 3 διαδικασίες • Δεν περιγράφεται πως βρίσκει ο ένας τον άλλο (αυτό είναι θέμα του διαχειριστή του κάθε δικτύου)
B.G.P. – Εύρεση γείτονα • Neighbor acquisition • Μέσω τυπικής διαδικασίας των διαχειριστών • Μετά τη συνεννόηση: • Διαδικασία κλήσης (request) μέσω μηνυμάτων OPEN • Διαδικασία αποδοχής (accept ή refuse) μέσω μηνυμάτων KEEPALIVE
Διαδικασίες BGP • Neighbor reachability • Περιοδική ανταλλαγή KEEPALIVE • Για τη διατήρηση της σχέσης • Network reachability • Διατηρείται βάση με τα προσβάσιμα δίκτυα • Μαζί με την επιθυμητή διαδρομή για το καθένα • If «υπάρχει αλλαγή» then «UPDATE message»
16 2 1 1 2 2 4 1 variable Marker Length Type Version My A.S. Hold Time BGP Identifier Opt. parameter length Optional Parameters BGP messages (OPEN) Ποιος είναι Σε ποιο ΑΣ ανήκει Marker: Δεσμευμένο για authentication Length: το μήκος του μηνύματος σε οκτάδες Type: ο τύπος του μηνύματος (OPEN, …) Hold Time: ο χρόνος μεταξύ διαδοχικών KEEPALIVE ή UPDATE
16 2 1 Marker Length Type BGP messages (KEEPALIVE) Αποστέλλεται όσο οι δύο δρομολογητές επιθυμούν να διατηρήσουν τη σχέση τους
16 2 1 1 1 variable Marker Length Type Error Code Error Subcode Data BGP messages (NOTIFICATION) Αποστέλλεται για να αναφερθούν μια σειρά σφαλμάτων που μπορεί να παρουσιαστούν
16 2 1 2 variable 2 variable variable Marker Length Type Unfeasible Routes Length Withdrawn Routes Total Path Attributes Length Path Attributes Network Layer Reachability Information BGP messages (UPDATE) • Μεταφέρει διάφορες πληροφορίες, όπως: • Ποια ΑΣ διασχίζεις μέχρι τον προορισμό • Ποια διαδρομή προτιμά ο δρομολογητής • Σε ποια δίκτυα μπορείς να πας • Πιθανή αναίρεση διαδρομής
Αυτόνομο Σύστημα 1 Αυτόνομο Σύστημα 2 Επικοινωνία δύο Α.Σ. AS, Next-hop, NLRI NLRI: Network Layer Reachability Information
AS 3 R9 AS 1 AS 2 AS 4 R5 R1 Επικοινωνία Α.Σ. {AS1, AS2}, R5’s IP addr, AS1’s subnets {AS1, AS2, AS3}, R9’s IP addr, AS1’s subnets AS1, R1’s IP addr, AS1’s subnets
I.D.R.P (ISO 10747) • InterDomain Routing Protocol • For use with IPv6