Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών,...

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

description

Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 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. Θέματα προς συζήτηση. - PowerPoint PPT Presentation

Transcript of Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών,...

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

Network Layer 4-1

Μαρία ΠαπαδοπούληΤμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο

ΚρήτηςΧειμερινό εξάμηνο 2008-2009

Επίπεδο δικτύου

ΗΥ335

Αλγόριθμοι Δρομολόγησης

Additional resources: http://www-2.cs.cmu.edu/~srini/15-441/S05/Text: Chapters 4.2, 4.3, 4.5.1 Kurose/Ross

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

Network Layer 4-2

Θέματα προς συζήτηση ... Ερωτήσεις από τα προηγούμενα lectures ... Αλγόριθμοι δρομολόγησης (συνέχεια από το

προηγούμενο lecture) Link state Διάνυσμα απόστασης (Distance Vector) Πλημμύρα (flooding) Ιεραρχική δρομολόγηση (Hierarchical routing)

Δρομολόγηση στο Internet RIP OSPF BGP

Βασισμένο κυρίως στο Κεφ. 4 του βιβλίου των Kurose/Ross

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

Network Layer 4-3

Μια μικρή υπενθύμιση στους δρομολογητές

Το όριο μεταξύ του host και της φυσικής ζεύξης ονομάζεται διεπαφή (interface)

Ένας δρομολογητής έχει πολλαπλές διεπαφές (μία για κάθε ένα από τις ζεύξεις του)

Μία IP διεύθυνση σχετίζεται με μία διεπαφή & όχι με ένα host ή με έναν δρομολογητή που περιέχει την διεπαφή

IP διεύθυνση είναι καθολικά μοναδική (ένα μέρος της αναγνωρίζει το δίκτυο)

Δουλειά δρομολογητή: να λαμβάνει IP δεδομενογράμματα σε μία “εισερχόμενη” ζεύξη & να τα προωθεί σε κάποια “εξερχόμενο” ζεύξη

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

Network Layer 4-4

Παραδείγματα flooding

Σύνδεσηrouter (ή γενικότερα οποιαδήποτε συσκευήπου συμμετέχει σε αυτό το flooding πρωτόκολλο)

Flooding σε συσκευές που είναι στη σειρά (“one dimensional flooding”)

Router με την αρχική πληροφορία

Αναπαράσταση: Οταν ένα router λαμβάνει ένα μήνυμα με την πληροφορία αλλάζει το χρώμα του

Μετάδοση μηνύματος με πληροφορία

Flooding: όταν ένας router αποκτά την πληροφορία την αναμεταδίδει στους γείτονες του

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

Network Layer 4-5

Παραδείγματα flooding (συνέχεια)

Αναπαράσταση: χρωματίζεται με “κόκκινο” ένας κόμβος μόλις αποκτήσει την πληροφορία

Flooding σε συσκευές που είναι σε ένα grid (“two-dimensional flooding”)

Ο κόμβος αυτός έχει αρχικάτην πληροφορία

Κάθε κόμβος μεταδίδειΣτους γείτονικούς κόμβουςΤο μήνυμα με την πληροφορία

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

Network Layer 4-6

Παραδείγματα flooding (συνέχεια)

χρωματίζεται με “κόκκινο” ένας κόμβος μόλις αποκτήσει την πληροφορία

Flooding σε συσκευές που είναι σε ένα grid (“two-dimensional flooding”)

Ο κόμβος αυτός έχει αρχικάτην πληροφορία

Κάθε κόμβος μεταδίδειΣτους γείτονικούς κόμβους τομήνυμα με την πληροφορία μεκάποια πιθανότητα

p: πιθανότητα μετάδοσης της πληροφορίας σε ένα γειτονικό κόμβο

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

Network Layer 4-7

Παραδείγματα flooding (συνέχεια)

Παραδείγματα κόμβων σε αυτούς τους σχηματισμούς: routers, peers, αισθητήρες

Αλλες μορφές του flooding: Η μετάδοση γίνεται με μία πιθανότητα p (περιγραφή στο

προηγούμενο slide)

Κινητοί κόμβοι

Ωραία θεωρητικά προβλήματα: Πως διαδίδεται η πληροφορία σε τέτοια δίκτυα ? Προσδιορισμός της συνάρτησης που δίδει τον αριθμό των

κόμβων που έχουν λάβει την πληροφορία στον χωρο-χρόνο

Particle kinetics, diffusion controlled processes (from physics)

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

Network Layer 4-8

