Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2010-2011 O R E K W N T net works Επίπεδο.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2010-2011 O R E K W N T net works Επίπεδο."— Μεταγράφημα παρουσίασης:

1 HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2010-2011 O R E K W N T net works Επίπεδο Δικτύου –Αλγόριθμοι Δρομολόγηση Scalability issues – Multiple domains

2 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

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

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

5 Network Layer4-5 Αλγόριθμος διανύσματος απόστασης Βασική ιδέα: 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 ]

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

7 Network Layer4-7 Bellman-Ford παράδειγμα u y x wv z 2 2 1 3 1 1 2 5 3 5 Ξεκάθαρα, 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 εξίσωση λέει:

8 Network Layer4-8 Ενημέρωση Διανύσματος Απόστασης 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)

9 Network Layer4-9 Αλγόριθμος διανύσματος απόστασης 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 ]

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

11 Network Layer4-11 x y z x y z 0 2 7 ∞∞∞ ∞∞∞ from cost to from x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z ∞∞ ∞∞∞ cost to x y z x y z 0 2 7 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 7 from cost to x y z x y z ∞∞∞ 710 cost to ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 χρόνος x z 1 2 7 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

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

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

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

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

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

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

18 Network Layer4-18 Σύγκριση των 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 πρόβλημα

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

20 Network Layer4-20 Ιεραρχική δρομολόγηση  Κλίμακωσιμότητα με 200 εκατομμύρια προορισμούς:  δεν μπορούν όλοι να αποθηκευτούν στα routing tables! Οι ανταλλαγές routing tables θα πλημμύριζαν τις ζεύξεις! Διοικητική αυτονομία Internet: δίκτυα από δίκτυα Ο administrator κάθε δικτύου μπορεί να θέλει να ελέγξει την δρομολόγηση στο δικό του δίκτυο & επίσης να κρύψει πτυχές της εσωτερικής οργάνωσης του δικτύου Η μελέτη μας για την δρομολόγηση μέχρι τώρα: “ιδανική”, homogeneous, and simplistic … due to our assumptions:  όλοι οι δρομολογητές ίδιοι  το δίκτυο είναι ”flat”  … στην πραγματικότητα δεν είναι έτσι

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

22 Network Layer4-22 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 για εξωτερικούς προορισμούς The inter-AS routing takes place independently from the intra-AP routing

23 Network Layer4-23 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 δρομολόγησης!

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

25 Network Layer4-25 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)

26 Network Layer4-26 RIP ( Routing Information Protocol)  Distance Vector (Διάνυσμα απόστασης) αλγόριθμος 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 στα υποδίκτυα:

27 Network Layer4-27 Διεργασίες - 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

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

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

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

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

32 Network Layer4-32 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

33 Network Layer4-33 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

34 Experiment with routing tables Network Layer4-34 At a UNIX system, run the command: netstat –rn to view the routing table at that hot/router Understand what is each column (e.g., destination, gateway, flags, ref, use, interface) What is the loopback interface? the default route?

35 Network Layer4-35 OSPF (Open Shortest Path First) r “open”: δημόσια διαθέσιμο (IETF standard)  Περισσότερο διαδεδομένο από το RIP r Χρησιμοποιεί αλγόριθμο link-state (Dijkstra algorithm) m Διασπορά LS πακέτων  Τοπολογικός χάρτης σε κάθε κόμβο r Ένα OSPF advertisement περιλαμβάνει μία καταχώρηση για κάθε γειτονικό δρομολογητή r Τα advertisements διασπείρονται σε ολόκληρο το AS (μέσω «πλημμυρίσματος») m Περιλαμβάνονται στα μηνύματα OSPF άμεσα πάνω από IP (παρά TCP ή UDP)

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

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

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

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

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

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

