Network Layer4-1 Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2008-2009 Επίπεδο δικτύου ΗΥ335 Αλγόριθμοι Δρομολόγησης.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

DTN Routing Schemes. 2 Εφαρμογές Delay Tolerant Networks Η δρομολόγηση στα Delay Tolerant Networks είναι ζωτικής σημασίας. Τα Delay Tolerant Networks.
ΑΠΟΤΙΜΗΣΗ ΑΠΟΔΟΣΗΣ ΔΙΚΤΥΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΣΥΝΔΕΣΗΣ Ιωάννης Κόμνιος Μεταπτυχιακή Διατριβή Τμήμα.
HY-335 : Δίκτυα Υπολογιστών
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Διαχείριση Δικτύων Ευφυή Δίκτυα
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP)
Β. Μάγκλαρης 13/1/2014 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ & ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET Β. Μάγκλαρης.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
Θέματα προς συζήτηση ... Ερωτήσεις από τα προηγούμενα lectures ...
HY-335 : Δίκτυα Υπολογιστών
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Στόχοι Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ ΣΤΟ INTERNET: Άμεση - Direct Routing
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
Τεχνολογία Δικτύων Επικοινωνιών
Πρωτόκολλα Δρομολόγησης
Πρωτόκολλα δρομολόγησης
Δρομολόγηση στο Internet & Δίκτυα Γεφυρωμένων Ethernet 6/2/2008
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Ανάλυση του λευκού φωτός και χρώματα
Αναγνώριση Προτύπων.
ΤCP/IP Τι είναι; Σύντομο Ιστορικό
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δ.Καλογεράς 11/1/2010 Credit: Kurose & Rose ppt.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Πρωτόκολλα Δρομολόγησης
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
©Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901
Πρωτόκολλα Δρομολόγησης
A Balanced Tree Structure for Peer-to-Peer Networks
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
Distributed Systems 2 Multicast DNS. Τι είναι; Πρωτόκολλο αντίστοιχο του DNS για τοπικά δίκτυα. Κάθε Η/Υ έχει την δική του λίστα με DNS records.
Κατανεμημένα Συστήματα με Java Ενότητα # 5: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
1 routing Δρομολόγηση (routing) σε δίκτυα Αυτοδύναμα Πακέτα (Datagrams): απόφαση δρομολόγησης για κάθε πακέτο. Εικονικά Κυκλώματα (Virtual Circuits): μία.
1 Ιεραρχική δρομολόγηση hierarchical routing (hierarchical routing) Η μελέτη μας για τη δρομολόγηση μέχρι στιγμής είναι εξιδανικευμένη: όλοι οι δρομολογητές.
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
Δέσποινα Μαγγίνα M1175 Κωνσταντίνος Γαργάνης Μ1172 Δήμητρα Μαρία Χαρακλιά Μ1206 Ιωάννης Παπαδάκης Μ1171 Αλέξανδρος Νικολόπουλος Μ1182 Δημήτριος Μπαϊρακτάρης.
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet – IGP/BGP Β. Μάγκλαρης 22/11/2010.
HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο O R E K W N T net works Επίπεδο.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Β. Μάγκλαρης 05/12/2011 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet – Distance Vector (Bellman.
Τι κρατάει το Internet μαζί? 1. Η διευθυνσιοποίηση (addressing): πως δηλ. αναφερόμαστε σε μια μηχανή στο δίκτυο. 2. Η δρομολόγηση (routing): πως να φτάσουμε.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 16/5/2007. Πρότυπο Αρχιτεκτονικής Μετάδοσης, Ελέγχου & Διαχείρισης Επίπεδο Δεδομένων - Data (forwarding) Plane –Κωδικοποίηση σε πακέτα.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης 23/1/2008.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 2: Συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου. Εργαστήριο Διαχείρισης και Βέλτιστου.
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I) Ταξινόμηση Τρόπων Δρομολόγησης Επίπεδο 3: Intra-domain & Inter-domain Routing Host Routing,
Arp και DHCP 3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)
Περιεχόμενα 1. Δρομολόγηση στο Internet 2. Δυναμική δρομολόγηση
Περιεχόμενα 1. Δρομολόγηση στο Internet 2. Δυναμική δρομολόγηση
Β. Μάγκλαρης 24/10/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι.
Β. Μάγκλαρης 17/10/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet (Τμήμα 2/2) Ορισμοί Δρομολόγησης.
Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9ο Εξάμηνο,
Β. Μάγκλαρης 07/01/2009 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΛΓΟΡΙΘΜOI ΔΡΟΜΟΛΟΓΗΣΗΣ (Ταξινόμηση, VLANs, IGP, BGP) Β. Μάγκλαρης.
ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ
Κεφάλαιο 7: Διαδικτύωση-Internet
Κεφάλαιο 7: Διαδικτύωση-Internet
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Quagga - Routing like a PRO
Ενότητα 4: Επίπεδο Δικτύου Διδάσκων: Λάζαρος Μεράκος
Β. Μάγκλαρης 2/11/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman)
Routing Algorithms Link state Distance Vector Hierarchical routing
Μεταγράφημα παρουσίασης:

