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

Σχετικά έγγραφα
Δίκτυα Επικοινωνιών Ι

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

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

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

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

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

Βέλτιστος Έλεγχος Συστημάτων

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

Εισαγωγή στη Δικτύωση Υπολογιστών

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

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

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

Εισαγωγή στους Αλγορίθμους

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

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

Διοικητική Λογιστική

Τηλεπικοινωνιακά Δίκτυα Ευρείας Ζώνης Ενότητα 8: MPLS και Τηλεπικοινωνιακή Κίνηση

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

Κβαντική Επεξεργασία Πληροφορίας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Αλγορίθμους

Κβαντική Επεξεργασία Πληροφορίας

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Εισαγωγή στην Πληροφορική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Κβαντική Επεξεργασία Πληροφορίας

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Βέλτιστος Έλεγχος Συστημάτων

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 3: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

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

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

Κβαντική Επεξεργασία Πληροφορίας

Δομές Δεδομένων Ενότητα 1

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή στη Δικτύωση Υπολογιστών

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

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στους Αλγορίθμους

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

Εισαγωγή στους Υπολογιστές

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Βέλτιστος Έλεγχος Συστημάτων

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

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

Κβαντική Επεξεργασία Πληροφορίας

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

Γενική Φυσική Ενότητα: Ταλαντώσεις

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

Διοικητική Λογιστική

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Βέλτιστος Έλεγχος Συστημάτων

Μηχανολογικό Σχέδιο Ι

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Συστήματα Επικοινωνιών

Βέλτιστος Έλεγχος Συστημάτων

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

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

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

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

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

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Ιστορία της μετάφρασης

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

Transcript:

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 9: Στρώμα δικτύου Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση από Πάνω προς τα Κάτω KUROSE ROSS Τίτλος στην Αγγλική: Computer Networking: A Top-Down Approach Επιμέλεια Ελληνικής Μετάφρασης: Μαυρίδης Ιωάννης - Φουληράς Παναγιώτης Εκδόσεις : Μ. Γκιούρδας Έκτη Έκδοση Η πλειονότητα των διαφανειών της 9 ης ενότητας αποτελούν προσαρμογή και απόδοση στα ελληνικά των διαφανειών του 4 ου κεφαλαίου που συνοδεύουν το βιβλίο «Computer Networking: A Top-Down Approach» J.F Kurose and K.W. Ross, 6/E, Addison-Wesley (Copyright Pearson Education Inc). Η παρούσα προσαρμογή βασίζεται σε μεγάλο βαθμό σε απόδοση των διαφανειών αυτών στα ελληνικά, την επιμέλεια της οποίας είχε ο καθηγητής του Καποδιστριακού Πανεπιστημίου Αθηνών, κ. Λάζαρος Μεράκος. 2

Σκοποί ενότητας Κατανόηση των βασικών διαφορών μεταξύ των αλγορίθμων κατάστασης ζεύξης και των αλγορίθμων διανύσματος απόστασης Κατανόηση του αλγορίθμου Dijkstra Κατανόηση του αλγορίθμου Bellman-Ford Κατανόηση της Ιεραρχικής Δρομολόγησης 3

Περιεχόμενα ενότητας Αλληλεπίδραση μεταξύ δρομολόγησης και προώθησης Αφηρημένο μοντέλο γράφων Κατάταξη αλγορίθμων δρομολόγησης Ο αλγόριθμος του Dijsktra Ο αλγόριθμος των Bellman-Ford Ιεραρχική Δρομολόγηση 4

Κεφάλαιο 4: Στρώμα Δικτύου 4.1 Εισαγωγή 4.2 Δίκτυα εικονικού κυκλώματος και δεδομενογράμματος 4.3 Τι βρίσκεται μέσα σ ένα δρομολογητή 4.4 IP: Πρωτόκολλο Διαδικτύου (Internet Protocol) Μορφή δεδομενογράμματος Διευθυνσιοδότηση IPv4 ICMP IPv6 4.5 Αλγόριθμοι δρομολόγησης Κατάστασης ζεύξης (link state) Διανύσματος απόστασης (distance vector) Ιεραρχική δρομολόγηση (hierarchical routing) 4.6 Δρομολόγηση στο Διαδίκτυο RIP OSPF BGP 5

