1 / 46

Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2008-2009

Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2008-2009. Αλγόριθμοι Δρομολόγησης. Επίπεδο δικτύου. Text: Chapters 4.2, 4.3, 4.5.1 Kurose/Ross. Additional resources: http://www-2.cs.cmu.edu/~srini/15-441/S05/. ΗΥ335. Θέματα προς συζήτηση.

Télécharger la présentation

Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2008-2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΜαρίαΠαπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2008-2009 Αλγόριθμοι Δρομολόγησης Επίπεδο δικτύου Text: Chapters 4.2, 4.3, 4.5.1 Kurose/Ross Additional resources: http://www-2.cs.cmu.edu/~srini/15-441/S05/ ΗΥ335 Network Layer

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

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

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

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

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

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

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

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

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

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

  12. 5 3 5 2 2 1 3 1 2 1 x z w u y v Bellman-Ford παράδειγμα Ξεκάθαρα, dv(z) = 5, dx(z) = 3, dw(z) = 3 B-F εξίσωση λέει: du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Ο κόμβος που επιτυγχάνει το ελάχιστο είναι το επόμενο hop στο μικρότερο μονοπάτι➜ forwarding table Network Layer

  13. Ενημέρωση Διανύσματος Απόστασης z • 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 d(z,y) c(x,z) y x d(x,y) Network Layer

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

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

  16. cost to x y z x 0 2 7 y from ∞ ∞ ∞ z ∞ ∞ ∞ 2 1 7 z x y Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table cost to cost to x y z x y z x 0 2 3 x 0 2 3 y from 2 0 1 y from 2 0 1 z 7 1 0 z 3 1 0 node y table cost to cost to cost to x y z x y z x y z x ∞ ∞ x 0 2 7 ∞ 2 0 1 x 0 2 3 y y from 2 0 1 y from from 2 0 1 z z ∞ ∞ ∞ 7 1 0 z 3 1 0 node z table cost to cost to cost to x y z x y z x y z x 0 2 7 x 0 2 3 x ∞ ∞ ∞ y y 2 0 1 from from y 2 0 1 from ∞ ∞ ∞ z z z 3 1 0 3 1 0 7 1 0 Network Layer χρόνος

  17. 1 4 1 50 x z y Διάνυσμα απόστασης: κόστος ζεύξης αλλάζει Κόστος ζεύξης αλλάζει: • Κόμβος εντοπίζει αλλαγή κόστος τοπικής ζεύξης • Ανανεώνει τις πληροφορίες δρομολόγησης, ξαναυπολογίζει το διάνυσμα απόστασης • Αν το DV αλλάζει, ενημερώνει γείτονες @ time t0: yεντοπίζειαλλαγή κόστους ζεύξης, ενημερώνει το DV του, & ενημερώνει τους γείτονες @ time t1: zλαμβάνει την ενημέρωσηαπό τον yκαι ενημερώνει το table του. Υπολογίζει ένα νέο ελάχιστο κόστος στοx& στέλνει το DV του στους γείτονές του. @ time t2, yλαμβάνει την ενημέρωση τουz και ενημερώνει το table του. Το ελάχιστο κόστος του yδεν αλλάζει και έτσι δεν στέλνει κάποιο μήνυμα στονz. “τα καλά νέα ταξιδεύουν γρήγορα” Network Layer

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

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

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

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

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

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

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

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

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

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

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

  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 Layer

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

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

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

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

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

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

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

  37. RIP: Παράδειγμα z w x y A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x -- 1 …. …. .... Routing table in D Network Layer

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

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

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

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

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

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

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

  45. Ιεραρχικό OSPF Network Layer

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

More Related