Network Layer4-1 Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο Επίπεδο δικτύου ΗΥ335 Αλγόριθμοι Δρομολόγησης Additional resources: Text: Chapters 4.2, 4.3, Kurose/Ross

Network Layer4-2 Θέματα προς συζήτηση... Ερωτήσεις από τα προηγούμενα lectures... r Αλγόριθμοι δρομολόγησης (συνέχεια από το προηγούμενο lecture) m Link state m Διάνυσμα απόστασης (Distance Vector) m Πλημμύρα (flooding) m Ιεραρχική δρομολόγηση (Hierarchical routing) r Δρομολόγηση στο Internet m RIP m OSPF m BGP Βασισμένο κυρίως στο Κεφ. 4 του βιβλίου των Kurose/Ross

Network Layer4-3 Μια μικρή υπενθύμιση στους δρομολογητές r Το όριο μεταξύ του host και της φυσικής ζεύξης ονομάζεται διεπαφή (interface) r Ένας δρομολογητής έχει πολλαπλές διεπαφές (μία για κάθε ένα από τις ζεύξεις του)  Μία IP διεύθυνση σχετίζεται με μία διεπαφή & όχι με ένα host ή με έναν δρομολογητή που περιέχει την διεπαφή  IP διεύθυνση είναι καθολικά μοναδική (ένα μέρος της αναγνωρίζει το δίκτυο) r Δουλειά δρομολογητή: να λαμβάνει IP δεδομενογράμματα σε μία “εισερχόμενη” ζεύξη & να τα προωθεί σε κάποια “εξερχόμενο” ζεύξη

Network Layer4-4 Παραδείγματα flooding Σύνδεση router (ή γενικότερα οποιαδήποτε συσκευή που συμμετέχει σε αυτό το flooding πρωτόκολλο) Flooding σε συσκευές που είναι στη σειρά (“one dimensional flooding”) Router με την αρχική πληροφορία Αναπαράσταση: Οταν ένα router λαμβάνει ένα μήνυμα με την πληροφορία αλλάζει το χρώμα του Μετάδοση μηνύματος με πληροφορία  Flooding: όταν ένας router αποκτά την πληροφορία την αναμεταδίδει στους γείτονες του

Network Layer4-5 Παραδείγματα flooding (συνέχεια) Αναπαράσταση: χρωματίζεται με “κόκκινο” ένας κόμβος μόλις αποκτήσει την πληροφορία Flooding σε συσκευές που είναι σε ένα grid (“two-dimensional flooding”) Ο κόμβος αυτός έχει αρχικά την πληροφορία Κάθε κόμβος μεταδίδει Στους γείτονικούς κόμβους Το μήνυμα με την πληροφορία

Network Layer4-6 Παραδείγματα flooding (συνέχεια) χρωματίζεται με “κόκκινο” ένας κόμβος μόλις αποκτήσει την πληροφορία Flooding σε συσκευές που είναι σε ένα grid (“two-dimensional flooding”) Ο κόμβος αυτός έχει αρχικά την πληροφορία Κάθε κόμβος μεταδίδει Στους γείτονικούς κόμβους το μήνυμα με την πληροφορία με κάποια πιθανότητα p: πιθανότητα μετάδοσης της πληροφορίας σε ένα γειτονικό κόμβο