Αλληλεπίδραση μεταξύ δρομολόγησης και προώθησης routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 ο αλγόριθμος δρομολόγησης καθορίζει τη διαδρομή από άκρο σε άκρο μέσω του δικτύου ο πίνακας προώθησης καθορίζει την προώθηση τοπικά στον δρομολογητή Διεύθυνση προορισμού IP στην κεφαλίδα του αφικνούμενου πακέτου 3 2 1 Network Layer 6

Αφηρημένο μοντέλο γράφων 5 Γράφος: G = (N,E) u 1 2 v x 2 3 1 3 w y 1 5 2 z N = σύνολο δρομολογητών = { u, v, w, x, y, z } E = σύνολο ζεύξεων ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Παρατήρηση: Το αφηρημένο μοντέλο γράφων είναι χρήσιμο και σε άλλα δικτυακά περιβάλλοντα, πχ στο P2P, όπου N είναι το σύνολο των ομότιμων και E είναι το σύνολο των συνδέσεων TCP 7

Αφηρημένο μοντέλο γράφων: κόστη u 1 2 5 v 2 x 3 1 3 w y 1 5 2 z c(x,x ) = κόστος της ζεύξης (x,x ) π.χ.., c(w,z) = 5 το κόστος θα μπορούσε να είναι πάντα 1, ή να σχετίζεται με το εύρος ζώνης, ή με τη συμφόρηση Κόστος της διαδρομής (x 1, x 2, x 3,, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + + c(x p-1,x p ) Ερώτηση: Ποια είναι η ελαχίστου κόστους διαδρομή μεταξύ των u και z; Αλγόριθμος δρομολόγησης: αλγόριθμος που βρίσκει την ελαχίστου κόστους διαδρομή 8

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

Κεφάλαιο 4: Στρώμα Δικτύου 4.1 Εισαγωγή 4.2 Δίκτυα εικονικού κυκλώματος και δεδομενογράμματος 4.3 Τι βρίσκεται μέσα σ ένα δρομολογητή 4.4 IP: Πρωτόκολλο Διαδικτύου (Internet Protocol) Μορφή δεδομενογράμματος Διευθυνσιοδότηση IPv4 ICMP IPv6 4.5 Αλγόριθμοι δρομολόγησης Κατάστασης ζεύξης (link state) Διανύσματος απόστασης (distance vector) Ιεραρχική δρομολόγηση (hierarchical routing) 4.6 Δρομολόγηση στο Διαδίκτυο RIP OSPF BGP 10

Ένας αλγόριθμος κατάστασης ζεύξης Αλγόριθμος του Dijkstra τοπολογία του δικτύου, κόστη ζεύξεων γνωστά σε όλους τους κόμβους επιτυγχάνεται μέσω (ευρυ)εκπομπής (broadcast) κατάστασης ζεύξης όλοι οι κόμβοι έχουν την ίδια πληροφορία υπολογίζει τις διαδρομές ελάχιστου κόστους από έναν κόμβο (προέλευση) προς όλους τους άλλους κόμβους δίνει τον πίνακα δρομολόγησης γι αυτόν τον κόμβο επαναληπτικός: μετά από k επαναλήψεις, είναι γνωστές οι ελάχιστου κόστους διαδρομές προς k προορισμούς Συμβολισμοί: c(i,j): κόστος ζεύξης από τον κόμβο i στον κόμβο j = αν δεν είναι άμεσοι γείτονες D(v): τρέχουσα τιμή του κόστους της διαδρομής από την προέλευση στον προορισμό v p(v): προηγούμενος από τον v κόμβος κατά μήκος της διαδρομής από την προέλευση στον v N': σύνολο κόμβων για τους οποίους η ελάχιστου κόστους διαδρομή έχει σαφώς καθοριστεί 11

Αλγόριθμος του Dijsktra 1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N' 12

Αλγόριθμος του Dijkstra: Παράδειγμα D(v) p(v) D(w) p(w) D(x) p(x) D(y) p(y) D(z) p(z) Step N' 0 u 7,u 3,u 5,u 1 uw 6,w 5,u 11,w 2 uwx 6,w 11,w 14,x 3 uwxv 10,v 14,x 4 uwxvy 12,y 5 uwxvyz 5 x 4 7 9 Παρατηρήσεις: Κατασκευή δέντρου συντομότερης διαδρομής εντοπίζοντας τους προηγούμενους κόμβους Μπορεί να υπάρχουν ισοπαλίες (σπάνε αυθαίρετα) u 3 w 3 7 4 v 8 y 2 z 13

Αλγόριθμος του Dijkstra: άλλο παράδειγμα Step 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) 2,x D(z),p(z) 4,y 4,y 4,y 5 u 1 2 v x 2 3 1 3 w y 1 5 2 z 14