Dijkstra’s algorithm:παράδειγμα

Step012345

N'u

uxuxy

uxyvuxyvw

uxyvwz

D(v),p(v)2,u2,u2,u

D(w),p(w)5,u4,x3,y3,y

D(x),p(x)1,u

D(y),p(y)∞

2,x

D(z),p(z)∞ ∞

4,y4,y4,y

u

yx

wv

z2

2

13

1

1

2

53

5

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

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

Network Layer 4-9

Τι είπαμε να θυμάστε ; (από το προηγούμενο μάθημα)

Δρομολόγηση κατάσταση ζεύξης(Link-state routing): ένας κόμβος προσπαθεί να πάρει μία ολοκληρωμένη

εικόνα του δικτύου διαμέσου της “φωνής(“πλημμύρας”)

Διάνυσμα απόστασης (Distance-vector): Ένας κόμβος νοιάζεται μόνο για τους γείτονές του

και παίρνει τοπικές πληροφορίες όχι ολοκληρωτική σκοπιά του δικτύου

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

Network Layer 4-10

Αλγόριθμος διανύσματος απόστασης

Βασική ιδέα: 1. Κάθε κόμβος περιοδικά στέλνει το δικό του εκτιμώμενο

διάνυσμα απόστασης (DV) στους γείτονες2. Όταν ένα κόμβος 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 ]

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

Network Layer 4-11

Αλγόριθμος διανύσματος απόστασης

Bellman-Ford Εξίσωση (δυναμικός προγραμματισμός)

Ορίζουμε Dx(y) := κόστος του μονοπατιού με το λιγότερο κόστος από το x στο y

Τότε

Dx(y) = min {c(x,v) + Dv(y) }

Όπου η ελάχιστη τιμή ελέγχεται για όλους τους γείτονες v του x

v

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

Network Layer 4-12

Bellman-Ford παράδειγμα

u

yx

wv

z2

2

13

1

1

2

53

5Ξεκάθαρα, dv(z) = 5, dx(z) = 3, dw(z) = 3

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

B-F εξίσωση λέει:

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

Network Layer 4-13

Ενημέρωση Διανύσματος Απόστασης

Update(x,y,z)d c(x,z) + d(z,y) # Κόστος του μονοπατιού από x στο y με πρώτο hop z

if d < d(x,y)# Βρέθηκε καλύτερο μονοπάτι

return d,z # Ενημερωμένο κόστος / επόμενο hop

elsereturn d(x,y), nexthop(x,y) # Υπάρχον κόστος / επόμενο hop

x

z

y

c(x,z)

d(z,y)

d(x,y)

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

Network Layer 4-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 ]

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

Network Layer 4-15

Αλγόριθμος διανύσματος απόστασης(5)

Επαναληπτικός, ασύγχρονος: Κάθε τοπική επανάληψη προκαλείται

από: • αλλαγή κόστους τοπικής ζεύξης• DV μήνυμα ενημέρωσης από

γείτονα

Διανέμεται:κάθε κόμβος ενημερώνει τους

γείτονες μόνο όταν το DV του αλλάζει Τότε οι γείτονες ενημερώνουν

τους γείτονές τους μόνο όταν είναι απαραίτητο

περιμένει για (μήνυμα από γείτονα για αλλαγή κόστους τοπικής ζεύξης)

ξαναυπολογίζει τις εκτιμήσεις

Αν το DV σε οποιοδήποτε προορισμό άλλάξει,

ενημέρωσε τους γείτονες

Κάθε κόμβος:

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

Network Layer 4-16

x y z

xyz

0 2 7

∞ ∞ ∞∞ ∞ ∞

from

cost to

from

from

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 3

from

cost to

x y z

xyz

∞ ∞

∞ ∞ ∞

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

0 2 3

from

cost to

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

∞ ∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 17 1 0

2 0 13 1 0

2 0 13 1 0

2 0 1

3 1 0

2 0 1

3 1 0

χρόνος

x z12

7

y

node x table

node y table

node z table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3

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

Network Layer 4-17

Διάνυσμα απόστασης: κόστος ζεύξης αλλάζει

Κόστος ζεύξης αλλάζει:• Κόμβος εντοπίζει αλλαγή κόστος τοπικής ζεύξης• Ανανεώνει τις πληροφορίες δρομολόγησης,

ξαναυπολογίζει το διάνυσμα απόστασης• Αν το DV αλλάζει, ενημερώνει γείτονες

“τα καλά νέαταξιδεύουνγρήγορα”