Network Layer4-7 Παραδείγματα flooding (συνέχεια) r Παραδείγματα κόμβων σε αυτούς τους σχηματισμούς: m routers, peers, αισθητήρες r Αλλες μορφές του flooding: m Η μετάδοση γίνεται με μία πιθανότητα p (περιγραφή στο προηγούμενο slide) m Κινητοί κόμβοι Ωραία θεωρητικά προβλήματα:  Πως διαδίδεται η πληροφορία σε τέτοια δίκτυα ? Προσδιορισμός της συνάρτησης που δίδει τον αριθμό των κόμβων που έχουν λάβει την πληροφορία στον χωρο-χρόνο  Particle kinetics, diffusion controlled processes (from physics)

Network Layer4-8 Dijkstra’s algorithm:παράδειγμα Step N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u D(w),p(w) 5,u 4,x 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ 4,y u y x wv z Η διαδικασία εκτελείται με έναν κεντρικοποιημένο τρόπο από τον κάθε δρομολογητή στο δίκτυο

Network Layer4-9 Τι είπαμε να θυμάστε ; (από το προηγούμενο μάθημα) r Δρομολόγηση κατάσταση ζεύξης(Link-state routing): m ένας κόμβος προσπαθεί να πάρει μία ολοκληρωμένη εικόνα του δικτύου διαμέσου της “φωνής(“πλημμύρας”) r Διάνυσμα απόστασης (Distance-vector): m Ένας κόμβος νοιάζεται μόνο για τους γείτονές του και παίρνει τοπικές πληροφορίες m όχι ολοκληρωτική σκοπιά του δικτύου

Network Layer4-10 Αλγόριθμος διανύσματος απόστασης Βασική ιδέα: 1. Κάθε κόμβος περιοδικά στέλνει το δικό του εκτιμώμενο διάνυσμα απόστασης (DV) στους γείτονες 2. Όταν ένα κόμβος x λαμβάνει ένα νέο εκτιμώμενο από τον γείτονα v: ανανεώνει το δικό του DV χρησιμοποιώντας την εξίσωση B-F: D x (y) ← min v { c(x,v) + D v (y) } για κάθε κόμβο y ∊ N D x (y) = εκτίμηση του λιγότερου κόστους από x  y Κόμβος x κρατάει D x = [ D x (y) : y є N ]

Network Layer4-11 Αλγόριθμος διανύσματος απόστασης  Bellman-Ford Εξίσωση (δυναμικός προγραμματισμός) Ορίζουμε D x (y) := κόστος του μονοπατιού με το λιγότερο κόστος από το x στο y Τότε D x (y) = min {c(x,v) + D v (y) } Όπου η ελάχιστη τιμή ελέγχεται για όλους τους γείτονες v του x v

Network Layer4-12 Bellman-Ford παράδειγμα u y x wv z Ξεκάθαρα, d v (z) = 5, d x (z) = 3, d w (z) = 3 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 στο μικρότερο μονοπάτι ➜ forwarding table B-F εξίσωση λέει:

Network Layer4-13 Ενημέρωση Διανύσματος Απόστασης r Update(x,y,z) d  c(x,z) + d(z,y) # Κόστος του μονοπατιού από x στο y με πρώτο hop z if d < d(x,y) # Βρέθηκε καλύτερο μονοπάτι return d,z # Ενημερωμένο κόστος / επόμενο hop else return d(x,y), nexthop(x,y) # Υπάρχον κόστος / επόμενο hop x z y c(x,z) d(z,y) d(x,y)

Network Layer4-14 Αλγόριθμος διανύσματος απόστασης D x (y) = εκτίμηση του λιγότερου κόστους από x  y Διάνυσμα απόστασης: D x = [D x (y): y є N ] Κόμβος x ξέρει το κόστος x →y : c(x,v)  Κόμβος x κρατάει D x = [ D x (y) : y є N ] και επίσης τα διανύσματα απόστασης των γειτόνων του για κάθε γείτονα v: D v = [D v (y): y є N ]