Αλγόριθμος του Dijkstra: παράδειγμα (2) Δέντρο ελάχιστων διαδρομών (shortest-path tree) από τον u: u v x w y z Πίνακας δρομολόγησης στον u: destination v x y w z link (u,v) (u,x) (u,x) (u,x) (u,x) 15

Αλγόριθμος του Dijkstra: συζήτηση Πολυπλοκότητα του αλγορίθμου: n κόμβοι κάθε επανάληψη: χρειάζεται να εξετάσει όλους τους κόμβους, w, που δεν ανήκουν στο N n(n+1)/2 συγκρίσεις: O(n 2 ) Είναι δυνατές πιο αποδοτικές υλοποιήσεις: O(nlogn) Είναι δυνατόν να εμφανιστούν ταλαντώσεις: (κίνηση προς Α) π.χ., κόστος ζεύξης = ποσότητα κίνησης που μεταφέρεται 1 D A 1 1+e 0 0 0 C e αρχικά e B 1 D A 2+e 0 0 1+e 1 C B Με δεδομένα αυτά τα κόστη, Βρες νέα δρομολόγηση. προκύπτουν νέα κόστη 0 D A 0 2+e 1 0 0 C 1+e B D A 2+e 0 Με δεδομένα αυτά Με δεδομένα αυτά τα κόστη, τα κόστη, Βρες νέα δρομολόγηση. Βρες νέα δρομολόγηση. προκύπτουν νέα κόστη προκύπτουν νέα κόστη 0 1+e 1 C 0 B 16

Κεφάλαιο 4: Στρώμα Δικτύου 4.1 Εισαγωγή 4.2 Δίκτυα εικονικού κυκλώματος και δεδομενογράμματος 4.3 Τι βρίσκεται μέσα σ ένα δρομολογητή 4.4 IP: Πρωτόκολλο Διαδικτύου (Internet Protocol) Μορφή δεδομενογράμματος Διευθυνσιοδότηση IPv4 ICMP IPv6 4.5 Αλγόριθμοι δρομολόγησης Κατάστασης ζεύξης (link state) Διανύσματος απόστασης (distance vector) Ιεραρχική δρομολόγηση (hierarchical routing) 4.6 Δρομολόγηση στο Διαδίκτυο RIP OSPF BGP 17

Αλγόριθμος Διανύσματος Απόστασης (Distance Vector) Εξίσωση Bellman-Ford (δυναμικός προγραμματισμός) Ορίζουμε d x (y) := κόστος της ελαχίστου κόστους διαδρομής από τον x στον y Τότε d x (y) = min {c(x,v) + d v (y) } Κόστος από γείτονα v στον προορισμό y Κόστος για τον γείτονα v Το min λαμβάνεται πάνω σε όλους τους γείτονες v του x 18

