Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 3/11/2014 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ & ΑΛΓΟΡΙΘΜΟΙ ΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ INTERNET: Επίπεδο 3 (IGP/OSPF, BGP) Επίπεδο 2 (VLANs, Bridged Ethernets - STP) Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 3/11/2014
ΠΑΡΑΔΕΙΓΜΑ ΕΣΩΤΕΡΙΚΗΣ ΔΡΟΜΟΛΟΓΗΣΗΣ: ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε. Μ. Π. ntua ΠΑΡΑΔΕΙΓΜΑ ΕΣΩΤΕΡΙΚΗΣ ΔΡΟΜΟΛΟΓΗΣΗΣ: ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε.Μ.Π. ntua.gr (147.102.0.0/16, ASN 3323) ΠΡΟΣΟΧΗ Οι πίνακες δρομολόγησης στο Internet για λόγους ομοιομορφίας είναι της μορφής: Prefix Δικτύου Τελικού Προορισμού :: IP Interface Εισόδου Επόμενου Κόμβου ΠΑΡΑΔΕΙΓΜΑ: Ο δρομολογητή του Ε.Μ.Π. 147.102.224.33 βρίσκει τον δρομολογητή του ΕΚΠΑ 147.102.224.34 σαν μέλος του υποδικτύου: 147.102.224.32/30 (παροχή διευθύνσεων από Ε.Μ.Π.) Η γραμμή Ε.Μ.Π. – ΕΚΠΑ (όπως όλες οι γραμμές σε Δίκτυα Internet) ορίζεται σαν υποδίκτυο (prefix) με 4 τουλάχιστον διευθύνσεις IP: Υποδίκτυο: 147.102.224.32 Άκρο Ε.Μ.Π.: 147.102.224.33 Άκρο ΕΚΠΑ: 147.102.224.34 Broadcast: 147.102.224.35 ΑΝΤΙ-ΠΑΡΑΔΕΙΓΜΑ: Ο δρομολογητή του Ε.Μ.Π. 62.217.96.177 βρίσκει τον δρομολογητή του ΕΔΕΤ 62.217.96.176 σαν μέλος του υποδικτύου: 62.217.96.176/31 (παροχή διευθύνσεων από ΕΔΕΤ)
ΕΠΑΝΑΛΗΨΗ: ΣΥΝΔΕΣΕΙΣ ΜΕΤΑΞΥ ΔΡΟΜΟΛΟΓΗΤΩΝ (Links between Routers) Για ομοιομορφία της δρομολόγησης, κάθε γραμμή ορίζεται (συνήθως) σαν δίκτυο με 4 τουλάχιστον διευθύνσεις (/30) Παράδειγμα: Μεταξύ ΕΜΠ 147.102.0.0/16 & Παν. Αθηνών 195.134.64.0/18 ορίζεται το «δίκτυο» 147.102.224.32/30 Υποδίκτυο: 147.102.224.32/30 Άκρο ΕΜΠ: 147.102.224.33/30 Άκρο Παν. Αθηνών: 147.102.224.34/30 Broadcast: 147.102.224.35/30
ΕΠΑΝΑΛΗΨΗ: ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ 3 Layer 3 Routing Interior Gateway Protocols (IGP): Μια έξοδος προς επόμενο Interface για κάθε τελικό προορισμό (δίκτυο) RIP: Bellman Ford OSPF (Open Shortest Path First): Dijkstra, ιεραρχικό με stub areas) IS-IS Δυνατότητα πολλαπλών εναλλακτικών δρόμων ίσου κόστους (ECMP): Direct routing μεταξύ γειτονικών δρομολογητών με παράλληλες συνδέσεις και επιλογή εξόδου με proprietary αλγορίθμους (π.χ. Per-Packet Round-Robin, Per-Flow Load Balancing, Per Source -Destination Traffic Engineering…) Για αυτοματισμό του OSPF απαιτείται τροποποίηση του αλγορίθμου Dijkstra για k-Shortest paths. Exterior (Border) Gateway Protocols (EGP/BGP): Πολλές εναλλακτικές διαδρομές με βάρη προς όλα τα γνωστά δίκτυα (περίπου 500.000 σήμερα) μεταξύ ακραίων (border) routers αυτονόμων συστημάτων (Autonomous Systems, AS, περίπου 50.000 σήμερα): Η διαδρομή καταγράφεται στον BGP Table των ακραίων δρομολογητών (border gateways) ενός AS ανά δίκτυο προορισμού και την σειρά των AS’s της προτεινόμενης διαδρομής (μαζί με το βάρος της) Οι πίνακες BGP φυλάσσονται στην ηλεκτρονική μνήμη των border gateways και ανανεώνονται δυναμικά όποτε υπάρχουν αλλαγές στο Internet με ευθύνη των γειτονικών δρομολογητών (border gateways) που ανακοινώνουν τα δίκτυα των αυτονόμων κοινοτήτων (AS’s) που γνωρίζουν (advertising)
ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΙ ΕΥΡΕΣΗΣ ΔΡΟΜΩΝ ΣΤΟ ΕΠΙΠΕΔΟ 3 ΤΟΥ INTERNET DV: Distance Vector (αλγόριθμος Bellman-Ford) EGP: BGP (Border Gateway Protocol) e-BGP: External BGP (μεταξύ AS’s) i-BGP: Internal BGP (μεταξύ δρομολογητών κορμού ενός AS) LS: Link State (αλγόριθμος Dijkstra) IGP: OSPF (Open Shortest Path First): Link State Data Base + αλγόριθμος Dijkstra στον κορμό Αυτόνομου Δικτύου (Core of an Autonomous System, OSPF Area 0) Κατάσταση (τοπολογία, κόστος) γραμμών δικτύου: Κόστος ανάλογο με την ταχύτητα ή οριζόμενα από τον Διαχειριστή Σε δρομολογητές κορμού (OSPF Area 0): Ανανέωση κατάστασης γραμμών μέσω LSA (Link State Advertisements) Στα περιφερειακά υποδίκτυα (OSPF Stub Areas): Default G/W Για δίκτυα εκτός AS: Ανακοινώσεις εντός AS μέσω i-BGP
ΤΑΞΙΝΟΜΗΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΡΟΜΟΛΟΓΗΣΗΣ Διαχειριστικός Έλεγχος Συγκεντρωτικός: Δημόσια Δίκτυα Μεταγωγής Πακέτου Χ.25/Χ.75 Κατανεμημένος: Internet Δρομολόγηση με ή χωρίς Εναλλακτικούς Δρόμους Single choice: Δρομολόγηση Επιπέδου 3 στο Internet: IGP (OSPF, IS-IS), BGP Δρομολόγηση Επιπέδου 2: Bridged Ethernet LANs Alternate routing: Δρομολόγηση Επιπέδου 3 στο Internet: IGP ECMP (Equal-Cost Multi-Path) Δρομολόγηση Επιπέδου 2 ½: MPLS/TE (Multi-Protocol Label Switching / Traffic Engineering) Τηλεφωνικά Δίκτυα PSTN (Public Switched Telephone Networks) Διαχειριστική Δυναμική Στατική δρομολόγηση: Direct Routing στο Internet - Default Gateway Υπολογισμός εναλλακτικών δρόμων με σταθερά βάρη γραμμών (Χ.25/Χ.75) Δυναμική δρομολόγηση: Μεταβαλλόμενα βάρη γραμμών (ARPANet) Μεταβολές ανάλογα με διαθεσιμότητα γραμμών (Internet IGP, BGP)
ΑΛΓΟΡΙΘΜΟΣ Distance Vector IGP RIP – BGP (Bellman – Ford) Κάθε κόμβος υπολογίζει την επόμενη «βέλτιστη» στάση προς όλες τις κατευθύνσεις, σύμφωνα με την εικόνα που έχει τοπικά (πραγματικά κατανεμημένος αλγόριθμος) Χρειάζεται γνώση του «κόστους» των άμεσων συνδέσεων (interfaces) και το εκτιμώμενο «κόστος» από τους άμεσους γείτονες προς όλους τους προορισμούς (π.χ. όλα τα δίκτυα στο Internet που ανακοινώνουν - announce – σε έναν ακραίο δρομολογητή μιας αυτόνομης κοινότητας - AS - οι γειτονικές του αυτόνομες κοινότητες στο πρωτόκολλο BGP) Βασίζεται στον δυναμικό προγραμματισμό (με πιθανές επεκτάσεις για την ανακάλυψη εναλλακτικών δρόμων στο BGP) Οι κόμβοι εντοπίζουν τους βέλτιστους δρόμους (shortest paths) προς όλους τους κόμβους εκτελώντας αλγόριθμο βασισμένο στον δυναμικό προγραμματισμό (dynamic programming) που εισήγαγε ο Bellman Αρχικά παρουσίασε αστάθειες (π.χ. δρόμους με κύκλους - loops) αλλά σήμερα το πρωτόκολλο EGP BGP είναι η καρδιά του Internet Το πρωτόκολλο IGP RIP σήμερα έχει αντικατασταθεί από το OPSF
ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ 135.207.0.0/16 ΜΕΣΩ BGP Distance Vector (από παρουσίαση του Timothy G. Griffin, AT&T Research, Paris 2002) BGP 4: RFC 4271 Signaling over TCP Port 179 i-BGP: Internal BGP (pass inter-AS peering to intra-AS fully connected routers) e-BGP: External BGP (between AS’s over direct router inter-AS links)
ΑΛΓΟΡΙΘΜΟΣ Link State IGP OSPF (Dijkstra) Θεωρείται ευσταθής αλγόριθμος, επαρκής για IGP: Μια αυτόνομη κοινότητα ιεραρχείται εσωτερικά σε περιοχές OSPF 0 (μία ή περισσότερες) + περιφερειακές stub areas με static routing (στο δίκτυο του ΕΜΠ, OSPF τρέχουν μόνο 2 δρομολογητές) Κάθε δρομολογητής κορμού έχει πλήρη εικόνα της περιοχής του – τοπολογία, κόστη συνδέσεων Όλοι οι δρομολογητές κορμού εκτελούν τον αλγόριθμο Dijkstra για εντοπισμό όλων των δρόμων ελαχίστου κόστους (shortest paths) σε ρόλο κεντρικού συστήματος ελέγχου. Πληροφορίες κατάστασης δικτύου (τοπολογία, κόστη) μεταδίδονται με Link State Announcements (LSA) μεταξύ γειτόνων κάθε 1/2 ώρα (default) ή λόγω μεταβολής κατάστασης – θεωρητικά όλοι έχουν την ίδια εικόνα Τα LSA μεταδίδονται σαν αυτόνομα IP datagrams, όχι μέσω πρωτοκόλλων TCP ή UDP Γενίκευση του OSPF: ECMP (Equal-Cost Multi-Path) Σε μεγάλα δίκτυα κορμού εφαρμόζεται εναλλακτικά ο Αλγόριθμος IS-IS (Intermediate System to Intermediate System)
ΕΝΔΕΙΚΤΙΚΗ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ Bellman Ford & Dijkstra Δίκτυο (γράφος) αναφοράς Τα κόστη των γραμμών αφορούν και στις 2 κατευθύνσεις Στα παραδείγματα που ακολουθούν υπολογίζονται δένδρα ελαχίστων δρόμων (shortest path trees) από όλους προς την ρίζα {6} (Bellman Ford) και από την ρίζα {1} προς όλους (Dijkstra) ΠΡΟΣΟΧΗ: Η επιλογή του ρόλου της ρίζας του δένδρου (πηγή ή προορισμός) έγινε αυθαίρετα. Δεν εξαρτάται από τους αλγόριθμους που ισχύουν κατ’ αναλογία για αντίστροφους ρόλους ρίζας
ΑΛΓΟΡΙΘΜΟΣ Bellman-Ford Distance Vector (1/2) Υπολογισμός Δένδρου Ελαχίστων Δρόμων (Shortest Path Tree) προς τον κόμβο {6} από τους κόμβους {1, 2, 3, 4, 5} Di (h) : Κόστος από κόμβο (j) προς προορισμό (destination) 6 στο βήμα h dij (h) : Κόστος (βάρος) γραμμής (i,j) στο βήμα h L(j) = Di (h) Εκτίμηση ελαχίστου κόστους (label) από τον {j} προς τον {6} στο βήμα h P(j) : Επόμενος κόμβος από τον {j} προς τον {6} στο βήμα h D6 (0) = 0, Dj (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 Dj : Κόστος από πηγή (source) {1} προς κόμβο {j} dij : Κόστος (βάρος) γραμμής (i,j) L(j) = Di (h) Εκτίμηση ελαχίστου κόστους (label) από τον {1} προς τον {j} στο βήμα h P(j) : Προηγούμενος κόμβος από τον {1} προς τον {j} στο βήμα h
ΑΛΓΟΡΙΘΜΟΣ Dijkstra Link State 2/2
ΔΡΟΜΟΛΟΓΙΣΗ ΕΠΙΠΕΔΟΥ 2 - LINK LAYER ΕΙΚΟΝΙΚΑ ΤΟΠΙΚΑ ΔΙΚΤΥΑ VLANs (IEEE 802.1Q) VLAN “Red” (VID 00d) Switch Ports 1 & 9 Subnet 147.102.13.0/24 Default Gateway 147.102.13.200 VLAN “Blue” (VID 003) Switch Ports 4 & 12 IP Subnet 147.102.3.0/24 Default Gateway 147.102.3.200 Trunk Switch Port 5 IP ROUTER warp.core.ntua.gr 00:08:7c:63:e4:00 147.102.13.200 147.102.3.200 ETHERNET SWITCH ΦΥΣΙΚΗ ΣΥΝΔΕΣΗ: ΛΟΓΙΚΗ ΔΙΑΣΥΝΔΕΣΗ: matrix.netmode.ntua.gr 147.102.13.60 00:13:a9:34:dd:aa DG: 147.102.13.200 00:08:7c:63:e4:00 DNS ARP 147.102.3.1 00:13:72:f6:5f:83 DG: 147.102.3.200 00:08:7c:63:e4:00 147.102.13.38 00:50:da:51:95:10 DG: 147.102.13.200 00:08:7c:63:e4:00 147.102.3.90 00:16:17:72:72:76 DG: 10.2.0.200 00:08:7c:63:e4:00 802.1Q Framing Add-On’s TPID: Tag Protocol ID PCP: Priority Code Point CFI: Canonical Format Identifier VID: VLAN ID (< 4096) MAC Address ETHERNET II TPID PCP CFI VID 16 bits 3 bits 1 bit 12 bits IP, TCP/UDP, Data
ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΜΟΡΦΩΣΗΣ ΔΕΝΔΡΙΚΗΣ ΤΟΠΟΛΟΓΙΑΣ ΜΕΤΑΓΩΓΕΩΝ ETHERNET (1/2) Spanning Tree Protocol - STP, IEEE 802.1D Εξέλιξη των Αλγορίθμων Διάρθρωσης Διαφανών Γεφυρών Spanning Tree Protocol (STP) for Transparent Ethernet Bridges Radia Perlman, DEC & MIT 1985 http://www1.cs.columbia.edu/~ji/F02/ir02/p44-perlman.pdf Αναδιαμόρφωση Spanning Tree http://en.wikipedia.org/wiki/Spanning_tree_protocol Χρόνος Αντίδρασης σε Βλάβη: ~ 60 sec Γέφυρες (Bridges, Switches): 3 (Root), 24, 92, 4, 5, 7, 12 Τοπικά δίκτυα Ethernet: a, b, c, d, e, f RP: Root Port DP: Designated Port BP: Blocking Port
ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΜΟΡΦΩΣΗΣ ΔΕΝΔΡΙΚΗΣ ΤΟΠΟΛΟΓΙΑΣ ΜΕΤΑΓΩΓΕΩΝ ETHERNET (2/2) Spanning Tree Protocol - STP, IEEE 802.1D RP: Root Port DP: Designated Port BP: Blocked Port SWITCH 1: Root Bridge PC_1 Layer 2 Manager Ενεργή σύνδεση PC_2 Ανενεργή σύνδεση DP DP SWITCH 2 SWITCH 3 Γνωστό στο Switch 4 Άγνωστο στο Switch 4 Aging: 300 sec (default) BP BP RP DP RP Forwarding Data Base per Switch Port Forward MAC frames to known destinations, e.g.. PC_6, PC_7, PC_2, PC_3, PC_5 to port from which it last heard them prior to aging, e.g. RP Forward to PC_10 only MAC frames addressed to it & broadcasts Broadcast unknown destination MAC frames (promiscuous mode) PC_8 PC_3 PC_6 PC_7 PC_4 PC_5 Bridge Protocol Data Units (BPDUs) Περιοδικά μηνύματα πρωτοκόλλου STP κάθε 2 sec (default) SWITCH 4 RP PORT STATES Listening: Ακούει τα BPDU’s Learning: Μαθαίνει τις διευθύνσεις MAC πίσω της & δημιουργεί την filtering ή switching data base. Blocking: Ακούει τα BPDU’s αλλά δεν ενεργοποιεί προώθηση πακέτων εκτός να αντιληφθεί ότι το επικαλύπτον δένδρο έχει διασπαστεί Forwarding: Ακούει τα BPDU’s και προωθεί κανονικά τα πακέτα Disabled: Μη ενεργή PC_9 PC_10
ΕΠΕΚΤΑΣΗ ΓΕΦΥΡΩΜΕΝΩΝ ETHERNET ΣΕ ΔΙΚΤΥΑ ΠΑΡΟΧΩΝ Provider Backbone Bridges - PBB PE: Provider Edge Bridge CE: Customer Edge Bridge RB: Regular Bridge PE PE Provider Network RB CE CE CE CE Customer Network Customer Network RB Regular bridges PBB, IEEE 802.1ah (2007): Επέκταση Ethernet (GigE, 10 Gig) σε Μητροπολιτικά Δίκτυα (MAN’s) & WANs Τυποποίηση πρωτοκόλλων VPLS, MAC-in-MAC και Q-in-Q για επέκταση VLAN’s μεταξύ τοπικών δικτύων LAN’s με διαχείριση ποιότητας υπηρεσίας Προς συρρίκνωση τοπολογίας επιπέδου 3 collapsed backbone με μηχανισμούς μεταφοράς επιπέδου 2: 10 Gig point-to-point Ethernet transport