Network Layer4-15 Αλγόριθμος διανύσματος απόστασης(5) Επαναληπτικός, ασύγχρονος: Κάθε τοπική επανάληψη προκαλείται από: αλλαγή κόστους τοπικής ζεύξης DV μήνυμα ενημέρωσης από γείτονα Διανέμεται:  κάθε κόμβος ενημερώνει τους γείτονες μόνο όταν το DV του αλλάζει m Τότε οι γείτονες ενημερώνουν τους γείτονές τους μόνο όταν είναι απαραίτητο περιμένει για (μήνυμα από γείτονα για αλλαγή κόστους τοπικής ζεύξης) ξαναυπολογίζει τις εκτιμήσεις Αν το DV σε οποιοδήποτε προορισμό άλλάξει, ενημέρωσε τους γείτονες Κάθε κόμβος:

Network Layer4-16 x y z x y z ∞∞∞ ∞∞∞ from cost to from x y z x y z from cost to x y z x y z from cost to x y z x y z ∞∞ ∞∞∞ cost to x y z x y z from cost to x y z x y z from cost to x y z x y z from cost to x y z x y z from cost to x y z x y z ∞∞∞ 710 cost to ∞ ∞ ∞ ∞ χρόνος x z y node x table node y table node z table D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3

Network Layer4-17 Διάνυσμα απόστασης: κόστος ζεύξης αλλάζει Κόστος ζεύξης αλλάζει: Κόμβος εντοπίζει αλλαγή κόστος τοπικής ζεύξης Ανανεώνει τις πληροφορίες δρομολόγησης, ξαναυπολογίζει το διάνυσμα απόστασης Αν το DV αλλάζει, ενημερώνει γείτονες “τα καλά νέα ταξιδεύουν γρήγορα” x z y time t 0 : y εντοπίζει αλλαγή κόστους ζεύξης, ενημερώνει το DV του, & ενημερώνει τους time t 1 : z λαμβάνει την ενημέρωση από τον y και ενημερώνει το table του. Υπολογίζει ένα νέο ελάχιστο κόστος στο x & στέλνει το DV του στους γείτονές time t 2, y λαμβάνει την ενημέρωση τουz και ενημερώνει το table του. Το ελάχιστο κόστος του y δεν αλλάζει και έτσι δεν στέλνει κάποιο μήνυμα στον z.

Network Layer4-18 Παράδειγμα (συνέχεια) x z y 1 Y detects Notation: D Y : table που ο κόμβος Y κρατάει Προορισμός που θέλουμε (κόμβος X) σε κύκλο: η τελική επιλογή του κόμβου Y για να φτάσει τον προορισμό neighbor κόστος του μονοπατιού (6) για τον Y να φτάσει τονX μέσω του γείτονα Z

Network Layer4-19 Διάνυσμα απόστασης: Κόστος ζεύξης αλλάζει Κόστος ζεύξης αλλάζει: r Καλά νέα ταξιδεύουν γρήγορα r Κακά νέα ταξιδεύουν αργά - “count to infinity” πρόβλημα! X Z Y 60 Ο αλγόριθμος συνεχίζει

Network Layer4-20 Διάνυσμα απόστασης: Κόστος ζεύξης αλλάζει Κόστος ζεύξης αλλάζει: Καλά νέα ταξιδεύουν γρήγορα Κακά νέα ταξιδεύουν αργά - “count to infinity” πρόβλημα!  44 επαναλήψεις πριν σταθεροποιηθεί ο αλγόριθμος: δες κείμενο Poisoned reverse: Αν Z πηγαίνει μέσω του Y για να πάει στο X :  Z λέει στον Y η απόστασή του από το X είναι άπειρη (έτσι ο Y δεν θα πάει στον X μέσω του Z) Θα μπορέσει αυτό να λύσει το “count to infinity” πρόβλημα? x z y 60