x z14

50

y1

@ time t0: y εντοπίζει αλλαγή κόστους ζεύξης, ενημερώνει το DV του, & ενημερώνει τους γείτονες

@ time t1: z λαμβάνει την ενημέρωση από τον y και ενημερώνει το table του.

Υπολογίζει ένα νέο ελάχιστο κόστος στο x & στέλνει το DV του στους γείτονές του.

@ time t2, y λαμβάνει την ενημέρωση τουz και ενημερώνει το table του. Το ελάχιστο κόστος του y δεν αλλάζει και έτσι δεν στέλνει κάποιο μήνυμα στον z.

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

Network Layer 4-18

Παράδειγμα (συνέχεια)x z

14

50

y1

Y detects

Notation: DY: table που ο κόμβος Y κρατάειΠροορισμός που θέλουμε (κόμβος X) σε κύκλο: η τελική επιλογή του κόμβου Y για να φτάσει τον προορισμό

neighbor

κόστος του μονοπατιού (6) για τον Y να φτάσει τονX μέσω του γείτονα Z

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

Network Layer 4-19

Διάνυσμα απόστασης: Κόστος ζεύξης αλλάζει

Κόστος ζεύξης αλλάζει: Καλά νέα ταξιδεύουν

γρήγορα Κακά νέα ταξιδεύουν αργά -

“count to infinity” πρόβλημα!

X Z14

50

Y60

Ο αλγόριθμοςσυνεχίζει

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

Network Layer 4-20

Διάνυσμα απόστασης: Κόστος ζεύξης αλλάζει

Κόστος ζεύξης αλλάζει:• Καλά νέα ταξιδεύουν γρήγορα• Κακά νέα ταξιδεύουν αργά - “count to infinity” πρόβλημα! 44 επαναλήψεις πριν σταθεροποιηθεί ο αλγόριθμος:

δες κείμενο

Poisoned reverse: Αν Z πηγαίνει μέσω του Y για να πάει στο X :

Z λέει στον Y η απόστασή του από το X είναι άπειρη (έτσι ο Y δεν θα πάει στον X μέσω του Z)

Θα μπορέσει αυτό να λύσει το “count to infinity” πρόβλημα?

x z14

50

y60

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

Network Layer 4-21

Διάνυσμα απόστασης: Poison Reverse

Αν Z πηγαίνει μέσω Y να πάει στο X : Z λέει στον Y η απόσταση του από το X είναι

άπειρη (έτσι το Y δεν θα πάει μέσω Z στο Χ) Εξαλείφει μερικά πιθανά timeouts με split horizon Θα λύσει αυτό το “count to infinity” πρόβλημα?

X Z14

50

Y60

algorithmterminates

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

Network Layer 4-22

Κριτήρια απόδοσης ενός πρωτοκόλου δικτύων

Αλγοριθμική πολυπλοκότητα Καθυστέρησεις (πχ χρόνος για να υπολογιστεί το αποτέλεσμα) Απαιτήσεις σε ενέργεια & υπολογιστική δύναμη

Αριθμός μηνυμάτων Απαιτήσεις σε ενέργεια Χρόνος για να υπολογιστεί το αποτέλεσμα ή να καταλήξουν οι συσκευές

που κάνουν τους υπολογισμούς (στην περίπτωση ενος distributed αλγορίθμου) στο ίδιο αποτέλεσμα (“time of convergence”)

Scalability Τι γίνεται όταν αυξάνεται ο αριθμός των συσκευών που συμμετέχουν (πχ

μεγαλώνει το δίκτυο) Ευρωστία (robustness, fault tolerance)

Πόσο ευάλωτο είναι σε διάφορες επιθέσεις Πώς αλλάζει η απόδοση του δικτύου όταν αυξάνονται οι επιθέσεις ή ο

αριθμός των συσκευών που αντιμετωπίζουν κάποιο πρόβλημα Ακρίβεια στους υπολογισμούς

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

Network Layer 4-23

Σύγκριση των LS & DV αλγορίθμων

Πολυπλοκότητα Μηνύματος• LS: με n κόμβους, E ζεύξεις, O(nE) μηνύματα στέλνονται• DV: ανταλλάσσονται μεταξύ γειτόνων μόνο

convergence time ποικίλει

Speed of Convergence• LS: O(n2) αλγόριθμος απαιτεί O(nE) μηνύματα

μπορεί να έχει διακυμάνσεις• DV: convergence time ποικίλει