Παράδειγμα Bellman-Ford u 1 2 5 v x 2 3 1 3 w y 1 5 2 z Σαφώς, d v (z) = 5, d x (z) = 3, d w (z) = 3 Η εξίσωση B-F λέει: d u (z) = min { c(u,v) + d v (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Ο κόμβος που επιτυγχάνει το ελάχιστο είναι το επόμενο άλμα (hop) στη βραχύτερη διαδρομή, χρησιμοποιείται στον πίνακα προώθησης 19

Αλγόριθμος Διανύσματος Απόστασης D x (y) = εκτίμηση του ελάχιστου κόστους από τον x στον y Ο κόμβος x διατηρεί το διάνυσμα απόστασης D x = [D x (y): y є N ] Ο κόμβος x: Γνωρίζει το κόστος προς κάθε γείτονα v: c(x,v) Διατηρεί το διάνυσμα απόστασης των γειτόνων του. Για κάθε γείτονα ν, ο κόμβος x διατηρεί D v = [D v (y): y є N ] 20

Αλγόριθμος Διανύσματος Απόστασης Βασική ιδέα: Τακτικά, κάθε κόμβος στέλνει το δικό του διάνυσμα απόστασης στους γείτονές του Όταν ο κόμβος x λαμβάνει νέα εκτίμηση DV από γείτονα, ενημερώνει το δικό του DV με χρήση της B-F εξίσωσης: D x (y) min v {c(x,v) + D v (y)} για κάθε κόμβο y N Υπό φυσιολογικές συνθήκες, η εκτίμηση D x (y) συγκλίνει στο πραγματικό ελάχιστο κόστος d x (y) 21

Αλγόριθμος Διανύσματος Απόστασης Επαναληπτικός, ασύγχρονος: κάθε τοπική επανάληψη προκαλείται από αλλαγή κόστους τοπικής ζεύξης μήνυμα ενημέρωσης DV από γείτονα Κατανεμημένος: Κάθε κόμβος ειδοποιεί τους γείτονες μόνο όταν το DV του αλλάζει Οι γείτονες τότε ειδοποιούν τους γείτονές τους αν χρειάζεται Κάθε κόμβος: περίμενε για (αλλαγή κόστους τοπικής ζεύξης ή μήνυμα από γείτονες) Ξαναυπολόγισε τις εκτιμήσεις Αν το DV προς κάποιο προορισμό έχει αλλάξει, ειδοποίησε τους γείτονες 22

node x table from x y z cost to x y z 0 2 7 D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 from x y z x y z 0 cost to 2 3 2 0 1 7 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} =min{2+1,7+0}=3 node y table from x y z cost to x y z 2 0 1 x 2 y 7 1 z node z table from cost to x y z x y z 71 0 time 23

node x table from x y z node y table from x y z cost to x y z 0 2 7 x y z D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 cost to 2 0 1 from from x y z x y z x y z 0 cost to 2 cost to x y z 0 2 7 3 2 0 1 7 1 0 2 0 1 7 1 0 from from x y z x y z cost to x y z 0 2 3 2 0 1 3 1 0 cost to x y z 0 2 3 2 0 1 3 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} =min{2+1,7+0}=3 y 2 1 x 7 z node z cost to cost to cost to table x y z x y z x y z x x 0 2 7 x 0 2 3 y y 2 0 1 y 2 0 1 z z 3 1 0 z 71 0 3 1 0 time from from from 24

Διάνυσμα απόστασης: αλλαγές κόστους ζεύξης Αλλαγές κόστους ζεύξης: Ο κόμβος ανιχνεύει αλλαγή κόστους τοπικής ζεύξης Ενημερώνει την πληροφορία δρομολόγησης, ξανα-υπολογίζει το διάνυσμα απόστασης Αν το DV αλλάζει, ειδοποιεί τους γείτονες x 1 4 y 50 1 z «τα καλά νέα ταξιδεύουν γρήγορα» Για δρομολόγηση προς τον x (αφορά τους κόμβους y και z) : Σε χρόνο t 0, ο y ανιχνεύει την αλλαγή στο κόστος της ζεύξης, ενημερώνει το DV του, και ενημερώνει τους γείτονές του Σε χρόνο t 1, ο z δέχεται την ενημέρωση από τον y και ενημερώνει τον πίνακά του Υπολογίζει ένα νέο ελάχιστο κόστος προς τον x και στέλνει στους γείτονές του το DV του Σε χρόνο t 2, ο y δέχεται την ενημέρωση του z και ενημερώνει τον πίνακα απόστασης Τα ελάχιστα κόστη του y δεν αλλάζουν και έτσι ο y δεν στέλνει κανένα μήνυμα στον z 25