Network Layer4-21 Διάνυσμα απόστασης: Poison Reverse Αν Z πηγαίνει μέσω Y να πάει στο X : r Z λέει στον Y η απόσταση του από το X είναι άπειρη (έτσι το Y δεν θα πάει μέσω Z στο Χ) r Εξαλείφει μερικά πιθανά timeouts με split horizon r Θα λύσει αυτό το “count to infinity” πρόβλημα? X Z Y 60 algorithm terminates

Network Layer4-22 Κριτήρια απόδοσης ενός πρωτοκόλου δικτύων r Αλγοριθμική πολυπλοκότητα m Καθυστέρησεις (πχ χρόνος για να υπολογιστεί το αποτέλεσμα) m Απαιτήσεις σε ενέργεια & υπολογιστική δύναμη r Αριθμός μηνυμάτων m Απαιτήσεις σε ενέργεια m Χρόνος για να υπολογιστεί το αποτέλεσμα ή να καταλήξουν οι συσκευές που κάνουν τους υπολογισμούς (στην περίπτωση ενος distributed αλγορίθμου) στο ίδιο αποτέλεσμα (“time of convergence”) r Scalability m Τι γίνεται όταν αυξάνεται ο αριθμός των συσκευών που συμμετέχουν (πχ μεγαλώνει το δίκτυο) r Ευρωστία (robustness, fault tolerance) m Πόσο ευάλωτο είναι σε διάφορες επιθέσεις m Πώς αλλάζει η απόδοση του δικτύου όταν αυξάνονται οι επιθέσεις ή ο αριθμός των συσκευών που αντιμετωπίζουν κάποιο πρόβλημα r Ακρίβεια στους υπολογισμούς

Network Layer4-23 Σύγκριση των LS & DV αλγορίθμων Πολυπλοκότητα Μηνύματος LS: με n κόμβους, E ζεύξεις, O(nE) μηνύματα στέλνονται DV: ανταλλάσσονται μεταξύ γειτόνων μόνο convergence time ποικίλει Speed of Convergence LS: O(n 2 ) αλγόριθμος απαιτεί O(nE) μηνύματα m μπορεί να έχει διακυμάνσεις DV: convergence time ποικίλει m Μπορεί να υπάρξουν βρόχοι δρομολόγησης m count-to-infinity πρόβλημα

Network Layer4-24 LS vs. DV αλγόριθμοι (συνέχεια) Robustness: τι γίνεται αν δεν λειτουργεί σωστά ο δρομολογητής? LS: m ο κόμβος μπορεί να διαδίδει λάθος κόστος ζεύξεως m Καθε κόμβος υπολογίζει το δικό του table DV: m DV κόμβος μπορεί να διαδίδει λάθος κόστος μονοπατιού m το table κάθε κόμβου χρησιμοποιείται από άλλους  Λάθος διάδοσης μέσω δικτύου

Network Layer4-25 Ιεραρχική δρομολόγηση  Κλίμακα: με 200 εκατομμύρια προορισμούς: δεν μπορούν όλοι να αποθηκευτούν στα routing tables! Οι ανταλλαγές routing tables θα πλημμύριζαν τις ζεύξεις! Διοικητική αυτονομία internet = δίκτυα από δίκτυα Ο admin κάθε δικτύου μπορεί να θέλει να ελέγξει την δρομολόγηση στο δικό του δίκτυο & επίσης να κρύψει πτυχές της εσωτερικής οργάνωσης του δικτύου Η μελέτη μας για την δρομολόγηση μέχρι τώρα - ιδανική  όλοι οι δρομολογητές ίδιοι  το δίκτυο είναι ”flat”  … στην πραγματικότητα δεν είναι έτσι

Network Layer4-26 Ιεραρχική δρομολόγηση r Ομαδοποίηση δρομολογητών σε περιοχές, “autonomous systems” (AS) r Δρομολογητές στο ίδιο AS τρέχουν το ίδιο πρωτόκολλο δρομολόγησης m “intra-AS” πρωτόκολλο δρομολόγησης m Δρομολογητές σε διαφορετικά AS μπορεί να τρέχουν διαφορετικά intra-AS πρωτόκολλα δρομολόγησης Gateway δρομολογητής r Άμεση ζεύξη σε δρομολογητή σε άλλο AS