Μπορεί να υπάρξουν βρόχοι δρομολόγησης count-to-infinity πρόβλημα

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

Network Layer 4-24

LS vs. DV αλγόριθμοι (συνέχεια)

Robustness: τι γίνεται αν δεν λειτουργεί σωστά ο δρομολογητής?

LS: ο κόμβος μπορεί να διαδίδει λάθος κόστος ζεύξεως Καθε κόμβος υπολογίζει το δικό του table

DV: DV κόμβος μπορεί να διαδίδει λάθος κόστος μονοπατιού το table κάθε κόμβου χρησιμοποιείται από άλλους

Λάθος διάδοσης μέσω δικτύου

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

Network Layer 4-25

Ιεραρχική δρομολόγηση

Κλίμακα: με 200 εκατομμύρια προορισμούς:• δεν μπορούν όλοι να αποθηκευτούν στα routing

tables!• Οι ανταλλαγές routing tables θα πλημμύριζαν τις

ζεύξεις! Διοικητική αυτονομία• internet = δίκτυα από δίκτυα• Ο admin κάθε δικτύου μπορεί να θέλει να ελέγξει την

δρομολόγηση στο δικό του δίκτυο & επίσης να κρύψει πτυχές της εσωτερικής οργάνωσης του δικτύου

Η μελέτη μας για την δρομολόγηση μέχρι τώρα - ιδανική

όλοι οι δρομολογητές ίδιοι το δίκτυο είναι ”flat”

… στην πραγματικότητα δεν είναι έτσι

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

Network Layer 4-26

Ιεραρχική δρομολόγηση

Ομαδοποίηση δρομολογητών σε περιοχές, “autonomous systems” (AS)

Δρομολογητές στο ίδιο AS τρέχουν το ίδιο πρωτόκολλο δρομολόγησης “intra-AS” πρωτόκολλο δρομολόγησης Δρομολογητές σε διαφορετικά AS μπορεί να τρέχουν

διαφορετικά intra-AS πρωτόκολλα δρομολόγησης

Gateway δρομολογητής Άμεση ζεύξη σε δρομολογητή σε άλλο

AS

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

Network Layer 4-27

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Διασυνδεμένα AS

Forwarding table είναι ρυθμισμένο και από intra- & inter-AS αλγόριθμους δρομολόγησης Intra-AS βάζει entries για

εσωτερικούς προορισμούς

Inter-AS & Intra-As βάζει entries για εξωτερικούς προορισμούς

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

Network Layer 4-28

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

3c

Καθήκον Inter-AS Υποθέστε έναν δρομολογητή

μέσα στο AS1 να λαμβάνει ένα δεδομενόγραμμα το οποιο προορίζεται για προορισμλο εκτός του AS1 Ο δρομολογητής πρέπει να

προωθήσει το πακέτο προς έναν από τους gateway δρομολογητές, αλλά σε ποιον?

AS1 χρειάζεται:1. να μάθει ποιοι προορισμοί

είναι προσεγγίσιμοι μέσω AS2 & ποιοι μέσω AS3

2. Για να διαδόσει αυτή τη πληροφορία σε όλους τους δρομολογητές στο AS1

Δουλειά της inter-AS δρομολόγησης!

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

Network Layer 4-29

Παράδειγμα: Θέτοντας forwarding table στον δρομολογητή 1d

• Υποθέστε AS1 μαθαίνει από το inter-AS πρωτόκολλο ότι το υποδίκτυο x is είναι προσεγγίσιμο από AS3 (gateway 1c) αλλά όχι από AS2

• Inter-AS πρωτόκολλο διαδίδει την πληροφορία σε όλους τους δρομολογητές

• Δρομολογητής 1d καταλαβαίνει από intra-AS πληροφορία προσέγγισης ότι η διεπαφή του I είναι στο λιγότερο ακριβό μονοπάτι προς το 1c

• Βάζει στο forwarding table την εγγραφή (x,I)

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

Network Layer 4-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)

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

Network Layer 4-31

RIP ( Routing Information Protocol) Διάνυσμα-απόστασης αλγόριθμος Κάθε ζεύξη έχει κόστος 1 Περιλήφθηκε στο BSD-UNIX Distribution in 1982 Ευρέως υλοποιημένο Μονάδα απόστασης: # των hops (max = 15 hops)

DC

BA

u v

w

x

yz

προορισμός hops u 1 v 2 w 2 x 3 y 3 z 2

Από τον δρομολογητή A στα υποδίκτυα:

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

Network Layer 4-32

