ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 16/5/2007
Πρότυπο Αρχιτεκτονικής Μετάδοσης, Ελέγχου & Διαχείρισης Επίπεδο Δεδομένων - Data (forwarding) Plane –Κωδικοποίηση σε πακέτα – πλαίσια –Πρωτόκολλα προώθησης δεδομένων σε ουρές δρομολογητή –.... Επίπεδο Ελέγχου - Control Plane –Σηματοδοσία ενσωματωμένη σε επικαφαλλίδες πακέτων (IP headers, MPLS labels) –Ξεχωριστά μηνύματα / πακέτα ελέγχου για σύνταξη πινάκων δρομολόγησης (Interior Gateway Protocol – IGP, Exterior/Border Gateway Protocol – EGP/BGP) –Πακέτα ελέγχου «υγείας» του δικτύου – ICMP/ping/traceroute –Μηνύματα σηματοδοσίας για αποκατάσταση μονοπατιού (path), αντιστοίχιση επικεφαλλίδων (labels) σε γραμμές MPLS, αντιστοίχιση TDM slots ή χρώματος σε γραμμές SDH ή WDM, διαδικασία ARP & DNS, αντιστοίχιση αριθμού VLAN…. Επίπεδο Διαχείρισης - Management Plane –Μοντέλο αναφοράς FCAPS: Fault, Configuration, Accounting, Performance & Security Management –Διαστασιολόγηση, παρουσίαση τοπολογίας. εντοπισμός βλαβών, ενημέρωση λογαριασμών - αποθήκης, μετρήσεις επίδοσης, ασφάλεια πρόσβασης,...
Αλγόριθμοι Δρομολόγησης Επιπέδου 3 Interior Gateway Protocols (IGP): Μια έξοδος προς επόμενο Interface για κάθε τελικό προορισμό (δίκτυο) –RIP: Bellman Ford –OSPF (Open Shortest Path First): Dijkstra, ιεραρχικό με stub areas) –IS-IS Exterior (Border) Gateway Protocols (EGP/BGP): Πολλές εναλλακτικές διαδρομές με βάρη προς όλα τα γνωστά δίκτυα (περίπου σήμερα) μεταξύ ακραίων (border) routers αυτονόμων συστημάτων (Autonomous Systems, AS, περίπου σήμερα). –Η διαδρομή καταγράφεται στον BGP Table των ακραίων δρομολογητών (border gateways) ενός AS ανά δίκτυο προορισμού και την σειρά των AS’s της προτεινόμενης διαδρομής (μαζί με το βάρος της) –Οι πίνακες BGP φυλάσσονται στην ηλεκτρονική μνήμη των border gateways και ανανεώνονται δυναμικά όποτε υπάρχουν αλλαγές στο Internet με ευθύνη των γειτονικών δρομολογητών (border gateways) που ανακοινώνουν τα δίκτυα των αυτονόμων κοινοτήτων (AS’s) που γνωρίζουν (advertising)
Δρομολόγηση Επιπέδου 3 – Interior Gateway Protocols (IGP) Άμεση δρομολόγηση (direct) –Κόμβος (PC, router) στέλνει πακέτα IP σε interface κόμβου του ίδιου υποδικτύου Έμμεση δρομολόγηση (indirect) –Ο κόμβος στέλνει πακέτα IP σε κόμβο του ίδιου δικτύου, χρησιμοποιώντας δρομολογητές (routers) –Ο κόμβος πρέπει να γνωρίζει τη διεύθυνση του interface δρομολογητή (gateway) & την διεύθυνση L2 (MAC) μέσω ARP Οι τελικοί κόμβοι στέλνουν πακέτα με διεύθυνση προορισμού εκτός του δικτύου τους σε default gateway (π.χ ) Ο δρομολογητής πρέπει να γνωρίζει τη διαδρομή (επόμενο interface δρομολογητή) προς το δίκτυο – υποδίκτυο προορισμού
Πίνακας δρομολόγησης σε Host (host routing table) Εγγραφές του τύπου (N, R) –N: Δίκτυο προορισμού –R: Επόμενο interface δρομολογητή (gateway) Host routing table σε λειτουργικό Windows από το μηχάνημα με IP > netstat -nr Routing Table: Network Destination Netmask Gateway Interface Metric Local host: (π.χ. στη περίπτωση που εφαρμογές σχεδιασμένες δικτυακά τρέχουν τοπικά) Προς το ίδιο τοπικό υποδίκτυο ( /24) σαν gateway έχουμε κατευθείαν (direct) το τοπικό interface –Π.χ. Προς destination dolly.netmode.ntua.gr ( ) gateway θα είναι το τοπικό interface Προς όλα τα άλλα δίκτυα σαν gateway έχουμε ( router.netmode.ntua.gr)(default gateway) Προς διεύθυνση broadcast ( ) σαν gateway έχουμε κατευθείαν (direct) το τοπικό interface (η διεύθυνση δεν ισχύει στο δίκτυο του ΕΜΠ) Προς διευθύνσεις multicast ( /4) σαν gateway έχουμε κατευθείαν (direct) το τοπικό interface
ΤΟ ΔΙΚΤΥΟ ΤΟΥ ΕΜΠ ntua.gr ( /16, AS#3323)
Δρομολόγηση μεταξύ routers σε γραμμές του δικτύου Μεταξύ ΕΜΠ ( /16) & Παν. Αθηνών ( /18) –Υποδίκτυο: /30 –Άκρο ΕΜΠ: /30 –Άκρο Παν. Αθηνών: /30 –Broadcast: /30
Αλγόριθμοι Δρομολόγησης Επιπέδου 3 (IP) στο Internet DV: Distance Vector (αλγόριθμος Bellman-Ford) –IGP: RIP (Routing Information Protocol) –EGP: BGP (Border Gateway Protocol) LS: Link State (αλγόριθμος Dijkstra) –IGP: OSPF (Open Shortest Path First) Στον κορμό Αυτόνομου Δικτύου (Core of an Autonomous System, AS): Link State Data Base + αλγόριθμος Dijkstra Κόστος γραμμών δικτύου: Ανάλογα με την ταχύτητα ή οριζόμενα από τον Διαχειριστή Ανανέωση κόστους γραμμών: κάθε 240 sec (default) ή λόγω μεταβολής κατάστασης Στα περιφερειακά υποδίκτυα (stub areas): Default G/W
Αλγόριθμοι Distance Vector RIP - BGP Κάθε κόμβος υπολογίζει την επόμενη «βέλτιστη» στάση προς όλες τις κατευθύνσεις, σύμφωνα με την εικόνα που έχει τοπικά (πραγματικά κατανεμημένος αλγόριθμος) Χρειάζεται γνώση του «κόστους» των άμεσων συνδέσεων (interfaces) και το εκτιμώμενο «κόστος» από τους άμεσους γείτονες προς όλους τους προορισμούς (π.χ. όλα τα δίκτυα στο Internet που ανακοινώνουν - announce – σε έναν ακραίο δρομολογητή μιας αυτόνομης κοινότητας - AS - οι γειτονικές του αυτόνομες κοινότητες στο πρωτόκολλο BGP) Βασίζεται στον δυναμικό προγραμματισμό (με πιθανές επεκτάσεις για την ανακάλυψη εναλλακτικών δρόμων στο BGP) Οι κόμβοι εντοπίζουν τους βέλτιστους δρόμους (shortest paths) προς όλους τους κόμβους εκτελώντας αλγόριθμο βασισμένο στον δυναμικό προγραμματισμό (dynamic programming) που εισήγαγε ο Bellman Αρχικά παρουσίασε αστάθειες (π.χ. δρόμους με κύκλους - loops) αλλά σήμερα το πρωτόκολλο EGP BGP είναι η καρδιά του Internet Το πρωτόκολλο IGP RIP σήμερα έχει αντικατασταθεί από το OPSF
Αλγόριθμος Link State OSPF Κάθε δρομολογητής μιας περιοχής OSPF (core area) έχει πλήρη εικόνα της περιοχής του – τοπολογία, κόστη συνδέσεων Όλοι οι δρομολογητές εκτελούν τον αλγόριθμο Dijkstra για εντοπισμό όλων των δρόμων ελαχίστου κόστους (shortest paths) σε ρόλο κεντρικού συστήματος ελέγχου, περιοδικά (default 240 sec) ή όποτε αντιληφθούν ότι άλλαξε η κατάσταση του δικτύου – θεωρητικά όλοι έχουν την ίδια εικόνα Θεωρείται ευσταθής αλγόριθμος, επαρκής για IGP: Μια αυτόνομη κοινότητα ιεραρχείται εσωτερικά σε περιοχές OSPF (μία ή περισσότερες) + περιφερειακές stub areas με static routing (στο δίκτυο του ΕΜΠ OSPF τρέχουν μόνο 2 δρομολογητές)
Βασικές Αρχές Αλγορίθμων Δρομολόγησης Δίκτυο (γράφος) αναφοράς Τα κόστη των γραμμών αφορούν και στις 2 κατευθύνσεις Στα παραδείγματα που ακολουθούν υπολογίζονται δένδρα ελαχίστων δρόμων (shortest path trees) από όλους προς την ρίζα {6} (Bellman Ford) και από την ρίζα {1} προς όλους (Dijkstra) – η επιλογή του τύπου της ρίζας του δένδρου (πηγή ή προορισμός) έγινε αυθαίρετα και δεν εξαρτάται από τον αλγόριθμο
Αλγόριθμος Bellman-Ford Distance Vector (1/2) Υπολογισμός Δένδρου Ελαχίστων Δρόμων (Shortest Path Tree) προς τον κόμβο {6} από τους κόμβους {1, 2, 3, 4, 5} D i (h) : Κόστος από κόμβο (j) προς προορισμό (destination) 6 στο βήμα h d ij (h) : Κόστος (βάρος) γραμμής (i,j) στο βήμα h L(j) = D i (h) Εκτίμηση ελαχίστου κόστους (label) από τον {j} προς τον {6} στο βήμα h P(j) : Επόμενος κόμβος από τον {j} προς τον {6} στο βήμα h D 6 (0) = 0, D j (0) = ∞, j = 1,2,3,4,5
Αλγόριθμος Bellman-Ford Distance Vector (2/2) 10 3
Αλγόριθμος Dijkstra Link State 1/2 Υπολογισμός Δένδρου Ελαχίστων Δρόμων (Shortest Path Tree) από τον κόμβο {1} από τους κόμβους {2, 3, 4, 5, 6} P : Σύνολο από permanent labels D j : Κόστος από πηγή (source) {1} προς κόμβο {j} d ij : Κόστος (βάρος) γραμμής (i,j) L(j) = D i (h) Εκτίμηση ελαχίστου κόστους (label) από τον {1} προς τον {j} στο βήμα h P(j) : Προηγούμενος κόμβος από τον {1} προς τον {j} στο βήμα h
Αλγόριθμος Dijkstra Link State 2/2
ΔΙΑΡΘΡΩΣΗ ΤΟΠΙΚΩΝ ΔΙΚΤΥΩΝ Ethernet Ένας μεταγωγέας Ethernet διατηρεί database με τις διευθύνσεις MAC πίσω από κάθε πόρτα, και προωθεί ή φιλτράρει πακέτα ανάλογα. Η πληροφορία κρατιέται για χρονικό διάστημα γήρανσης – aging (default 300 sec) αν δεν ανανεωθεί. Σε περίπτωση άγνοιας, προωθεί (promiscuous mode) Ένα δίκτυο με πολλούς μεταγωγείς οργανώνεται σε επικαλύπτον δένδρο - Spanning Tree - για να αποφεύγονται βρόχοι (loops) στην προώθηση πακέτων Αλγόριθμος Επικαλύπτοντος Δένδρου (Spanning Tree Protocol – STP, IEEE 802.1D) –Κάθε μεταγωγέας - switch (παλαιότερα γέφυρα - bridge) χαρακτηρίζεται από μοναδική ταυτότητα (Bridge ID, BID) –Ανταλλαγή πληροφοριών περιοδικά (default 2 sec) μέσω Bridge Protocol Data Units (BPDU’s) –Οι μεταγωγείς βρίσκουν το ελάχιστο επικαλύπτον δένδρο (Minimum Spanning Tree – MSP) προς ένα κόμβο που καθορίζεται σαν Root – αποφεύγονται loops –Κάθε πόρτα ενός μεταγωγέα (switch) μπορεί να βρίσκεται στις εξής καταστάσεις (states): Listening (ακούει τα BPDU’s) Learning (μαθαίνει τις διευθύνσεις MAC πίσω της – δημιουργεί την filtering ή switching data base). Blocking (ακούει τα BPDU’s αλλά δεν ενεργοποιεί προώθηση πακέτων εκτός να αντιληφθεί ότι το επικαλύπτον δένδρο έχει διασπαστεί) Forwarding (ακούει τα BPDU’s και προωθεί κανονικά τα πακέτα Disabled (μη ενεργή) Νεώτερες εκδόσεις : –Rapid Spanning Tree Protocol – RSTP, IEEE 802.1w (1998), IEEE 802.1D (2004) –Multiple Spanning Tree Protocol – MSTP, IEEE 802.1Q (2003) – Virtual LAN’s (VLAN’s)