Network Layer4-27 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS Routing algorithm Inter-AS Routing algorithm Forwarding table 3c Διασυνδεμένα AS r Forwarding table είναι ρυθμισμένο και από intra- & inter-AS αλγόριθμους δρομολόγησης m Intra-AS βάζει entries για εσωτερικούς προορισμούς m Inter-AS & Intra-As βάζει entries για εξωτερικούς προορισμούς

Network Layer4-28 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c Καθήκον Inter-AS r Υποθέστε έναν δρομολογητή μέσα στο AS1 να λαμβάνει ένα δεδομενόγραμμα το οποιο προορίζεται για προορισμλο εκτός του AS1 m Ο δρομολογητής πρέπει να προωθήσει το πακέτο προς έναν από τους gateway δρομολογητές, αλλά σε ποιον? AS1 χρειάζεται: 1. να μάθει ποιοι προορισμοί είναι προσεγγίσιμοι μέσω AS2 & ποιοι μέσω AS3 2. Για να διαδόσει αυτή τη πληροφορία σε όλους τους δρομολογητές στο AS1 Δουλειά της inter-AS δρομολόγησης!

Network Layer4-29 Παράδειγμα: Θέτοντας forwarding table στον δρομολογητή 1d Υποθέστε AS1 μαθαίνει από το inter-AS πρωτόκολλο ότι το υποδίκτυο x is είναι προσεγγίσιμο από AS3 (gateway 1c) αλλά όχι από AS2 Inter-AS πρωτόκολλο διαδίδει την πληροφορία σε όλους τους δρομολογητές Δρομολογητής 1d καταλαβαίνει από intra-AS πληροφορία προσέγγισης ότι η διεπαφή του I είναι στο λιγότερο ακριβό μονοπάτι προς το 1c Βάζει στο forwarding table την εγγραφή (x,I)

Network Layer4-30 Intra-AS Δρομολόγηση r Επίσης γνωστό ως Interior Gateway Protocols (IGP) r Πιο κοινά Intra-AS πρωτόκολλα δρομολόγησης: m RIP: Routing Information Protocol m OSPF: Open Shortest Path First m IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

Network Layer4-31 RIP ( Routing Information Protocol) r Διάνυσμα-απόστασης αλγόριθμος r Κάθε ζεύξη έχει κόστος 1 r Περιλήφθηκε στο BSD-UNIX Distribution in 1982 Ευρέως υλοποιημένο r Μονάδα απόστασης: # των hops (max = 15 hops) D C BA u v w x y z προορισμός hops u 1 v 2 w 2 x 3 y 3 z 2 Από τον δρομολογητή A στα υποδίκτυα:

Network Layer4-32 Διεργασίες - RIP Table r RIP routing tables ελέγχονται διεργασία επιπέδου εφαρμογής που λέγεται route-d (δαίμονας) r ανακοινώσεις που στέλνονται μέσα στα UDP πακέτα, περιοδικά επαναλαμβάνονται physical link network forwarding (IP) table Transprt (UDP) routed physical link network (IP) Transprt (UDP) routed forwarding table

Network Layer4-33 RIP advertisements r RIP δαίμονας ανακοινώνει περιοδικά τα διανύσματα απόστασης  Όταν φορτώνει ζητάει από τους γείτονες του το routing table τους r Διανύσματα απόστασης ανταλλάσσονται μεταξύ γειτόνων κάθε 30 sec μέσω Μηνύματος Απάντησης (επίσης λέγεται advertisement) r Κάθε advertisement: απαριθμεί μέχρι και 25 δίκτυα προορισμού μέσα στο AS r Στέλνοντας Ενημερώσεις  Κάθε δρομολογητής ακούει για ενημερώσεις στο UDP port 520