Διεργασίες - RIP Table

RIP routing tables ελέγχονται διεργασία επιπέδου εφαρμογής που λέγεται route-d (δαίμονας)

ανακοινώσεις που στέλνονται μέσα στα UDP πακέτα, περιοδικά επαναλαμβάνονται

physical

link

network forwarding (IP) table

Transprt (UDP)

routed

physical

link

network (IP)

Transprt (UDP)

routed

forwardingtable

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

Network Layer 4-33

RIP advertisements

RIP δαίμονας ανακοινώνει περιοδικά τα διανύσματα απόστασης

Όταν φορτώνει ζητάει από τους γείτονες του το routing table τους

Διανύσματα απόστασης ανταλλάσσονται μεταξύ γειτόνων κάθε 30 sec μέσω Μηνύματος Απάντησης (επίσης λέγεται advertisement)

Κάθε advertisement: απαριθμεί μέχρι και 25 δίκτυα προορισμού μέσα στο AS

Στέλνοντας Ενημερώσεις Κάθε δρομολογητής ακούει για ενημερώσεις στο UDP port

520

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

Network Layer 4-34

RIP Ενημερώσεις

Αρχικά Όταν ο δρομολογητής ξεκινάει, ζητάει ένα αντίγραφο του table κάθε

γείτονα Το χρησιμοποιεί επαναληπτικά για να δημιουργήσει το δικό του table

Περιοδικά Κάθε 30 sec, ο δρομολογητής στέλνει αντίγραφο του table σε κάθε

γείτονα Αυτοί το χρησιμοποιούν επαναληπτικά για να ανανεώσουν τα tables

τους Όταν πυροδοτηθούν

Όταν κάθε εγγραφή αλλάξει, στείλε ένα αντίγραφο της εγγραφής στους γείτονες

• Εκτός από εγγραφή που προκαλεί ενημέρωση (split horizon κανόνας) Το χρησιμοποιούν οι γείτονες να ανανεώσουν τα tables τους

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

Network Layer 4-35

“Μπαγιάτεμα” RIP / Έλεγχος διακυμάνσεων

Χρονομετρητής διαδρομής Κάθε διαδρομή έχει ένα όριο timeout των 180 seconds

• Τερματίζει όταν δεν έχει δεχτεί ενημέρωση από το επόμενο next hop

για 6 περιόδους Αν δεν ενημερωθεί, ορίζεται στο άπειρο Soft-state ανανέωση σημαντική έννοια!!!

Συμπεριφορά Όταν ο δρομολογητής ή μια ζεύξη αποτυγχάνει, μπορεί να πάρει

λεπτάγια να σταθεροποιηθεί

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

Network Layer 4-36

RIP: Αποτυχία ζεύξης και αποκατάσταση

Αν κανένα advertisement δεν έχει ακουστεί μετά από 180 sec

η ζεύξη με γείτονα κηρύσσεται νεκρό διαδρομές μέσω γείτονα ακυρώνονται καινούρια advertisements στέλνονται στους

γείτονες Οι γείτονες στέλνουν με τη σειρά τους καινούρια

advertisements (αν τα tables άλλαξαν) Πληροφορία αποτυχία ζεύξης γρήγορα διαδίδεται

σε όλο το δίκτυο poison reverse χρησιμοποιείται για να αποτρέψει

ping-pong βρόχους (άπειρη απόσταση = 16 hops)

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

Network Layer 4-37

RIP: Παράδειγμα

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B 7

x -- 1…. …. ....

w x y

z

A

C

D B

Routing table in D

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

Network Layer 4-38

RIP: Παράδειγμα

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

w x y

z

A

C

D B

Dest Next hops w - 1 x - 1 z C 4 …. … ...

Advertisementfrom A to D

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

Network Layer 4-39

Υιοθέτηση OSPF (Open Shortest Path First)

RIP φαίνεται παλιομοδίτικο Καλό όταν τα δίκτυα είναι μικρά και οι δρομολογητές

έχουν περιορισμένη μνήμη & υπολογιστική ισχύ

OSPF Πλεονεκτήματα Γρήγορη σύγκλιση (convergence) όταν οι ρυθμίσεις

αλλάξουν

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

Network Layer 4-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)

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

Network Layer 4-41

OSPF αξιόπιστη πλημμύρα Ζεύξεις μετάδοσης ανακοινώνουν advertisements

Αρχικός δρομολογητής• Τυπικά, minimum IP διεύθυνση για τον δρομολογητή

