ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝΔΡΟΜΟΛΟΓΗΣΗ & ΕΡΓΑΛΕΙΑ ΔΙΑΧΕΙΡΙΣΗΣ
ΣΤΟ INTERNET -EΙΣΑΓΩΓΗ ΣΤΟ SNMP
Β. Μάγκλαρης[email protected]
www.netmode.ntua.gr
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
ΕΠΑΝΑΛΗΨΗ: ΔΡΟΜΟΛΟΓΗΣΗ ΕΠΙΠΕΔΟΥ 3Layer 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): Πολλές εναλλακτικές διαδρομές με βάρη προς όλα τα γνωστά δίκτυα (περίπου 300.000 σήμερα) μεταξύ ακραίων (border) routers αυτονόμων συστημάτων (Autonomous Systems, AS, περίπου 40.000 σήμερα).
– Η διαδρομή καταγράφεται στον 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 IGP RIP - BGP
• Κάθε κόμβος υπολογίζει την επόμενη «βέλτιστη» στάση προς όλες τις κατευθύνσεις, σύμφωνα με την εικόνα που έχει τοπικά (πραγματικά κατανεμημένος αλγόριθμος)
• Χρειάζεται γνώση του «κόστους» των άμεσων συνδέσεων (interfaces) και το εκτιμώμενο «κόστος» από τους άμεσους γείτονες προς όλους τους προορισμούς (π.χ. όλα τα δίκτυα στο Internet που ανακοινώνουν - announce – σε έναν ακραίο δρομολογητή μιας αυτόνομης κοινότητας - AS - οι γειτονικές του αυτόνομες κοινότητες στο πρωτόκολλο BGP)
• Βασίζεται στον δυναμικό προγραμματισμό (με πιθανές επεκτάσεις για την ανακάλυψη εναλλακτικών δρόμων στο BGP)
• Οι κόμβοι εντοπίζουν τους βέλτιστους δρόμους (shortest paths) προς όλους τους κόμβους εκτελώντας αλγόριθμο βασισμένο στον δυναμικό προγραμματισμό (dynamic programming) που εισήγαγε ο Bellman
• Αρχικά παρουσίασε αστάθειες (π.χ. δρόμους με κύκλους - loops) αλλά σήμερα το πρωτόκολλο EGP BGP είναι η καρδιά του Internet
• Το πρωτόκολλο IGP RIP σήμερα έχει αντικατασταθεί από το OPSF
6
ΕΠΑΝΑΛΗΨΗ: ΑΝΑΚΟΙΝΩΣΗ ΔΙΚΤΥΟΥ 135.207.0.0/16 ΜΕΣΩ BGP
Distance Vector(από παρουσίαση του Timothy G. Griffin,
AT&T Research, Paris 2002)
BGP 4: RFC 4271Signaling overTCP Port 179
i-BGP: Internal BGP(pass inter-AS peering to intra-AS fully connectedrouters)e-BGP: External routing(between AS’s over directrouter inter-AS links)
ΕΠΑΝΑΛΗΨΗ: ΑΛΓΟΡΙΘΜΟΣ 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 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 PortDP: Designated PortBP: Blocking Port
9
ΕΠΑΝΑΛΗΨΗ: ΔΙΑΡΘΡΩΣΗ ΕΠΙΚΑΛΥΠΤΟΝΤΟΣ ΔΕΝΔΡΟΥ
ETHERNET SPANNING TREE PROTOCOL - STP (IEEE 802.1D)
SWITCH 1: Root Bridge
SWITCH 3SWITCH 2
SWITCH 4
RP
RP
RP
DPDP
DP
BP
BP
RP: Root PortDP: Designated PortBP: Blocked Port
PC_4PC_3 PC_6
PC_5
PC_8PC_7
PC_2
PC_1 Layer 2
Manager
PC_10PC_9
PORT STATESListening: Ακούει τα BPDU’sLearning: Μαθαίνει τις διευθύνσεις MAC πίσω της &
δημιουργεί την filtering ή switching data base. Blocking: Ακούει τα BPDU’s αλλά δεν ενεργοποιεί
προώθηση πακέτων εκτός να αντιληφθεί ότι το επικαλύπτον δένδρο έχει διασπαστεί
Forwarding: Ακούει τα BPDU’s και προωθεί κανονικά τα πακέτα
Disabled: Μη ενεργή
Bridge Protocol Data Units (BPDUs) Περιοδικά μηνύματα πρωτοκόλλου STP κάθε 2 sec (default)
Forwarding Data Baseper Switch Port
Forward MAC framesto known destinations, e.g..
PC_6, PC_7, PC_2, PC_3, PC_5to 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 4Aging: 300 sec (default)
Ενεργή σύνδεση
Ανενεργή σύνδεση
10
ΕΠΑΝΑΛΗΨΗ: ΔΡΟΜΟΛΟΓΙΣΗ ΜΕ VLANs (IEEE 802.1Q)
VLAN “Red” (VID 00d) Switch Ports 1 & 9Subnet 147.102.13.0/24Default Gateway 147.102.13.200
VLAN “Blue” (VID 003)Switch Ports 4 & 12IP Subnet 147.102.3.0/24Default Gateway 147.102.3.200
Trunk Switch Port 5ETHERNET SWITCH
IP ROUTERwarp.core.ntua.gr
ΦΥΣΙΚΗ ΣΥΝΔΕΣΗ:
ΛΟΓΙΚΗ ΔΙΑΣΥΝΔΕΣΗ:
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
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
147.102.13.200 147.102.3.200
TPID PCP CFI VID
16 bits 3 bits 1 bit 12 bits
MAC AddressETHERNET II
IP, TCP/UDP, Data
802.1Q Framing Add-On’sTPID: Tag Protocol IDPCP: Priority Code PointCFI: Canonical Format IdentifierVID: VLAN ID (< 4096)
00:08:7c:63:e4:00
ARPDNS
11
ΤΟ ΔΙΚΤΥΟ ΤΟΥ Ε.Μ.Π.ntua.gr (147.102.0.0/16, ASN 3323)
12
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ TCP/IPSimple 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 1905-1907 SNMPv2 και RFCs 2578-2580 SMIv2 – RFC 1905-1907 & 2571-2575 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 έχει τη μοναδική αναφορά: 1.3.6.1.2.1.1.3.0
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 147.102.13.19 system.sysUpTime.0snmpwalk – c – public maria.netmode.ece.ntua.gr
18
ΣΥΝΤΑΞΗ ΑΝΤΙΚΕΙΜΕΝΩΝ
Τα διαχειριζόμενα αντικείμενα κωδικοποιούνται στη μορφή (SNMPv2 SMI):
<όνομα> OBJECT-TYPE
SYNTAX <τύπος αντικειμένου>
MAX-ACCESS <"not-accessible" | "accessible-for-notify" | "read-only" | "read-write" | "read-create">
STATUS <"current" | "deprecated" | "obsolete">
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
SERVICES
DMZ
PC CLUSTER
PC LAB
AUTONOMOUS SYSTEM
INTERNET
Firewall
DirectoryLDAP
Database
FTP
NETWORK OPERATION CENTER(NOC)
ADMINISTRATOR
TICKETINGSYSTEM
ALARM BROKER
CONSOLES
SNMP MANAGER
NAGIOS
OpenNMS
LOWER LAYER MANAGER
WORKFLOW ENGINE
OPERATIONAL DATABASE
NETWORK DESCRIPTION
LANGUAGE (NDL)
SMTP WEB DNS
ΟΛΟΚΛΗΡΩΜΕΝΑ ΕΡΓΑΛΕΙΑ
• Αυτοματοποιούν διαδικασίες
• Ομαδοποιούν λειτουργίες
• Open Source– Nagios – Service Monitoring http://www.nagios.org/ – OpenNMS – Network Monitoring
http://www.opennms.org/index.php/Main_Page – Ganglia – Cluster Management http://ganglia.info/
• Commercial– HP Openview– IBM Tivoli
MANAGEMENT PLATFORMS
Router PrinterSwitchServer
NETWORK MANAGEMENT PROTOCOLS(ICMP, SNMP, Q3, TL1, Remote Access - SSH)
check_ping check_ftpcheck_printer_
ink_levelcheck_smtp
SNMP
NAGIOS MRTG
WE
B IN
TE
RF
AC
EP
LUG
INS
NAGIOS PLUGINS
Plugin Return Code Service State Host State
0 OK UP
1 WARNING UP or DOWN/UNREACHABLE
2 CRITICAL DOWN/UNREACHABLE
3 UNKNOWN DOWN/UNREACHABLE
RETURN CODE | TEXT OUTPUT |OPTIONAL PERFDATA | LONG TEXT LINE … | PERFDATA …
0 | PING OK - Packet loss = 0%, RTA = 0.15 ms0 | 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 <host> -w <wrta>,<wpl>% -c <crta>,<cpl>%