Network Layer4-34 RIP Ενημερώσεις r Αρχικά m Όταν ο δρομολογητής ξεκινάει, ζητάει ένα αντίγραφο του table κάθε γείτονα m Το χρησιμοποιεί επαναληπτικά για να δημιουργήσει το δικό του table r Περιοδικά m Κάθε 30 sec, ο δρομολογητής στέλνει αντίγραφο του table σε κάθε γείτονα m Αυτοί το χρησιμοποιούν επαναληπτικά για να ανανεώσουν τα tables τους r Όταν πυροδοτηθούν m Όταν κάθε εγγραφή αλλάξει, στείλε ένα αντίγραφο της εγγραφής στους γείτονες Εκτός από εγγραφή που προκαλεί ενημέρωση (split horizon κανόνας) m Το χρησιμοποιούν οι γείτονες να ανανεώσουν τα tables τους

Network Layer4-35 “Μπαγιάτεμα” RIP / Έλεγχος διακυμάνσεων r Χρονομετρητής διαδρομής m Κάθε διαδρομή έχει ένα όριο timeout των 180 seconds Τερματίζει όταν δεν έχει δεχτεί ενημέρωση από το επόμενο next hop για 6 περιόδους m Αν δεν ενημερωθεί, ορίζεται στο άπειρο m Soft-state ανανέωση  σημαντική έννοια!!! r Συμπεριφορά m Όταν ο δρομολογητής ή μια ζεύξη αποτυγχάνει, μπορεί να πάρει λεπτά για να σταθεροποιηθεί

Network Layer4-36 RIP: Αποτυχία ζεύξης και αποκατάσταση Αν κανένα advertisement δεν έχει ακουστεί μετά από 180 sec   η ζεύξη με γείτονα κηρύσσεται νεκρό  διαδρομές μέσω γείτονα ακυρώνονται m καινούρια advertisements στέλνονται στους γείτονες m Οι γείτονες στέλνουν με τη σειρά τους καινούρια advertisements (αν τα tables άλλαξαν) m Πληροφορία αποτυχία ζεύξης γρήγορα διαδίδεται σε όλο το δίκτυο m poison reverse χρησιμοποιείται για να αποτρέψει ping- pong βρόχους (άπειρη απόσταση = 16 hops)

Network Layer4-37 RIP: Παράδειγμα Destination Network Next Router Num. of hops to dest. wA2 yB2 zB7 x--1 ….…..... w xy z A C D B Routing table in D

Network Layer4-38 RIP: Παράδειγμα Destination Network Next Router Num. of hops to dest. wA2 yB2 zB A7 5 x--1 ….…..... Routing table in D w xy z A C D B Dest Next hops w - 1 x - 1 z C 4 …. …... Advertisement from A to D

Network Layer4-39 Υιοθέτηση OSPF (Open Shortest Path First) r RIP φαίνεται παλιομοδίτικο m Καλό όταν τα δίκτυα είναι μικρά και οι δρομολογητές έχουν περιορισμένη μνήμη & υπολογιστική ισχύ r OSPF Πλεονεκτήματα  Γρήγορη σύγκλιση (convergence) όταν οι ρυθμίσεις αλλάξουν

Network Layer4-40 OSPF (Open Shortest Path First) r “open”: publicly available (IETF standard) r More prevalent than RIP r Uses the link-state algorithm m LS packet dissemination m Topology map at each node m Route computation using Dijkstra’s algorithm r OSPF advertisement carries one entry per neighbor router r Advertisements disseminated to entire AS (via flooding) m Carried in OSPF messages directly over IP (rather than TCP or UDP)

