ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ & ΕΡΓΑΛΕΙΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΤΟ INTERNET - EΙΣΑΓΩΓΗ ΣΤΟ SNMP Β. Μάγκλαρης 19/12/2011
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 Signaling 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 ΕΠΑΝΑΛΗΨΗ: ΕΠΙΠΕΔΟ ΖΕΥΞΗΣ - LINK LAYER ΔΙΑΜΟΡΦΩΣΗ ΔΕΝΔΡΙΚΗΣ ΤΟΠΟΛΟΓΙΑΣ ΜΕΤΑΓΩΓΕΩΝ (Spanning Tree Protocol - STP of Ethernet Switches, IEEE 802.1D) Εξέλιξη των Αλγορίθμων Διάρθρωσης Διαφανών Γεφυρών Spanning Tree Protocol (STP) for Transparent Ethernet Bridges Radia Perlman, DEC & MIT Αναδιαμόρφωση Spanning Tree Χρόνος Αντίδρασης σε Βλάβη: ~ 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
9 ΕΠΑΝΑΛΗΨΗ: ΔΙΑΡΘΡΩΣΗ ΕΠΙΚΑΛΥΠΤΟΝΤΟΣ ΔΕΝΔΡΟΥ ETHERNET SPANNING TREE PROTOCOL - STP (IEEE 802.1D) SWITCH 1: Root Bridge SWITCH 3SWITCH 2 SWITCH 4 RP DP BP RP: Root Port DP: Designated Port BP: Blocked Port PC_4 PC_3PC_6 PC_5 PC_8 PC_7 PC_2 PC_1 Layer 2 Manager PC_10PC_9 PORT STATES Listening: Ακούει τα BPDU’s Learning: Μαθαίνει τις διευθύνσεις MAC πίσω της & δημιουργεί την filtering ή switching data base. Blocking: Ακούει τα BPDU’s αλλά δεν ενεργοποιεί προώθηση πακέτων εκτός να αντιληφθεί ότι το επικαλύπτον δένδρο έχει διασπαστεί Forwarding: Ακούει τα BPDU’s και προωθεί κανονικά τα πακέτα Disabled: Μη ενεργή Bridge Protocol Data Units (BPDUs) Περιοδικά μηνύματα πρωτοκόλλου STP κάθε 2 sec (default) 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) Γνωστό στο Switch 4 Άγνωστο στο Switch 4 Aging: 300 sec (default) Ενεργή σύνδεση Ανενεργή σύνδεση
10 ΕΠΑΝΑΛΗΨΗ: ΔΡΟΜΟΛΟΓΙΣΗ ΜΕ VLANs (IEEE 802.1Q) VLAN “Red” (VID 00d) Switch Ports 1 & 9 Subnet /24 Default Gateway VLAN “Blue” (VID 003) Switch Ports 4 & 12 IP Subnet /24 Default Gateway Trunk Switch Port 5 ETHERNET SWITCH IP ROUTER warp.core.ntua.gr ΦΥΣΙΚΗ ΣΥΝΔΕΣΗ: ΛΟΓΙΚΗ ΔΙΑΣΥΝΔΕΣΗ: matrix.netmode.ntua.gr :13:a9:34:dd:aa DG: :08:7c:63:e4: :13:72:f6:5f:83 DG: :08:7c:63:e4: :50:da:51:95:10 DG: :08:7c:63:e4: :16:17:72:72:76 DG: :08:7c:63:e4: TPIDPCPCFIVID 16 bits3 bits1 bit12 bits MAC Address ETHERNET II IP, TCP/UDP, Data 802.1Q Framing Add-On’s TPID: Tag Protocol ID PCP: Priority Code Point CFI: Canonical Format Identifier VID: VLAN ID (< 4096) 00:08:7c:63:e4:00 ARP DNS
11 ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε.Μ.Π. ntua.gr ( /16, ASN 3323)
12 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 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
13 ΜΟΝΤΕΛΛΟ ΔΙΑΧΕΙΡΙΣΗΣ SNMP Κλήση SNMP Απάντηση στην ερώτηση Ασύγχρονο μήνυμα (Trap) προς το manager Σύστημα συνδεμένο στο δίκτυο που μπορεί να εκτελεί οποιαδήποτε εργασία Network Management Station (NMS)
14 ΠΡΩΤΟΚΟΛΛΟ ΑΝΤΑΛΛΑΓΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΔΙΑΧΕΙΡΙΣΗΣ Χρειαζόμαστε ένα κοινό (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)
15 ΟΡΙΣΜΟΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΗ 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
16 ΔΕΝΔΡΙΚΗ ΔΟΜΗ 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)
17 ΠΑΚΕΤΑ - ΕΝΤΟΛΕΣ 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
18 ΣΥΝΤΑΞΗ ΑΝΤΙΚΕΙΜΕΝΩΝ Τα διαχειριζόμενα αντικείμενα κωδικοποιούνται στη μορφή (SNMPv2 SMI): OBJECT-TYPE SYNTAX MAX-ACCESS STATUS DESCRIPTION INDEX {…} DEFVAL {…} ::= { }
19 ΤΥΠΟΙ ΑΝΤΙΚΕΙΜΕΝΩΝ Syntax INTEGER (μπορεί να χρησιμοποιηθεί και για λίστα απαρίθμησης) Integer32 Unsigned32 Counter32 & Counter64 Gauge32 Timeticks (εκατοστά του δευτερολέπτου, όπως μετρούνται στο σύστημα) OCTET STRING OBJECT IDENTIFIER Opaque RowStatus (TC) DisplayString (TC) IpAddress (TC) 0 Max Gauge
ΕΡΓΑΛΕΙΑ ΔΙΑΧΕΙΡΙΣΗΣ ICMP: ping, traceroute tcpdump net-snmp –snmp_get –snmp_walk –trap –snmp_set MRTG –RRDtool Transmission (DWDM, SDH tools): CMIP, TMN, Proprietary –TL1, Q3, Corba
INTEGRATED NETWORK MANAGEMENT
ΟΛΟΚΛΗΡΩΜΕΝΑ ΕΡΓΑΛΕΙΑ Αυτοματοποιούν διαδικασίες Ομαδοποιούν λειτουργίες Open Source –Nagios – Service Monitoring –OpenNMS – Network Monitoring –Ganglia – Cluster Management Commercial –HP Openview –IBM Tivoli
MANAGEMENT PLATFORMS
NAGIOS PLUGINS Plugin Return CodeService StateHost State 0OKUP 1WARNING UP or DOWN/UNREACHABLE 2CRITICALDOWN/UNREACHABLE 3UNKNOWNDOWN/UNREACHABLE RETURN CODE | TEXT OUTPUT | OPTIONAL PERFDATA | LONG TEXT LINE … | PERFDATA … 0 | PING OK - Packet loss = 0%, RTA = 0.15 ms 0 | DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968
ΠΑΡΑΔΕΙΓΜΑΤΑ NAGIOS PLUGINS check_http check_snmp check_icmp check_ntp check_ifoperstatus check_mrtg check_ssh check_ifstatus check_ntp_time check_imap check_ups check_ftp check_ping -H -w, % -c, %