42 Ιεραρχική Οργάνωση του Ίντερνετ Ενισχύει την κλιμακωσιμότητα (scalability) του Internet r Οι δρομολογητές είναι ομαδοποιημένοι σε αυτόνομα συστήματα (AS) r Μέσα στο κάθε AS, ολοι οι δρομολογητές τρέχουν το ίδιο πρωτόκολλο δρομολόγησης r Ειδικοί δρομολογητές (gateway routers) σε κάθε AS είναι υπεύθυνοι για τη δρομολόγηση μεταξύ ASs r Το πρόβλημα της κλιμάκωσης λύνεται με το να έχομε τον κάθε δρομολογητή σε ένα AS να γνωρίζει μονάχα τους δρομολογητές του AS στο οποίο ανήκει και τις gateway δρομολογητές του.

43 Internet inter-AS routing: BGP r BGP (Border Gateway Protocol): το de facto standard r Το BGP προσφέρει σε κάθε AS ένα μέσο για να: 1. αποκτήσει πληροφορίες προσιτότητας υποδικτύου (subnet reachability) από γειτονικά AS. 2. διαδόσει τις πληροφορίες προσιτότητας σε όλους τους δρομολογητές εντός του AS. 3. καθορίσει «καλές» διαδρομές προς υποδίκτυα βασιζόμενος στις πληροφορίες και την πολιτική προσιτότητας. r Επιτρέπει σε ένα υποδίκτυο τη δημοσιοποίηση της ύπαρξής του στο υπόλοιπο Internet: «Είμαι (κι εγώ) εδώ!»

44 Τα βασικά του BGP r Ζεύγη δρομολογητών (BGP peers) ανταλλάσσουν πληροφορίες δρομολόγησης πάνω από ημι-μόνιμες TCP συνδέσεις, τα BGP sessions r Τα BGP sessions δεν αντιστοιχούν σε φυσικές ζεύξεις: r Όταν ο AS2 δημοσιεύει ένα πρόθεμα (prefix) στον AS1, o AS2 υπόσχεται ότι θα προωθήσει οποιοδήποτε δεδομενόγραμμα προορίζεται για αυτό το πρόθεμα πλησιέστερα προς αυτό. m Ο AS2 μπορεί να συσσωρεύσει προθέματα στη δημοσίευσή του.

45 Διανέμοντας τις πληροφορίες προσιτότητας r Κατά το eBGP session μεταξύ των 3α και 1c, ο AS3 στέλνει πληροφορίες προσιτότητας στον AS1. r Ο 1c τότε, χρησιμοποιώντας το iBGP, μπορεί να διανείμει την πληροφορία αυτή σε όλους τους δρομολογητές εντός του AS1. r Στη συνέχεια, ο 1b μπορεί να επαναδημοσιεύσει την πληροφορία αυτή στον AS2 μέσω του eBGP session μεταξύ των 1b και 2a. r Μόλις κάποιος δρομολογητής ενημερωθεί για ένα καινούριο πρόθεμα, δημιουργεί μία εγγραφή για αυτό στον πίνακα προώθησης (forwarding table)

46 Γιατί υπάρχουν διαφορετικά Inter-AS και Intra-AS πρωτόκολλα δρομολόγησης; r Πολιτική m Μεταξύ των AS, κυριαρχούν τα ζητήματα πολιτικής (π..χ, κάποιο AS μπορεί να θέλει να ελέγχει ποια είναι η διακινούμενη κίνηση μεταξύ άλλων AS που καλύπτει) r Έκταση m Η ικανότητα ενός αλγορίθμου δρομολόγησης και των δομών δεδομένων του να υφίστανται κλιμάκωση για τη διαχείριση της δρομολόγησης προς/μεταξύ μεγάλου αριθμού δικτύων είναι ζωτικής σημασίας στην inter-AS δρομολόγηση m Λιγότερο σημαντικό στην intra-AS δρομολόγηση m Όταν κάποιο AS γίνεται πολύ μεγάλο, υπάρχει πάντα η δυνατότητα να διαιρεθεί σε δύο AS μεταξύ των οποίων θα πραγματοποιείται inter-AS δρομολόγηση (π.χ., ιεραρχικό OSPF) r Επίδοση m Μεταξύ των AS, δεν υπάρχει καν η έννοια κόστους (εκτός του AS hop count) σε σχέση με τις διαδρομές m Εντός ενός μοναδικού AS, τα ζητήματα πολιτικής είναι λιγότερο σημαντικά, επιτρέποντας μεγαλύτερη εστίαση στο επίπεδο επιδόσεων της δρομολόγησης