Network Layer4-41 OSPF αξιόπιστη πλημμύρα  Ζεύξεις μετάδοσης ανακοινώνουν advertisements m Αρχικός δρομολογητής Τυπικά, minimum IP διεύθυνση για τον δρομολογητή m ID Ζεύξης ID του δρομολογητή στο άλλο άκρο της ζεύξης m Μονάδα Κόστος ζεύξης (“open” – καθορίζεται από τον admin του δικτύου π.χ., κόστος 1 → minimum-hop δρομολόγηση Αντιστρόφως ανάλογο στην χωρητικότητα ζεύξεως για να αποθαρρύνει κίνηση από low-bandwidth κόμβους m Ηλικία κατάστασης ζεύξης Αυξάνεται κάθε second Το πακέτο λήγει όταν φτάσει 3600 m Αύξων αριθμός Αυξάνει κάθε φορά που στέλνει πληροφορία για καινούρια ζεύξη

Network Layer4-42 OSPF επιχείρηση πλλημμύρας (Flooding Operation) r Κόμβος X λαμβάνει LSA από Κόμβο Y m Με αύξοντα αριθμό q m Κοιτάει για εγγραφή με ίδια ID προέλευσης/ζεύξης r Περιπτώσεις m Όταν δεν υπάρχει εγγραφή Πρόσθεσε εγγραφή, διάδοσε σε όλους τους γείτονες εκτός του Y m Υπάρχει εγγραφή με αύξοντα αριθμό p < q Ανανέωσε εγγραφή, διάδοσε σε όλους τους γείτονες εκτός του Y m Υπάρχει εγγραφή με αύξοντα αριθμό p > q Στείλε τη πίσω στον Y Για να πεις στον Y ότι έχει παλιές πληροφορίες m Υπάρχει εγγραφή με αύξοντα αριθμό p = q Αγνόησέ το

Network Layer4-43 Προβλήματα πλημμύρας r Πότε πρέπει να εκτελεστεί m Περιοδικά  προσθέτει ευρωστία ! m Όταν η κατάσταση της ζεύξης αλλάξει (“event-driven”) αλλαγές: στο κόστος, κατάσταση up/down, συνθήκες κίνησης Εντοπίζεται από συνεδεμένο κόμβο r Τι γίνεται όταν ο δρομολογητής πηγαίνει down & ξανά up m Αύξοντας αριθμός επανεκινείται στο 0 Άλλοι δρομολογητές μπορεί να έχουν εγγραφές με μεγαλύτερυς αύξοντες αριθμούς m Ο δρομολογητής θα στείλει LSAs με νούμερο 0 m Θα πάρει πίσω LSAs με τον τελευταίο έγκυρο αύξοντα αριθμό p m O δρομολογητής θέτει τον αύξοντα αριθμό στο p+1 & ξαναστέλνει

Network Layer4-44 OSPF “προηγμένα” χαρακτηριστικά (όχι στο RIP) r Ασφάλεια: όλα τα OSPF μηνύματα πιστοποιούνται (για να αποτραπούν κακόβουλες εισβολές)  σημαίνει ότι μόνο έμπιστοι δρομολογητές παίρνουν μέρος στο OSPF r Πολλαπλά ίδιου κόστους μονοπάτια επιτρέπονται (μόνο ένα μονοπάτι στο RIP) r Για κάθε ζεύξη, πολλαπλές μονάδες κόστους για διαφορετικό TOS (π.χ., κόστος δορυφορικής ζεύξης είναι “χαμηλό” για best effort; υψηλό για πραγματικό χρόνο) r Ενσωματομένη uni- and multicast υποστήριξη: m Multicast OSPF (MOSPF) χρησιμοποιεί ίδια βάση τοπολογίας όπως ο OSPF r Ιεραρχικός OSPF σε μεγάλα domains

Network Layer4-45 Ιεραρχικό OSPF

Network Layer4-46 Ιεραρχικό OSPF Δυο επιπέδων ιεραρχία: τοπική περιοχή, backbone m advertisements κατάστασης ζεύξης μόνο τοπικά m κάθε κόμβος έχει λεπτομερή τοπολογία της τοπικής περιοχής, μόνο ξέρει κατεύθυνση (μικρότερο μονοπάτι) σε δίκτυα σε άλλες περιοχές Δρομολογητές ορίων περιοχής: “συνοψίζει” αποστάσεις προς δίκτυα στην δικία του περιοχή, το ανακοινώνει σε δρομολογητές ορίων άλλων περιοχών Backbone δρομολογητές: τρέχουν OSPF δρομολόγηση περιορισμένη στο backbone Boundary δρομολογητές: συνδέονται σε άλλα AS’s