Για δρομολόγηση προς τον χ (γραμμή στον πίνακα) αφορά πίνακες των κόμβων y και z) : 26

Διάνυσμα απόστασης: αλλαγές κόστους ζεύξης Αλλαγές κόστους ζεύξης: Ο κόμβος ανιχνεύει αλλαγή κόστους τοπικής ζεύξης Τα κακά νέα ταξιδεύουν αργά πρόβλημα μέτρησης μέχρι το άπειρο! 44 επαναλήψεις πριν σταθεροποιηθεί ο αλγόριθμος 60 x 4 y 50 1 z poisoned reverse: Αν ο Ζ δρομολογεί μέσω του Υ για να φτάσει στον Χ Ο Ζ λέει στον Υ ότι η απόστασή του από τον Χ είναι άπειρη (ώστε ο Υ να μη δρομολογεί στον Χ μέσω του Ζ) 27

Για δρομολόγηση προς τον χ (γραμμή στον πίνακα) αφορά πίνακες των κόμβων y και z) : 28

Σύγκριση των LS και DV αλγόριθμων Πολυπλοκότητα μηνύματος LS: με n κόμβους, E ζεύξεις, στέλνονται O(nE) μηνύματα DV: ανταλλαγή μόνο μεταξύ γειτόνων ο χρόνος σύγκλισης ποικίλει Ταχύτητα σύγκλισης LS: O(n2) ο αλγόριθμος απαιτεί O(nE) μηνύματα μπορεί να έχει ταλαντώσεις DV: ο χρόνος σύγκλισης ποικίλει μπορεί να υπάρχουν βρόχοι δρομολόγησης πρόβλημα μέτρησης μέχρι το άπειρο Ευρωστία: τι συμβαίνει αν ένας δρομολογητής δυσλειτουργεί; LS: ο κόμβος μπορεί να εκπέμψει λάθος κόστος ζεύξης κάθε κόμβος υπολογίζει μόνο το δικό του πίνακα DV: ο DV κόμβος μπορεί να εκπέμψει εσφαλμένο κόστος διαδρομής ο πίνακας κάθε κόμβου χρησιμοποιείται από άλλους τα λάθη διαδίδονται μέσω του δικτύου 29

Κεφάλαιο 4: Στρώμα Δικτύου 4.1 Εισαγωγή 4.2 Δίκτυα εικονικού κυκλώματος και δεδομενογράμματος 4.3 Τι βρίσκεται μέσα σ ένα δρομολογητή 4.4 IP: Πρωτόκολλο Διαδικτύου (Internet Protocol) Μορφή δεδομενογράμματος Διευθυνσιοδότηση IPv4 ICMP IPv6 4.5 Αλγόριθμοι δρομολόγησης Κατάστασης ζεύξης (link state) Διανύσματος απόστασης (distance vector) Ιεραρχική δρομολόγηση (hierarchical routing) 4.6 Δρομολόγηση στο Διαδίκτυο RIP OSPF BGP 30

Ιεραρχική Δρομολόγηση H μελέτη της δρομολόγησης ως τώρα εξιδανικευμένη: όλοι οι δρομολογητές πανομοιότυποι «επίπεδο» (flat) δίκτυο... δεν ισχύει στην πράξη Κλίμακα: με 600 εκατομμύρια προορισμούς δεν μπορεί να αποθηκευτούν όλοι οι προορισμοί στους πίνακες δρομολόγησης! η ανταλλαγή των πινάκων δρομολόγησης θα κατάκλυζε τις ζεύξεις Διαχειριστική αυτονομία Διαδίκτυο = δίκτυο δικτύων κάθε διαχειριστής δικτύου ενδέχεται να θέλει να ελέγχει τη δρομολόγηση στο δικό του δίκτυο 31

Ιεραρχική Δρομολόγηση ομαδοποίηση δρομολογητών σε περιοχές, «αυτόνομα συστήματα» ( autonomous systems (AS)) δρομολογητές του ίδιου AS τρέχουν το ίδιο πρωτόκολλο δρομολόγησης πρωτόκολλο δρομολόγησης intra-as [πρωτόκολλο δρομολόγησης ενδοαυτόνομου συστήματος] δρομολογητές σε διαφορετικά AS μπορούν να τρέχουν διαφορετικά intra-as πρωτόκολλα δρομολόγησης Δρομολογητής πύλης (Gateway router) Στην άκρη του δικού του AS Έχει ζεύξη με δρομολογητή σε άλλο AS 32