ID Ζεύξης• ID του δρομολογητή στο άλλο άκρο της ζεύξης

Μονάδα• Κόστος ζεύξης (“open” – καθορίζεται από τον admin του δικτύου

π.χ., κόστος 1 → minimum-hop δρομολόγηση

Αντιστρόφως ανάλογο στην χωρητικότητα ζεύξεως για να αποθαρρύνει κίνηση από

low-bandwidth κόμβους Ηλικία κατάστασης ζεύξης

• Αυξάνεται κάθε second• Το πακέτο λήγει όταν φτάσει 3600

Αύξων αριθμός• Αυξάνει κάθε φορά που στέλνει πληροφορία για καινούρια ζεύξη

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

Network Layer 4-42

OSPF επιχείρηση πλλημμύρας (Flooding Operation) Κόμβος X λαμβάνει LSA από Κόμβο Y

Με αύξοντα αριθμό q Κοιτάει για εγγραφή με ίδια ID προέλευσης/ζεύξης

Περιπτώσεις Όταν δεν υπάρχει εγγραφή

• Πρόσθεσε εγγραφή, διάδοσε σε όλους τους γείτονες εκτός του Y Υπάρχει εγγραφή με αύξοντα αριθμό p < q

• Ανανέωσε εγγραφή, διάδοσε σε όλους τους γείτονες εκτός του Y Υπάρχει εγγραφή με αύξοντα αριθμό p > q

• Στείλε τη πίσω στον Y• Για να πεις στον Y ότι έχει παλιές πληροφορίες

Υπάρχει εγγραφή με αύξοντα αριθμό p = q• Αγνόησέ το

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

Network Layer 4-43

Προβλήματα πλημμύρας

Πότε πρέπει να εκτελεστεί Περιοδικά προσθέτει ευρωστία ! Όταν η κατάσταση της ζεύξης αλλάξει (“event-driven”) αλλαγές: στο κόστος, κατάσταση up/down, συνθήκες κίνησης

• Εντοπίζεται από συνεδεμένο κόμβο Τι γίνεται όταν ο δρομολογητής πηγαίνει down & ξανά up

Αύξοντας αριθμός επανεκινείται στο 0• Άλλοι δρομολογητές μπορεί να έχουν εγγραφές με

μεγαλύτερυς αύξοντες αριθμούς Ο δρομολογητής θα στείλει LSAs με νούμερο 0 Θα πάρει πίσω LSAs με τον τελευταίο έγκυρο αύξοντα αριθμό p O δρομολογητής θέτει τον αύξοντα αριθμό στο p+1 &

ξαναστέλνει

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

Network Layer 4-44

OSPF “προηγμένα” χαρακτηριστικά (όχι στο RIP)

Ασφάλεια: όλα τα OSPF μηνύματα πιστοποιούνται (για να αποτραπούν

κακόβουλες εισβολές)

σημαίνει ότι μόνο έμπιστοι δρομολογητές παίρνουν μέρος στο OSPF

Πολλαπλά ίδιου κόστους μονοπάτια επιτρέπονται (μόνο ένα μονοπάτι στο RIP)

Για κάθε ζεύξη, πολλαπλές μονάδες κόστους για διαφορετικό TOS (π.χ., κόστος δορυφορικής ζεύξης είναι “χαμηλό” για best effort; υψηλό για πραγματικό χρόνο) Ενσωματομένη uni- and multicast υποστήριξη:

Multicast OSPF (MOSPF) χρησιμοποιεί ίδια βάση τοπολογίας όπως ο OSPF

Ιεραρχικός OSPF σε μεγάλα domains

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

Network Layer 4-45

Ιεραρχικό OSPF

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

Network Layer 4-46

Ιεραρχικό OSPF

• Δυο επιπέδων ιεραρχία: τοπική περιοχή, backbone advertisements κατάστασης ζεύξης μόνο τοπικά κάθε κόμβος έχει λεπτομερή τοπολογία της τοπικής

περιοχής, μόνο ξέρει κατεύθυνση (μικρότερο μονοπάτι) σε δίκτυα σε άλλες περιοχές

• Δρομολογητές ορίων περιοχής: “συνοψίζει” αποστάσεις προς δίκτυα στην δικία του περιοχή, το ανακοινώνει σε δρομολογητές ορίων άλλων περιοχών

• Backbone δρομολογητές: τρέχουν OSPF δρομολόγηση περιορισμένη στο backbone

• Boundary δρομολογητές: συνδέονται σε άλλα AS’s