Δρομολόγηση (Routing)

Σχετικά έγγραφα
Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 10: Στρώμα δικτύου

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης

Αυτόνομα Συστήματα (ΑΣ)

Β. Μάγκλαρης.

ΗΥ335α Δίκτυα Υπολογιστών Καραγκούνης Δημήτρης

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

ΤΕΙ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών. Routing Algorithms. Network Layer.

8 η ιάλεξη: σε δίκτυα δεδομένων

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 9: Στρώμα δικτύου

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Πρωτόκολλα Διαδικτύου

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP) Β. Μάγκλαρης

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Β. Μάγκλαρης.

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση στο Διαδίκτυο - BGP

Ειδικά Θέματα Δικτύων ΙΙ

Δίκτυα Επικοινωνιών Ι

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο -BGP

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δρομολόγηση. Δίκτυα Υπολογιστών

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I)

Ειδικά Θέματα Δικτύων Ι

Δίκτυα Υπολογιστών I

Δροµολόγηση (Routing)

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Γ. Διάρθρωση. Σκοπός της Δρομολόγησης. Ευάγγελος Παπαπέτρου

ΔΙΚΤΥΑ (13) Π. Φουληράς

Εργαστηριακή Άσκηση 6 Δυναμική δρομολόγηση RIP

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.

Εργαστηριακή Άσκηση 7 Δυναμική δρομολόγηση OSPF

Ειδικά Θέματα Δικτύων ΙΙ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δίκτυα Υπολογιστών. Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Ειδικά Θέματα Δικτύων Ι

Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π ΑΤ Ρ Ω Ν

ΔΙΚΤΥΑ Η/Υ ΙΙ. Αρχές δρομολόγησης

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 7: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55

Ειδικά Θέματα Δικτύων Ι

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Β. Μάγκλαρης 9/11/2015

Ειδικά Θέματα Δικτύων ΙΙ

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Δρομολόγηση (Routing)

ρομολόγηση Δίκτυα Υπολογιστών

Β. Μάγκλαρης.

Σχεδίαση Δικτύων Υπολογιστών

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΑΚΕΤΩΝ ΣΕ ΔΡΟΜΟΛΟΓΗΤΗ ΔΙΚΤΥΟΥ

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ειδικά Θέματα Δικτύων Ι

Σχεδίαση Δικτύων Υπολογιστών

Επίπεδο δικτύου IP Forwading κτλ

Ειδικά Θέματα Δικτύων ΙΙ

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 5 ου ΕΡΓΑΣΤΗΡΙΟΥ. Τα πρωτόκολλα δρομολόγησης (routing protocols) είναι υπεύθυνα για:

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ & ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET:

Κεφάλαιο 4: Επίπεδο ικτύου

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. ρομολόγηση. Δίκτυα Υπολογιστών

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: IOS Routing Configuration

Β. Μάγκλαρης. Multi-Protocol Label Switching (MPLS)

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων Ι

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

7.9 ροµολόγηση. Ερωτήσεις

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. ρομολόγηση. Δίκτυα Υπολογιστών

Ειδικά Θέματα Δικτύων Ι

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 9: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Χρήση βασικών εργαλείων συλλογής πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου

Επίπεδο Δικτύου: Διαδικτύωση

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

Ειδικά Θέματα Δικτύων Ι

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 6: Δρομολόγηση διανυσματικής απόστασης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Βασικές έννοιες δρομολόγησης και χρήση εργαλείων παρακολούθησης της δρομολόγησης του Διαδικτύου (2 η άσκηση)

Κεφάλαιο 4: Επίπεδο ικτύου

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΑΛΓΟΡΙΘΜΩΝ ΔΡΟΜΟΛΟΓΗΣΗΣ

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

ΜΗΧΑΝΙΣΜΟΙ ΠΟΙΟΤΗΤΑΣ ΥΠΗΡΕΣΙΑΣ ΣΕ ΔΙΚΤΥΑ

Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration

Δίκτυα Επικοινωνιών ΙΙ: ATM NNI Σηματοδοσία

Transcript:

Δρομολόγηση (Routing) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας

Οι διαφάνειες βασίζονται στα βιβλία: 1. Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition, Jim Kurose, Keith Ross, Addison-Wesley, 2004. 2. The TCP/IP Guide, Charles M. Kozierok, 2005 (http://www.tcpipguide.com)

Στόχοι της Ενότητας Η παρουσίαση γραφοαλγορίθμων για τη δρομολόγηση Η έννοια των αυτόνομων συστημάτων (autonomous systems) και της ιεραρχικής δρομολόγησης Η παρουσίαση αλγορίθμων δρομολόγησης σε διαδίκτυα και το Διαδίκτυο (RIP, OSPF, BGP) 3

Δρομολόγηση Πρωτόκολλο Δρομολόγησης Στόχος: προσδιορισμός ενός «καλού» μονοπατιού (ακολουθία δρομολογητών) από την πηγή στον προορισμό Αφαίρεση γράφου για αλγορίθμους δρομολόγησης: Οι κορυφές του γράφου είναι δρομολογητές Οι ακμές του γράφου είναι φυσικοί σύνδεσμοι Κόστος συνδέσμου (link cost): καθυστέρηση,, ή επίπεδο συμφόρησης 4 A 1 2 5 B D 2 3 1 3 C E «καλό» μονοπάτι: συνήθως σημαίνει το μονοπάτι ελάχιστου κόστους δυνατοί και άλλοι ορισμοί 1 5 2 F

Ταξινόμηση Αλγορίθμων Δρομολόγησης Σφαιρική ή αποκεντρωμένη πληροφορία; Σφαιρική (Αλγόριθμοι link state ): Όλοι οι δρομολογητές έχουν πλήρη γνώση τοπολογίας και κοστών συνδέσμων Αποκεντρωμένη (Αλγόριθμοι distance vector ): ο δρομολογητής γνωρίζει τα κόστη με τους φυσικά συνδεδεμένους γείτονες επαναληπτική διεργασία υπολογισμού, ανταλλαγή πληροφοριών με τους γείτονες Στατικός ή δυναμικός; Στατικός: Οι διαδρομές αλλάζουν αργά με το χρόνο Σε απάντηση των αλλαγών στα κόστη συνδέσμων Δυναμικός: Οι διαδρομές αλλάζουν πιο γρήγορα περιοδική ενημέρωση 5

Ένας Αλγόριθμος Δρομολόγησης Link State Ο αλγόριθμος του Dijkstra Τοπολογία και κόστη συνδέσμων γνωστά σε όλους τους κόμβους Επιτυγχάνεται με πολυεκπομπή της κατάστασης συνδέσμου Όλοι οι κόμβοι έχουν την ίδια πληροφορία Υπολογίζει μονοπάτια ελάχιστου κόστους από έναν κόμβο (πηγή) σε όλους τους άλλους Ο πίνακας δρομολόγησης για αυτόν τον κόμβο Επαναληπτικός: μετά από k επαναλήψεις, γνωστό το μονοπάτι ελάχιστου κόστους για k προορισμούς 6 Συμβολισμοί: c(i,j): κόστος συνδέσμου από τον κόμβο i στον j. Άπειρο αν δεν είναι γείτονες D(v): η τρέχουσα τιμή του κόστους του μονοπατιού από την πηγή στον κόμβο v p(v): προηγούμενος κόμβος στο μονοπάτι από την πηγή στον v N: το σύνολο των κόμβων για τους οποίους το ελάχιστο μονοπάτι είναι ήδη γνωστό

Ο Αλγόριθμος του Dijkstra 1 Αρχικοποίηση: 2 N = {A} 3 Για όλους τους κόμβους v 4 Αν ο v γειτονικός με τον A 5 τότε D(v) = c(a,v) 6 αλλιώς D(v) = infinity 7 8 Επανέλαβε: Βρες το ω N τέτοιο ώστε το D(ω) είναι ένα ελάχιστο 10 Πρόσθεσε το ω στο N 11 Ενημέρωσε το D(v) για όλα τα v που είναι γειτονικά στο ω και 12 δεν ανήκουν στο N 12 D(v) = min(d(v), D(ω) + c(ω,v) ) 13 /* το D(v) για τη v είναι είτε το παλιό κόστος για τη v ή το κόστος του 14 ελάχιστου μονοπατιού ως τη ω συν το κόστος από την ω στη v */ 15 έως ότου όλοι οι κόμβοι να ανήκουν στο N 7

Αλγόριθμος Dijkstra: Παράδειγμα Βήμα 0 1 2 3 4 5 N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A 2,A 2,A D(C),p(C) 5,A 4,D 3,E 3,E D(D),p(D) 1,A D(E),p(E) άπειρο 2,D D(F),p(F) άπειρο άπειρο 4,E 4,E 4,E 5 A 1 2 B D 2 3 3 1 8 C E 1 5 2 F

9 Αλγόριθμος Dijkstra: Παράδειγμα 0 1 2 4 3 1 1 4 5 3 3, 4 5, 2 2 5 2 3 0 2 4 3 1 1 4 5 3 5 2 3 0 2 4 3 1 1 4 5 3 2 5 2 3 1 1 4, 1 5, 2 5 3 8 4 5 8, 3 3 0 2 4 3 1 1 4 5 3 2 5 2 3 1 5 7 4 3 5, 2 7, 3 0 2 4 3 1 1 4 5 3 2 5 2 3 1 5 6 4 3 6, 3 0 2 4 3 1 1 4 5 3 2 5 2 3 1 5 6 4 3 0 0 0 0 0 0

Αλγόριθμος Dijkstra Συζήτηση Πολυπλοκότητα αλγορίθμου: έστω n κόμβοι Σε κάθε επανάληψη: χρειάζεται να ελεγχθούν όλοι οι κόμβοι,, που δεν ανήκουν στο N n*(n+1)/2 συγκρίσεις: O(n 2 ) Περισσότερο αποτελεσματικές υλοποιήσεις (με heaps) οδηγούν σε O(nlogn) 10

Αλγόριθμος Δρομολόγησης Distance Vector Ι Κεντρική Ιδέα: Δεδομένα (για έναν κόμβο): Η απόστασή του από τους γειτονικούς κόμβους Οι αποστάσεις των γειτονικών κόμβων από τους απομακρυσμένους κόμβους Υπολογίζονται: Οι αποστάσεις του κόμβου από τους απομακρυσμένους κόμβους 11 επαναληπτικός: συνεχίζει έως ότου δεν ανταλλάσσεται πληροφορία μεταξύ των κόμβων τερματίζει μόνος του: δεν υπάρχει «σήμα» τέλους ασύγχρονος: Οι κόμβοι δε χρειάζεται να είναι συγχρονισμένοι κατανεμημένος: Κάθε κόμβος επικοινωνεί μόνο με τους άμεσα συνδεδεμένους γείτονες

Αλγόριθμος Δρομολόγησης Distance Vector ΙΙ Δομή Δεδομένων Πίνακα Απόστασης κάθε κόμβος έχει το δικό του πίνακα X D () Y μέσω Z γραμμή για κάθε δυνατό προορισμό στήλη για κάθε άμεσα συνδεδεμένο γείτονα παράδειγμα: στον κόμβο X, για τον προορισμό Y μέσω του γείτονα Z: Y Z 1 7 2 5 X D (Y,Z) = = απόσταση από το X στο Y, μέσω Z Z c(x,z) + min {D (Y,w)} w 12

Πίνακας Απόστασης Παράδειγμα A 1 7 B E 8 1 2 C D 2 E D () A A 1 μέσω κορυφής B D?? 14 5 E D (C,D) E D (A,D) E D (A,B) D = c(e,d) + min {D (C,w)} w = 2+2 = 4 D = c(e,d) + min {D (A,w)} w = 2+3 = 5 κύκλος! B = c(e,b) + min {D (A,w)} w = 8+6 = 14 κύκλος! 13 B C D 7 6 4 8 5 9 4 11 2

Ο Πίνακας Απόστασης δίνει τον Πίνακα Δρομολόγησης E D () A μέσω κορυφής B D Εξερχόμενο κύκλωμα που θα χρησιμοποιηθεί, κόστος A 1 14 5 A A,1 B 7 8 5 B D,5 C 6 9 4 C D,4 D 4 11 2 D D,2 Πίνακας Απόστασης Πίνακας Δρομολόγησης 14

Κατανεμημένος Αλγόριθμος Δρομολόγησης Distance Vector Στο προηγούμενο παράδειγμα «θεωρήσαμε» ότι είναι γνωστά τα κόστη όλων των συνδέσμων Οι κόμβοι ανταλλάσσουν μηνύματα με πληροφορίες απόστασης με όλους τους άμεσα συνδεδεμένους γείτονες Στην κατανεμημένη εκδοχή, ένας κόμβος ενημερώνει τις εγγραφές του πίνακα απόστασης είτε μετά από μια αλλαγή στο κόστος ενός συνδέσμου του, είτε μετά τη λήψη μηνύματος ενημέρωσης (αλλαγής κόστους) από γείτονά του 15

Αλγόριθμος Distance Vector Ψευδοκώδικας Σε όλους τους κόμβους, X: 1 Αρχικοποίηση: 2 Για όλους τους γειτονικούς κόμβους v: X 3 D (*,v) = άπειρο /* ο τελεστής * σημαίνει «για όλες τις γραμμές» */ 4 D X (v,v) = c(x,v) /* άμεσοι γείτονες */ 5 Για όλους τους προορισμούς, y X 6 στείλε το min w {D (Y,w)} σε κάθε γείτονα /* το w από όλους τους γείτονες του X */ Γνωστός και ως αλγόριθμος Bellman-Ford 16

Αλγόριθμος Distance Vector Ψευδοκώδικας 8 βρόχος 9 αναμονή (μέχρι τη λήψη ενημέρωσης από το γείτονα V) 10 11 if (ληφθεί ενημέρωση από το V για τον προορισμό Y) 12 /* το ελάχιστο μονοπάτι από το V προς το Y άλλαξε */ 13 /* ο V έστειλε νέα τιμή για το min w D V (Y,w) */ 14 /* έστω "newval" η τιμή που λήφθηκε */ X 15 Για τον προορισμό y: D (Y,V) = c(x,v) + newval 16 X 17 Αν έχουμε νέα min w D (Y,w) για κάποιο προορισμό Y 18 στείλε τη νέα τιμή min D X w (Y,w) σε όλους τους γείτονες 19 20 για πάντα 17

Αλγόριθμος Distance Vector Παράδειγμα X 2 Y 7 1 Z X D (Y,Z) = c(x,z) + min {D (Y,w)} = 7+1 = 8 w Z X D (Z,Y) = c(x,y) + min {D (Z,w)} = 2+1 = 3 w Y 18

Αλγόριθμος Distance Vector Παράδειγμα X 2 Y 7 1 Z 19

Αλγόριθμος Distance Vector Παράδειγμα X 2 Y 7 1 Z 2 4 5 1 20

Ιεραρχική Δρομολόγηση (Hierarchical Routing) Μέχρι στιγμής έχουμε υποθέσει όλους τους δρομολογητές ίδιους και το δίκτυο επίπεδο Στην πράξη αδύνατο για δύο λόγους: Κλιμάκωση: με εκατοντάδες εκατομμύρια προορισμούς, πρόβλημα η αποθήκευσή τους στους πίνακες δρομολόγησης και η ανταλλαγή των πινάκων Διοικητική αυτονομία: Ως δίκτυο των δικτύων, το Internet πρέπει να επιτρέπει σε κάθε διαχειριστή δικτύου να επιλέξει τη δρομολόγηση στο δίκτυό του 21

Αυτόνομα Συστήματα (Autonomous Systems ASs) Οργάνωση δρομολογητών σε περιοχές ή αυτόνομα συστήματα (autonomous systems) Οι δρομολογητές μιας περιοχής τρέχουν τον ίδιο αλγόριθμο δρομολόγησης (intra-autonomous system routing protocol) Ειδικοί δρομολογητές πύλης είναι υπεύθυνοι για τη διασύνδεση μεταξύ ASs και την προώθηση πακέτων εκτός AS (gateway routers) 22

Αυτόνομα Συστήματα ΙΙ Ένας δρομολογητής πύλης τρέχει και inter-as routing protocol με τους δρομολογητές πύλης των άλλων αυτόνομων συστημάτων Οι διαφορετικές περιοχές μπορούν να τρέχουν διαφορετικά πρωτόκολλα δρομολόγησης intra-as Τελικά, ο πίνακας προώθησης που χρησιμοποιεί κάποιος δρομολογητής πύλης κατασκευάζεται και από τους δύο αλγόριθμους 23

Αυτόνομα Συστήματα ΙΙΙ a C Κόμβος h1 C.b b A.a Δρομολόγηση Inter-AS μεταξύ A και B A.c a d A b c Δρομολόγηση Intra-AS μέσα στο AS A B.a a B c b Κόμβος h2 Δρομολόγηση Intra- AS μέσα στο AS B Ο κάθε δρομολογητής γνωρίζει το δρομολογητή πύλης του αυτόνομου συστήματος στο οποίο ανήκει (μπορεί να ποικίλει ανάλογα με το αυτόνομο σύστημα προορισμό) 24

Γιατί ιεραρχικό σχήμα; Μέγεθος δικτύου: N δρομολογητές/δίκτυα Σε ένα μη-ιεραρχικό σχήμα θα πρέπει να ανταλλάξουν πληροφορία όλοι με όλους: Συνεπώς μηνύματα N*( N 1) Ας υποθέσουμε ιεραρχικό σχήμα με M τομείς (ASs ή clusters): Σε κάθε αυτόνομο σύστημα: N *( N 1) M M μηνύματα Με ένα δρομολογητή πύλης ανά αυτόνομο σύστημα: M * N *( N 1) M *( M 1) M M (τα μηνύματα που ανταλλάσσονται εντός των Μ αυτόνομων συστημάτων συν τα μηνύματα που ανταλλάσσουν οι δρομολογητές πύλης) 25

Δρομολόγηση στο Διαδίκτυο Το Internet αποτελείται από αυτόνομα συστήματα (AS) που διασυνδέονται μεταξύ τους: Stub AS: μικρός οργανισμός: μια σύνδεση σε άλλα ASs Multihomed AS: μεγάλος οργανισμός: πολλές συνδέσεις σε άλλα ASs Transit AS: παροχέας, συγκεντρώνει πολλά ASs Δρομολόγηση δύο επιπέδων: Intra-AS: ο διαχειριστής υπεύθυνος για την επιλογή του αλγορίθμου δρομολόγησης στο εσωτερικό του δικτύου (RIP, OSPF) Inter-AS: μια τυποποίηση για δρομολόγηση μεταξύ αυτόνομων συστημάτων: BGP 26

Δρομολόγηση στο Εσωτερικό ενός Αυτόνομου Συστήματος Επίσης γνωστά ως πρωτόκολλα εσωτερικών πυλών (Interior Gateway Protocols IGP) Περισσότερο διαδεδομένα πρωτόκολλα δρομολόγησης για το εσωτερικό ενός αυτόνομου συστήματος: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (ιδιόκτητο της Cisco) 27

Routing Information Protocol RIP Αλγόριθμος distance vector Συμπεριλήφθηκε στη διανομή του BSD-UNIX το 1982 Μετρικό Απόστασης: # βημάτων (hops) (max = 15 hops) Περιορίζει τη «διάμετρο» του δικτύου σε 15 βήματα Διανύσματα απόστασης: ανταλλάσσονται μεταξύ γειτόνων κάθε 30 sec μέσω μηνύματος απόκρισης (καλείται και διαφήμιση advertisement) Κάθε διαφήμιση: λίστα από έως 25 δίκτυα προορισμούς μέσα στο αυτόνομο σύστημα 28

Πίνακες Δρομολόγησης Distance Vector 29

RIP Παράδειγμα w x y A D B z C Δίκτυο Προορισμού Επόμενος δρομολογητής Πλήθος βημάτων w A 2 y B 2 z B 7 x -- 1 Πίνακας Δρομολόγησης στον D 30

RIP Παράδειγμα Πρ. Επ. Πλ. βημ. w - - x - - z C 4 w x y A D B Διαφήμιση από τον A στον D z C Δίκτυο Προορισμού Επόμενος δρομολογητής Πλήθος βημάτων w A 2 y B 2 z B A 7 5 x -- 1 31 Πίνακας Δρομολόγησης στον D

RIP Αστοχία Συνδέσμου και Ανάκαμψη Αν δε ληφθεί διαφήμιση μέσα σε 180 sec --> ο γείτονας/σύνδεσμος δηλώνεται μη προσπελάσιμος ακυρώνονται οι διαδρομές μέσω του γείτονα νέες διαφημίσεις στέλνονται στους γείτονες οι γείτονες με τη σειρά τους στέλνουν νέες διαφημίσεις (εφόσον αλλάζουν οι πίνακες) Η πληροφορία της αστοχίας συνδέσμου διαδίδεται γρήγορα σε όλο το δίκτυο Οι δρομολογητές στέλνουν μηνύματα αίτησης/απόκρισης μεταξύ τους πάνω από UDP με αριθμό θύρας 520 μεταξύ γειτόνων για να μάθουν το κόστος για κάποιο προορισμό 32

Επεξεργασία Πινάκων Δρομολόγησης στο RIP Οι πίνακες δρομολόγησης του RIP διαχειρίζονται από διεργασίες επιπέδου εφαρμογής που ονομάζονται routed (daemon) Οι διαφημίσεις στέλνονται σε πακέτα UDP, που επαναλαμβάνονται περιοδικά routed routed Transport (UDP) Transport (UDP) network (IP) forwarding table forwarding table network (IP) link link physical 33 physical

OSPF (Open Shortest Path First) Open : δημόσια διαθέσιμο (έκδοση 2: RFC 2328) Χρησιμοποιεί αλγόριθμο Link State (Dijkstra) διάδοση πακέτων LS τοπολογικός χάρτης σε κάθε δρομολογητή (Link State Database - LSBD) τα κόστη συνδέσμων ορίζονται από το διαχειριστή του δικτύου 34

Ανταλλαγή Πληροφοριών Οι διαφημίσεις διαδίδονται σε όλο το AS μεταφέρονται σε μηνύματα OSPF άμεσα πάνω από IP (και όχι με χρήση TCP ή UDP) To OSPF χρησιμοποιείται σε μικρά και μεγάλα αυτόνομα συστήματα βασική τοπολογία (λίγοι δρομολογητές, όλοι ισότιμοι) ιεραρχική τοπολογία Ο κάθε δρομολογητής ανταλλάσσει πληροφορίες με κάθε άλλον ισότιμό του στο AS 35

Link State Database LSDB Κάθε δρομολογητής τηρεί ένα αντίγραφο της βασικής δομής δεδομένων για το OSPF που είναι η link-state database (LSDB) Η LSDB είναι ουσιαστικά μια αναπαράσταση στον υπολογιστή της τοπολογίας του AS Τα μηνύματα ενημέρωσης περιέχουν διαφημίσεις κατάστασης συνδέσμων (link-state advertisements (LSAs)) 36

Παράδειγμα Ο δρομολογητής A (RA) συνδέει το Δίκτυο 1 (N1) με το Δίκτυο 2 (N2) Οι RB και RC συνδέουν το Ν2 με το N3 O RD συνδέει το Ν3 με το N4 Στη συνέχεια παρουσιάζουμε την LSDB γι αυτό το αυτόνομο σύστημα 37

LSDB Ι To Router / Network From Router From Network RA RB RC RD N1 N2 N3 N4 RA 0 0 RB * 0 0 RC * 0 0 RD 0 0 N1 * N2 * * * N3 * * * N4 * 38

LSDB II Στην πράξη, κάθε ένα από τα * της LSDB για τους άμεσα συνδεδεμένους γείτονες ενός δρομολογητή θα αντικατασταθεί από μια τιμή/κόστος (από το διαχειριστή του δικτύου) Η τιμή αυτή θα δείχνει το κόστος αποστολής ενός πακέτου από κάποιο δρομολογητή σε κάποιον άλλο δρομολογητή ή δίκτυο 39

LSDB III Οι δρομολογητές δημιουργούν σταδιακά την LSDB για όλο το δίκτυο ανταλλάσσοντας μηνύματα με τους άλλους δρομολογητές του AS Σημειώστε ότι δεν υπάρχει κόστος για να φτάσουν δεδομένα από ένα δίκτυο σε ένα δρομολογητή Για τον προσδιορισμό των διαδρομών στο AS, ο δρομολογητής δημιουργεί ένα shortest path first tree (SPF tree) από τη link-state database 40

Χαρακτηριστικά του OSPF Ασφάλεια: όλα τα μηνύματα OSPF ελέγχονται για την αυθεντικότητά τους Επιτρέπονται πολλά μονοπάτια ίδιου κόστους Για κάθε σύνδεσμο, πολλά μετρικά κόστους για διαφορετικούς τύπους υπηρεσίας (TOS) (π.χ., κόστος δορυφορικού συνδέσμου χαμηλό για βέλτιστη προσπάθεια και υψηλό για πραγματικό χρόνο) Ενσωματωμένη υποστήριξη για uni- και multicast: Το Multicast OSPF (MOSPF) χρησιμοποιεί τα ίδια τοπολογικά δεδομένα όπως το OSPF 41

Μειονεκτήματα του OSPF Το OSPF είναι πολύ απαιτητικό ως προς την επεξεργασία (processor intensive) λόγω της υλοποίησης του αλγορίθμου SPF Το OSPF τηρεί πολλά αντίγραφα της πληροφορίας δρομολόγησης, αυξάνοντας τη μνήμη που απαιτείται Είναι ένα πρωτόκολλο που η υλοποίησή του είναι περισσότερο περίπλοκη από ότι του RIP 42

Ιεραρχικό OSPF Ι 43

Ιεραρχικό OSPF ΙΙ Ιεραρχία δύο επιπέδων: τοπική, κορμού Διαφημίσεις link-state μόνο στην περιοχή Κάθε κόμβος έχει λεπτομερή τοπολογία της περιοχής, γνωρίζει όμως μόνο κατεύθυνση (ελάχιστο μονοπάτι) για δίκτυα σε άλλες περιοχές Δρομολογητής ορίου περιοχής (area border): συνοψίζει αποστάσεις σε δίκτυα στην περιοχή του, διαφημίζει σε άλλους δρομολογητές ορίου περιοχής Δρομολογητές κορμού: τρέχουν δρομολόγηση OSPF στο δίκτυο κορμού (όλοι οι δρομολογητές ορίου περιοχής) Δρομολογητής πύλης (boundary): συνδέεται με άλλα ASs 44

Μηνύματα του OSPF Ι Hello: Επιτρέπουν σε ένα δρομολογητή να ανακαλύψει άλλους γειτονικούς δρομολογητές σε τοπικά κυκλώματα και δίκτυα Τα μηνύματα εγκαθιστούν συσχετισμούς μεταξύ γειτονικών συσκευών (που καλούνται γειτονικότητες-adjacencies) και επικοινωνούν βασικές παραμέτρους σχετικά με το πώς το OSPF πρόκειται να χρησιμοποιηθεί στο αυτόνομο σύστημα ή την περιοχή 45

Μηνύματα του OSPF ΙΙ Database Description: Τα μηνύματα αυτά περιέχουν πληροφορίες για την τοπολογία του AS ή της περιοχής. Δηλ. μεταφέρουν τα περιεχόμενα της link-state database για το αυτόνομο σύστημα ή περιοχή από έναν δρομολογητή σε άλλον Link State Request: Χρησιμοποιείται για να ζητηθούν πληροφορίες για ένα μέρος της LSDB από κάποιον άλλο δρομολογητή 46

Μηνύματα του OSPF ΙΙΙ Link State Update: Αυτά τα μηνύματα περιέχουν ενημερωμένη πληροφορία σχετίκά με την κατάσταση συγκεκριμένων συνδέσμων στην LSDB. Στέλνονται σε απόκριση σε ένα μήνυμα Link State Request, και επίσης στέλνονται broadcast ή multicast από τους δρομολογητές σε τακτά χρονικά διαστήματα. Τα περιεχόμενά τους χρησιμοποιούνται για την ενημέρωση πληροφοριών της LSDB Link State Acknowledgment: Επαλήθευση λήψης ενός μηνύματος Link State Update 47

Η κοινή επικεφαλίδα στα μηνύματα του OSPF I 48

Η κοινή επικεφαλίδα στα μηνύματα του OSPF II Type: 1 (Hello), 2 (Database Description), 3 (Link State Request), 4 (Link State Update), 5 (Link State Acknowledgement) Packet Length: Το μέγεθος σε bytes, συμπεριλαμβανομένης της επικεφαλίδας Router ID: Το ID του δρομολογητή που δημιούργησε το μήνυμα (γενικά η διεύθυνση ΙΡ της διεπαφής πάνω από την οποία έστειλε το μήνυμα) 49

Η κοινή επικεφαλίδα στα μηνύματα του OSPF III AreaID: ID για την περιοχή στην οποία ανήκει το μήνυμα Checksum: 16-bit που υπολογίζεται με τρόπο παρόμοιο του IP checksum AuType: 0 (χωρίς), 1 (χρήση password), 2 (με κρυπτογράφηση) Authentication: πεδίο 64 bit για τον έλεγχο αυθεντικότητας του μηνύματος, όπως απαιτείται 50

Μορφή του μηνύματος Hello του OSPF Network Mask: 51

Πεδία του μηνύματος Hello του OSPF I Hello Interval: Options: Router Priority: 52

Πεδία του μηνύματος Hello του OSPF II Router Dead Interval: (Backup) Designated Router: Neighbor #1, #N: 53

Δρομολόγηση μεταξύ Αυτόνομων Συστημάτων στο Διαδίκτυο: BGP R4 R5 AS1 (RIP intra-as routing) R1 BGP R2 R3 BGP AS2 (OSPF intra-as routing) AS3 (OSPF intra-as routing) Στο σχήμα φαίνεται η χρήση του BGP (policybased routing) για δρομολόγηση μεταξύ αυτόνομων συστημάτων στο Διαδίκτυο 54

BGP (Border Gateway Protocol) BGP: η εκ των πραγμάτων τυποποίηση (de facto standard) Πρωτόκολλο Path Vector: παρόμοιο με το πρωτόκολλο Distance Vector κάθε συνοριακή πύλη (Border Gateway) κάνει πολυεκπομπή στους γείτονες (peers) ολόκληρο μονοπάτι (δηλ., ακολουθία από ASs) έως τον προορισμό το BGP δρομολογεί σε δίκτυα (ASs), όχι σε ανεξάρτητους κόμβους π.χ., η πύλη X μπορεί να στείλει το μονοπάτι της προς τον προορισμό Z: Path (X,Z) = X,Y1,Y2,Y3,,Z 55

Λειτουργία του BGP Ερ: Τι κάνει ένας δρομολογητής BGP; Λήψη και φιλτράρισμα διαφημίσεων διαδρομών από άμεσα συνδεδεμένους γείτονες Επιλογή διαδρομής Για τη δρομολόγηση στον προορισμό Χ, ποιο μονοπάτι (από τα διάφορα που διαφημίζονται) θα επιλεγεί; Αποστολή διαφημίσεων διαδρομών στους γείτονες 56

Γιατί διαφορετική Δρομολόγηση Intra-/Inter-AS; Πολιτική: Inter-AS: ο διαχειριστής θέλει τον έλεγχο για το πώς δρομολογείται η κίνησή του, ποιος δρομολογεί μέσω του δικτύου του Intra-AS: ένας διαχειριστής, δεν απαιτούνται αποφάσεις πολιτικής Κλίμακα: Η ιεραρχική δρομολόγηση μειώνει το μέγεθος των πινάκων, ενώ ο φόρτος για την ενημέρωση είναι μικρότερος Απόδοση: Intra-AS: μπορεί να εστιάσει στην απόδοση Inter-AS: η πολιτική μπορεί να υπερισχύσει της απόδοσης 57

Δρομολόγηση Inter-AS στο Διαδίκτυο: BGP Ι Υπόθεση: η πύλη X στέλνει το μονοπάτι της στη γειτονική πύλη W Η W μπορεί να (ή να μην) επιλέξει το μονοπάτι που προσφέρεται από τη X για λόγους όπως κόστος, πολιτική (μη δρομολογείς μέσω ανταγωνιστικών AS), αποτροπή κύκλων 58

Δρομολόγηση Inter-AS στο Διαδίκτυο: BGP ΙΙ Αν η W επιλέξει το μονοπάτι που διαφημίζεται από τη X, τότε: Path (W,Z) = w, Path (X,Z) Σημείωση: η X μπορεί να ελέγξει την εισερχόμενη κίνηση ελέγχοντας τις διαφημίσεις διαδρομών στους γείτονες: π.χ., αν δεν θέλεις να δρομολογήσεις κίνηση προς το Z -> μη διαφημίζεις καμία διαδρομή για το Z 59

BGP: έλεγχος ποιος δρομολογεί προς εσένα Ι W A A,B,C είναι δίκτυα παρόχων B C Figure 4.5-BGPnew: a simple BGP scenario X Y υπόμνημα: δίκτυο πελάτη: X,W,Y είναι πελάτες (των δικτύων των παρόχων) δίκτυο παρόχου το X είναι dual-homed: συνδέεται σε δύο δίκτυα το X δεν επιθυμεί να δρομολογήσει από το Β μέσω Χ στο C.. άρα το X δεν θα διαφημίσει στο B διαδρομή για το C 60

BGP: έλεγχος ποιος δρομολογεί προς εσένα ΙΙ W A Ο A διαφημίζει στο B το μονοπάτι AW Figure 4.5-BGPnew: ένα απλό σενάριο BGP scenario Ο B διαφημίζει στο X το μονοπάτι BAW B C X Y υπόμνημα: Θα πρέπει ο B να διαφημίσει στον C το μονοπάτι BAW? δίκτυο παρόχου δίκτυο πελάτη Όχι! Ο B δεν έχει «κέρδος» για τη δρομολόγηση CBAW μιας και ούτε το W ούτε ο C είναι πελάτες του B Ο B επιθυμεί να εξαναγκάσει το C να δρομολογήσει προς w μέσω του A Ο B επιθυμεί να δρομολογεί μόνο από/προς τους πελάτες του! 61

Μηνύματα BGP Τα μηνύματα του BGP ανταλλάσσονται με χρήση TCP Μηνύματα BGP: OPEN: ανοίγει σύνδεση TCP και πιστοποιεί την αυθεντικότητα του αποστολέα UPDATE: διαφημίζει ένα νέο μονοπάτι (ή αποσύρει ένα παλιό) KEEPALIVE κρατάει ανοικτή τη σύνδεση ακόμα και αν δεν υπάρχουν UPDATES. Απαντάει με ACK στην αίτηση OPEN NOTIFICATION: αναφέρει λάθη στο προηγούμενο μήνυμα. Χρησιμοποιείται για να τερματίσει σύνδεση 62

Multicast IP & Δρομολόγηση Multicast