47 Τα μηνύματα του BGP r Τα μηνύματα του BGP ανταλλάσσονται χρησιμοποιώντας TCP r Είδη μηνυμάτων: m OPEN: δημιουργεί μία TCP σύνδεση με peer και αυθεντικοποιεί τον αποστολέα m UPDATE: δημοσιεύει νέα διαδρομή (ή αποσύρει παλιά) m KEEPALIVE: διατηρεί ενεργή τη σύνδεση σε περίπτωση απουσίας UPDATES. Επίσης, αποτελεί ACK στην αίτηση δημιουργίας σύνδεσης (OPEN message) m NOTIFICATION: δηλώνει σφάλματα σε προηγούμενο μήνυμα. Χρησιμοποιείται, επίσης, για τον τερματισμό της σύνδεσης.

48 Η πολιτική δρομολόγησης του BGP r Τα Α, Β, C είναι δίκτυα-πάροχοι r Τα Χ, W, Y είναι δίκτυα-πελάτες (των παρόχων) r Το Χ είναι dual-homed: είναι συνδεδεμένο με δύο δίκτυα m Το Χ δεν επιθυμεί τη δρομολόγηση πακέτων από το Β προς το C μέσω του ίδιου (του Χ)… m …οπότε δε θα δημοσιεύσει στο Β κάποια διαδρομή προς το C

49 IP Addressing Network Layer4-49 Classless Interdomain Routing Network part of an IP address can be any number of bits long a.b.c.d/x where x indicates the number of leading bits in the 32-bit quantity that constitutes the network portion of the address The first x bits specify the organization’s network address and are common to the IP addresses of all hosts in an organization The remaining indicate the specific host in the organization

50 Πώς γίνεται η δρομολόγηση μεταξύ των backbone ISPs; r Δεν υπάρχουν επίσημα standards m Εμπειρικός κανόνας: Οποιαδήποτε κίνηση διαμέσου ενός ISP backbone δικτύου πρέπει να πηγάζει ή/και να προορίζεται προς ένα δίκτυο- πελάτη του συγκεκριμένου ISP  Αποθαρρύνονται οι ‘free-riders’ r Μεμονωμένες ομότιμες συμφωνίες (συχνά εμπιστευτικές) μεταξύ δύο ISPs

51 Moving a Datagram … How does a host transport an IP datagram to another host ? IP in a host first consults its internal IP forwarding table and finds an entry whose network address matches the leading bits in the IP address of destination  The forwarding table shows the number of hops to rgw network of that destination r If the number of hops = 1 the destination is on the very same network to which the source host itself is attached, thus, there is no need for any intervening routers r Else source & destination are in different networks, thus an intervening router is necessarily be involved Network Layer4-51

52 Moving a Datagram … (cont’d) If the number of hops to network = 1 the destination is on the very same network to which the sending host itself is attached, thus, there is no need for any intervening routers r The sending host then passes the IP datagram to the link-layer for the interface, which then has the responsibility of moving the datagram to host B Network Layer4-52

53 Moving a datagram (cont’d) r If the number of hops > 1, it indicates that the sending host & destination are in different networks -> an intervening router is necessarily be involved r The sending host consults its IP forwarding table and finds an entry whose network address matches the leading bits in the IP address of destination r The forwarding table indicates to the sending host that in order to send the datagram to the destination, it should first send the datagram to the router interface to which A’s own interface is directly connected Network Layer4-53


Κατέβασμα ppt "HY-335 : Δίκτυα Υπολογιστών Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 2010-2011 O R E K W N T net works Επίπεδο."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google