ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ EΙΣΑΓΩΓΗ ΣΤΟ SNMP Β. Μάγκλαρης 21/01/2009
2 ΕΠΑΝΑΛΗΨΗ: ΤΑΞΙΝΟΜΗΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΡΟΜΟΛΟΓΗΣΗΣ Διαχειριστικός Έλεγχος –Συγκεντρωτικός: Δημόσια Δίκτυα Μεταγωγής Πακέτου Χ.25/Χ.75 –Κατανεμημένος: Internet Δρομολόγηση με ή χωρίς Εναλλακτικούς Δρόμους –Single choice: Δρομολόγηση Επιπέδου 3 στο Internet - IGP (OSPF, IS-IS) Δρομολόγηση Επιπέδου 2 - Bridged Ethernet LANs –Alternate routing: Δρομολόγηση Επιπέδου 3 στο Internet - BGP Δρομολόγηση Επιπέδου 2 ½ - MPLS/TE Τηλεφωνικά Δίκτυα PSTN (Public Switched Telephone Networks) Διαχειριστική Δυναμική –Στατική δρομολόγηση: Direct Routing στο Internet - Default Gateway Υπολογισμός εναλλακτικών δρόμων με σταθερά βάρη γραμμών (Χ.25/Χ.75) –Δυναμική δρομολόγηση: Μεταβαλλόμενα βάρη γραμμών (ARPANet) Μεταβολές ανάλογα με διαθεσιμότητα γραμμών (Internet IGP, BGP)
3 ΕΠΑΝΑΛΗΨΗ: ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ 3 Layer 3 Routing 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 ΤΟΥ 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): Link State Data Base + αλγόριθμος Dijkstra στον κορμό Αυτόνομου Δικτύου (Core of an Autonomous System, AS) –Κόστος γραμμών δικτύου: Ανάλογα με την ταχύτητα ή οριζόμενα από τον Διαχειριστή Ανανέωση κόστους γραμμών: κάθε 240 sec (default) ή λόγω μεταβολής κατάστασης Στα περιφερειακά υποδίκτυα (stub areas): Default G/W
ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΙ DISTANCE VECTOR ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΙ DISTANCE VECTOR IGP RIP - BGP Κάθε κόμβος υπολογίζει την επόμενη «βέλτιστη» στάση προς όλες τις κατευθύνσεις, σύμφωνα με την εικόνα που έχει τοπικά (πραγματικά κατανεμημένος αλγόριθμος) Χρειάζεται γνώση του «κόστους» των άμεσων συνδέσεων (interfaces) και το εκτιμώμενο «κόστος» από τους άμεσους γείτονες προς όλους τους προορισμούς (π.χ. όλα τα δίκτυα στο Internet που ανακοινώνουν - announce – σε έναν ακραίο δρομολογητή μιας αυτόνομης κοινότητας - AS - οι γειτονικές του αυτόνομες κοινότητες στο πρωτόκολλο BGP) Βασίζεται στον δυναμικό προγραμματισμό (με πιθανές επεκτάσεις για την ανακάλυψη εναλλακτικών δρόμων στο BGP) Οι κόμβοι εντοπίζουν τους βέλτιστους δρόμους (shortest paths) προς όλους τους κόμβους εκτελώντας αλγόριθμο βασισμένο στον δυναμικό προγραμματισμό (dynamic programming) που εισήγαγε ο Bellman Αρχικά παρουσίασε αστάθειες (π.χ. δρόμους με κύκλους - loops) αλλά σήμερα το πρωτόκολλο EGP BGP είναι η καρδιά του Internet Το πρωτόκολλο IGP RIP σήμερα έχει αντικατασταθεί από το OPSF
6 ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ /16 ΜΕΣΩ BGP Distance Vector ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ /16 ΜΕΣΩ BGP Distance Vector (από παρουσίαση του Timothy G. Griffin, AT&T Research, Paris 2002) BGP 4: RFC 4271 Signalling over TCP Port 179 i-BGP: Internal BGP (pass inter-AS peering to intra-AS fully connected routers) e-BGP: External routing (between AS’s over direct router inter-AS links)
ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΣ LINK STATE ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΣ LINK STATE IGP OSPF Κάθε δρομολογητής μιας περιοχής OSPF (core area) έχει πλήρη εικόνα της περιοχής του – τοπολογία, κόστη συνδέσεων Όλοι οι δρομολογητές εκτελούν τον αλγόριθμο Dijkstra για εντοπισμό όλων των δρόμων ελαχίστου κόστους (shortest paths) σε ρόλο κεντρικού συστήματος ελέγχου, περιοδικά (default 240 sec) ή όποτε αντιληφθούν ότι άλλαξε η κατάσταση του δικτύου – θεωρητικά όλοι έχουν την ίδια εικόνα Θεωρείται ευσταθής αλγόριθμος, επαρκής για IGP: Μια αυτόνομη κοινότητα ιεραρχείται εσωτερικά σε περιοχές OSPF (μία ή περισσότερες) + περιφερειακές stub areas με static routing (στο δίκτυο του ΕΜΠ, OSPF τρέχουν μόνο 2 δρομολογητές) Γενίκευση του OSPF: Αλγόριθμος IS-IS (Intermediate System to Intermediate System)
8 ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε.Μ.Π. ntua.gr ( /16, ASN 3323)
9 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ TCP/IP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ TCP/IP Simple Network Management Protocol - SNMP Πρωτόκολλο του στρώματος εφαρμογής για τη διαχείριση συσκευών συνδεδεμένων στο δίκτυο με TCP/IP stack (IP addressable Network Elements). –Οι συσκευές μπορεί να είναι routers, switches με 1 πόρτα IP για management, Η/Υ, monitoring devices, sensors, έξυπνες συσκευές διαχειριζόμενες από το Internet... Το SNMP υλοποιεί απλές διαχειριστικές λειτουργίες. Ακολουθεί το μοντέλο Manager (που ρωτά) - Agent (που απαντά). Χρησιμοποιεί υπόβαθρο UDP στα Ports UDP 161 (agent demon) και UDP 162 (manager demon για αυτόνομα μηνύματα των agents - SNMP traps) –Υπενθύμιση: το UDP είναι πρωτόκολλο χωρίς επιβεβαίωση. Προτυποποίηση: RFC (Request for Comments) της IETF (Internet Engineering Task Force): –RFC 1157 SNMPv1 και RFCs 1155,1212 SMIv1 –RFCs SNMPv2 και RFCs SMIv2 –RFC & SNMPv3
10 ΜΟΝΤΕΛΛΟ ΔΙΑΧΕΙΡΙΣΗΣ SNMP Κλήση SNMP Απάντηση στην ερώτηση Ασύγχρονο μήνυμα (Trap) προς το manager Σύστημα συνδεμένο στο δίκτυο που μπορεί να εκτελεί οποιαδήποτε εργασία Network Management Station (NMS)
11 ΠΡΩΤΟΚΟΛΛΟ ΑΝΤΑΛΛΑΓΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΔΙΑΧΕΙΡΙΣΗΣ Χρειαζόμαστε ένα κοινό (standard) τρόπο για να ορίζουμε τα αντικείμενα που διαχειριζόμαστε και τη συμπεριφορά τους Χρειάζεται να γνωρίζουμε ποια αντικείμενα είναι διαθέσιμα στον agent και ποιες είναι οι ιδιότητες τους –π.χ. κατάσταση ενός Router Interface: Up, Down, Testing Τις πληροφορίες αυτές τις ορίζει η Βάση Πληροφοριών Διαχείρισης (Management Information Base - MIB) –Η ΜΙΒ δεν είναι βάση δεδομένων – απλά τυποποιεί αντικείμενα / δείκτες ώστε να απευθύνεται σε αυτά ο manager ανεξάρτητα από κατασκευαστή, λειτουργικό κ.λπ. Η πληροφορία σε αυτή δομείται σύμφωνα με τους κανόνες Structure of Management Information - SMI Υπάρχουν πολλές MIB ανάλογα με το είδος εργασιών –π.χ. ATM MIB (RFC 2515), DNS MIB (RFC 1611) κ.λπ. Όλοι οι agent σε routers στο Internet υλοποιούν τουλάχιστον την MIB II (RFC 1213)
12 ΟΡΙΣΜΟΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΗ MIB Η MIB είναι δενδρική δομή δεδομένων (data structure) που ορίζει διαχειριζόμενα αντικείμενα (managed objects) με τυποποιημένο τρόπο Κάθε διαχειριζόμενο αντικείμενο έχει ορισμένο τύπο και θέση στη ΜΙΒ –Όπου & όταν χρειάζεται, ο agent αναλαμβάνει την αντιστοίχηση των αντικειμένων της MIB με μεταβλητές τιμές που του αποδίδει το συγκεκριμένο σύστημα - operating system, π.χ. χρόνος που το σύστημα είναι σε λειτουργία, System Uptime –Οι agents γίνονται compiled για κάθε operating system που υπάρχει στα στοιχεία του δικτύου Ο ορισμός - κωδικοποίηση των αντικειμένων για να περιληφθούν στη MIB γίνεται με την συντακτική αφηρημένη γλώσσα ASN.1 και τους κανόνες Basic Encoding Rules (BER) Ο διαχειριστής χρειάζεται να γνωρίζει μόνο το είδος - τύπο της πληροφορίας και που θα τη βρει και όχι τον τρόπο που αυτή είναι εσωτερικά κωδικοποιημένη Σύνοψη των ορισμών –ASN.1: "αφηρημένη" γλώσσα περιγραφής δομών και τύπων ανεξάρτητα από την εφαρμογή –BER: Κανόνες κωδικοποίησης σε ASN.1 για τον ορισμό MIBs –SMI: Γενική περιγραφή της δομής που πρέπει να έχει μια MIB
13 ΔΕΝΔΡΙΚΗ ΔΟΜΗ MIB Τα διαχειριζόμενα αντικείμενα οργανώνονται σε μια δενδρική δομή, βάση της οποίας προκύπτει και το όνομα τους (που υποδηλώνει τη μοναδική τους θέση στο δένδρο) root ccitt(0) iso(1) joint(2) dod(6) internet(1) directory(1) mgmt(2) experimental(3) private(4) mibΙΙ(1) system(1) interfaces(2) at(3) ip(4) icmp(5) tcp(6) udp(7) egp(8) transmission(10) snmp(11) sysUpTime(3) Έτσι, π.χ. το αντικείμενο sysUptime έχει τη μοναδική αναφορά: org(3)
14 ΠΑΚΕΤΑ - ΕΝΤΟΛΕΣ SNMP get-request (NMS Agent, UDP port 161) get-response (Agent NMS) getnext-request (NMS Agent) getnext-response (Agent NMS) –walk (NMS Agent) bulk-get-request (NMS Agent) set-request (NMS Agent) trap (Agent NMS, UDP port 162) Παραδείγματα Εντολών SNMP snmpget – c – public system.sysUpTime.0 snmpwalk – c – public maria.netmode.ece.ntua.gr
15 ΣΥΝΤΑΞΗ ΑΝΤΙΚΕΙΜΕΝΩΝ Τα διαχειριζόμενα αντικείμενα κωδικοποιούνται στη μορφή (SNMPv2 SMI): OBJECT-TYPE SYNTAX MAX-ACCESS STATUS DESCRIPTION INDEX {…} DEFVAL {…} ::= { }
16 ΤΥΠΟΙ ΑΝΤΙΚΕΙΜΕΝΩΝ Syntax INTEGER (μπορεί να χρησιμοποιηθεί και για λίστα απαρίθμησης) Integer32 Unsigned32 Counter32 & Counter64 Gauge32 Timeticks (εκατοστά του δευτερολέπτου, όπως μετρούνται στο σύστημα) OCTET STRING OBJECT IDENTIFIER Opaque RowStatus (TC) DisplayString (TC) IpAddress (TC) 0 Max Gauge