Διασυνδεδεμένα AS 3c 3a 3b AS3 1a 1c 1d 1b Intra-AS Routing algorithm AS1 Forwarding table Inter-AS Routing algorithm 2a 2c AS2 2b Ο πίνακας προώθησης διαμορφώνεται από intra- (ενδο-) και inter- (δια-) AS αλγόριθμους δρομολόγησης Οι intra-as αλγόριθμοι ορίζουν καταχωρίσεις για εσωτερικούς προορισμούς Τόσο οι inter-as, όσο και οι intra-as αλγόριθμοι ορίζουν καταχωρίσεις για εξωτερικούς προορισμούς 33

Εργασίες Inter-AS Έστω ότι δρομολογητής στο AS1 λαμβάνει datagram με προορισμό εκτός του AS1: Ο δρομολογητής θα έπρεπε να προωθήσει το πακέτο σε δρομολογητή πύλης (gateway router), αλλά σε ποιόν; Το AS1 πρέπει: 1. Να μάθει ποιοί προορισμοί είναι προσεγγίσιμοι μέσω του AS2 και ποιοί μέσω του AS3 2. Να διαδώσει την πληροφορία προσέγγισης σε όλους τους δρομολογητές στο AS1 Δουλειά της inter-as δρομολόγησης! 3c other networks 3b 3a AS3 1a AS1 1c 1d 1b 2a AS2 2c 2b other networks 34

Παράδειγμα: Καθορισμός του πίνακα προώθησης στο δρομολογητή 1d Έστω ότι το AS1 μαθαίνει (μέσω πρωτοκόλλου inter-as) ότι το υποδίκτυο x είναι προσεγγίσιμο μέσω του AS3 (δρομολογητής πύλης 1c) αλλά όχι μέσω του AS2. Το πρωτόκολλο inter-as διαδίδει την πληροφορία προσέγγισης σε όλους τους εσωτερικούς δρομολογητές Ο δρομολογητής 1d καθορίζει μέσω της intra-as πληροφορίας δρομολόγησης ότι η διεπαφή του I είναι στη διαδρομή ελάχιστου κόστους προς το 1c. Εισάγει καταχώριση στον πίνακα προώθησης (x,i) other networks 3b 3c AS3 3a 1a AS1 1c 1d x AS2 1b 2a 2c 2b other networks 35

Παράδειγμα: Διαλέγοντας μεταξύ πολλαπλών AS Έστω τώρα ότι το AS1 μαθαίνει από το inter-as πρωτόκολλο ότι το υποδίκτυο x είναι προσεγγίσιμο από το AS3 και από το AS2 Για τη διαμόρφωση του πίνακα προώθησης, ο δρομολογητής 1d πρέπει να καθορίσει προς ποιόν δρομολογητή πύλης θα πρέπει να προωθεί τα πακέτα για τον προορισμό x Αυτό είναι επίσης δουλειά του inter-as πρωτοκόλλου δρομολόγησης! other networks 3c 3a 3b AS3 1a AS1 x 1c 1d? 1b 2a AS2 2c 2b other networks 36

Παράδειγμα: Διαλέγοντας μεταξύ πολλαπλών AS Δρομολόγηση καυτής πατάτας (hot potato routing): στείλε το πακέτο στον πιο κοντινό από τους δύο δρομολογητές 37

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Πανεπιστημίου Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 39

Σημειώματα 40

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00. 41

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Μιχαήλ Λογοθέτης. «Δίκτυα Επικοινωνίας Υπολογιστών. Στρώμα δικτύου». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ee604/ 42

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 43

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

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση του ακόλουθου έργου: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες/Πίνακες [1] J. Kurose and K. Ross, Δικτύωση Υπολογιστών Προσέγγιση από Πάνω προς τα Κάτω, 6 η έκδοση, Γκιούρδας, 2013 45