Az alkalmazási réteg vizsgálata (SNMP)
Összeállította:
dr. Tóth Csaba adjunktus Mûszer- és Méréstechnika Tanszék Mohácsi János Irányítástechnika és Informatika Tanszék
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
1. 1.1
99
ÁLTALÁNOS SZÁMÍTGÉPHÁLÓZATI ALAPISMERETEK
Bevezetés
Az alkalmazási réteg az OSI modell (Open Systems Interconnection, Nyílt rendszerek összekapcsolása) legfelsô rétege. A felhasználók legtöbbször ennek a rétegnek a szolgáltatásait veszik igénybe.
1.1.1 Tipikus alkalmazási rétegbeli szolgáltatások A példák többsége az OSI és a TCP/IP protokollkészletekbôl való. Elektronikus levelezés: • ISO MOTIS: Message-Oriented Text Interchange Systems (Üzenetorientált szövegkicserélô rendszer), • TCP/IP SMTP: Simple Mail Transfer Protocol (Egyszerû levéltovábbító protokoll). File átvitel: • ISO FTAM: File Transfer, Access and Management (Állománytovábbítás, hozzáférés és menedzsment), • TCP/IP FTP: File Transfer Protocol (állománytovábbító protokoll). Virtuális terminál szogálat: • OSI VTS: Virtual Terminal Service, • TCP/IP TELNET. Katalógus szolgálat: • CCITT X.500, • TCP/IP DNS:
Domain Name System (Internet név-cím katalógusszolgálat).
Hálózatmenedzsment: • ISO CMIP: CommonManagement Information Protocol (Közös menedzsment információs protokoll), • TCP/IP SNMP: Simple Network Management Protocol (Egyszerû hálózatmenedzsment protokoll). Az elsô négy csoport szolgáltattásait bárki igénybe veheti, az utolsót általában csak az adott hálózat mûködtetéséért felelôs személy, a hálózatmenedzser használja. A gyakorlat célja az alkalmazási réteg általános tulajdonságainak bemutatása, de ehhez elkerülhetetlenül ki kell választanunk egy konkrét protokollt. A gyakorlaton a hálazatmenedzsmenttel, mint az alkalmazási réteg egyik érdekes és fontos elemével fogunk foglalkozni. A hálózatmenedzsmentbôl csak annyit mutatunk be, amennyi a gyakorlat sikeres elvégzéséhez feltétlenül szükséges. BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
100
Alkalmazási réteg
1.2.
Hálózatmenedzsment
A hálózatmenedzsment a számítógép-hálózatok erôforrásainak folyamatos megfigyelését és felügyeletét jelenti. Az ISO (International Standards Organization, Nemzetközi Szabványügyi Hivatal) meghatározása szerint a hálózatmenedzsmentet az alábbi öt funkcióval lehet legjobban definiálni: Konfiguráció menedzsment (Configuration Management) Feladata: a hálózat pillanatnyi állapotának nyomonkövetése, a hardver, a szoftver komponensek üzembehelyezése, módosítása, szükség szerinti konfigurálása. Hiba menedzsment (Fault Management) Feladata: a lappangó vagy már megmutatkozó hibák felismerése, lokalizálása és a hibák megszüntetése. Biztonság menedzsment (Security Management) Feladata: a jogosultságok, hozzáférési jogkörök definálása, ellenôrzése (számlaszám, jelszó, prioritás). Teljesítôképesség menedzsment (Performance Management) Feladata: a hálózat teljesítôképességének elfogadható szinten tartása. A hálózati forgalom monitorozásával és elemzésével eldönthetô, hogy szükséges-e megváltoztatni az adott konfigurációt, kell-e újabb berendezéseket vásárolni, stb. Számla menedzsment (Accounting Management) A hálózatok egy részében az erôforrások használatáért fizetni kell (tipikusan ilyenek a nagytávolságû hálózatok), és ehhez felhasználónként számlákat kell összeállítani.
1.3.
Menedzsment kategóriák
A hálózatmenedzser programok általában két kategóriába tartoznak attól függôen, hogy a végfelhasználók berendezéseit, illetve erôforrásait (pl. diszkeket, nyomtatókat menedzselik, vagy a kommunikációt lebonyolító eszközöket) pl. ismétlôket, hidakat, forgalomirányítókat). Az elôbbiek az erôforrás menedzsment (resource management), az utóbbiak a vivô vagy hordozó menedzsment (carrier management) kategóriába tartoznak. A hálózatmenedzsment protokollok többsége az utóbbi kategóriába tartozik, az erôforrás menedzsmentre egyelôre nem léteznek elfogadott nemzetközi szabványok. A jelenlegi szabványosítási törekvések igyekeznek ezt a két kategóriát eggyé olvasztani.
2.
SPECIÁLIS HÁLÓZATI ISMERETEK
Az Internet SNMP protokollja a legelterjedtebb hálózatmenedzser protokoll. Tiszta, áttekinthetô felépítésének és viszonylag egyszerû megvalósíthatóságának köszönheti a népszerûségét. Az architektúrája eléggé általános ahhoz, hogy erôforrás menedzsment feladatokat is el tudjon látni.
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
101
Az SNMP részletes leírását az érdeklôdôk megtalálják a következô RFC-kben (RFC: az Internet szabványokat ún. RFC-kben, Requests For Comments dokumentumokban adják ki): • RFC 1155: Structure of Management Information (SMI), • RFC 1156: Management Information Base (MIB-1), • FRC 1157: Simple Network Management Information Protocol (SNMP), • RFC 1158: Management Information Base (MIB-2).
2.1.
Az SNMP felépítése és környezete
1. ábra Management Station (Menedzsment állomás) A hálózatmenedzser programot futtató, kliens funkciót ellátó állomás. A menedzser állomás a hálózati elemek ügynökeit (agent, lásd alább) vezérli. Lehetôsége van egy ügynöktôl információkat kérni, vagy megváltoztatni az ügynököt tartalmazó elem mûködését. Az ügynököktôl gyûjtött információkat értelmeznie kell, és ennek függvényében megváltoztathatja azok mûködését, hogy optimális hálózati mûködést biztosítson a felhasználóknak. Network Element (Hálózati elem) Menedzsment ügynökkel rendelkezô intelligens hálózati berendezés, mint pl. számítógép ismétlô (repeater), híd (bridge), forgalomirányító (router), terminál kiszolgáló (terminal server). SNMP Agent (SNMP ügynök) Az ügynök a hálózati elem része (SNMPEngine, Instrumentation, Management Profile), hozzáférési joga van az elem menedzsmenttel kapcsolatos információihoz, és olyan szerver, amely végrehajtja a menedzser parancsait. Az ügynök nagyrészt passzív, vagyis csak akkor szólal meg, ha a menedzser felkéri valamely feladat végrehajtására. Egészen kivételes esetekben joga van szólítatlanul üzenetet küldeni a menedzsernek. Ez a felépítés biztosítja az egyszerûséget, a könnyû megvalósíthatóságot. BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
102
Alkalmazási réteg
A menedzser állomás és a hálózati elem tipikus komponensei: User Interface A kezelônek lehetôvé teszi, hogy parancsokat adjon ki, és üzeneteket fogadjon. A komolyabb programok grafikus interfésszel is rendelkeznek. Management Applicatons A hálózatról gyûjtött információk elemzésében segít. Databases (Adatbázisok) Tartalmazza - a hálózati elemek címeit, konfigurációit, - a teljes MIB adatbázist (MIB: Management Information Base), - az alkalmazói adatbázist. SNMP Engine Az SNMP protokollt megvalósító folyamat. Transport/Link A hálózati modell alsó rétegeit tartalmazza a szállítási rétegig bezárólag. Instrumentation Olyan alkalmazási folyamat, amely lehetôvé teszi a protokoll gépnek (SNMPEngine) a menedzselt objektum változóihoz való hozzáférést. Management Profile Az objektumok egy részhalmaza a MIB-ben, amely az adott készülékre vonatkozik. Minden egyes objektumnak megvan a maga SNMP hozzáférési módja: read-only vagy read-write. Simple Network Management Protocol Az SNMP a menedzser állomás és az ügynökök között használt egyszerû kérdésfelelet protokoll. A protokoll nem definiálja a menedzselhetô objektumokat. Mivel az összes létezô és a jövôben elkészülô hálózati készülék minden menedzselhetô ojbektumát nem lehet univerzális módon definiálni, ezért a szabvány lehetôséget ad a gyártóknak, hogy a készülékspecifikus paramétereket a fa megfelelô részéhez csatolják. Erre mutat példát a 2. ábra (a Synoptics cég készülékei az enterprise 45. ágához csatlakoznak).
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
103
3. ábra Példák: A Synoptics cég készülékei {enterprise 45}
vagy
1.3.6.1.4.1.45.
Synoptics 3000 Ethernet koncentrátor {s3000Ethernet 1} vagy 1.3.6.1.4.1.45.1.3.2.1.
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
104
2.2.
Alkalmazási réteg
Management Information base (MIB)
A MIB egy adott ügynök vagy menedzser felügyelete alá tartozó objektumokra vonatkozó információk összessége. Az adatokat fastruktúrában ábrázolják.
2.2.1. Name Tree A SNMP fastruktúrát az OSI regisztrálja annak érdekében, hogy az SNMP-bôl az OSI bázisú hálózatmendzsment felé történô átmenet zökkenômentes lehessen. A 3. ábrán a fastuktúra szokásos ábrázolása látható, kiemelve a MIB-1-hez tartozó csoportokat, továbbá megjelölve a MIB-2 kiterjesztést.
2. ábra Példák: Internet: Mgmt: MIB: IP:
{dod1} {internet2} {mgmt1} {mib4}
vagy vagy vagy vagy
1.3.6.1. 1.3.6.1.2. 1.3.6.1.2.1. 1.3.6.1.2.1.4.
vagy vagy vagy vagy
iso org dod internet iso org dod internet mgmt iso org dod internet mgmt mib iso org dod internet mgmt mib ip
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
105
2.2.2. Management Objects Az objektumok az aktuális erôforrások reprezentációi az SNMP környezetben. Az Internet MIB-ben jelenleg több, mint száz objektumot szabványosítottak. Minden objektumhoz tartozik név, szintaxis és kódolás. Object Name (Objektum név) Az objektum nevét OBJECT IDENTIFIER és OBJECT DESCRIPTOR segítségével lehet megadni. Az objektum típusát meghatározó OBJECT IDENTIFIER egész számok sorozata, amely megmutatja az adott elem helyét a MIB fastruktúrában (MIB Name Tree). Az OBJECT DESRIPTOR szöveg-string, amely az OBJECT IDENTIFIER szinonímájaként használható a könnyebb megjgyezhetôség kedvéért. Object Syntax (Objektum szintaxis) Egy objektum típus szintaxisa az adott típus adatstruktúráját határozza meg. Az ASN.1 (Abstract Syntax Notation One) egy jól meghatározott részhalmazát használják erre a célra. Object Encoding (Objektum kódolás) Egy objektum típus kódolását a szintaxisa és az ASN.1 kódolási szabályok határozzák meg. MIB Object Groups (MIB Objektum csoportok) Az SNMP az objektumokat csoportokba gyûjti. Egy Internet hálózati elemben (menedzselhetô készülékben) nem kell léteznie valamennyi változónak. Az viszont kötelezô, hogy ha egy csoport bármely elemét implementálták, akkor annak a csoportnak az összes változóját implementálni kell. Példák MIB objektumokra: Formátum: OBJECT Syntax Definition Access Status
Read-only, read-write, not-accessible (csak olvasható, csak írható, nem hozzáférhetô) Mandatory, optional, obsolete (kötelezô, opcionális, elavult)
Példák: OBJECT Syntax: Definition: Access: Status:
sysUpTime {system 3} TimeTicks The time (in hundredths of seconds) since the network management portion of the system was last re-initialised. (A rendszer menedzselhetô részének a legutolsó kezdeti állapotba hozása óta eltelt idô századmásodpercekben.) read-only (csak olvasható) mandatory (kötelezô)
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
106
Alkalmazási réteg
OBJECT Syntax: Definition: Access: Status: OBJECT Syntax:
Definition: Access: Status:
2.3.
ifMtu {ifEntry4} INTEGER The size of the largest IP datagram which can be sent/received on the interface, specified in octets. (Az interfészen kereszül továbbítható legnagyobb IP datagramma byte-okban megadott mérete.) read-only (csak olvasható) mandatory (kötelezô) ipAddrEntry {IpAddrsTable 1} ipAddrEntry::=SEQUENCE { ip AdEntAddr IpAddress, ipAdEntIfIndex INTEGER IpAdEntNetMask IpAddress, IpAdEntBcastAddr INTEGER } The addresing information for one of this entity's IP addresses.(Ennek az egységnek az IP címeihez tartozó címzési információk.) read-only (csak olvasható) mandatory (kötelezô)
SNMP Protokoll
Az objektum definíciókat és a PDU-kat (Protocol Data Unit) az ASN.1 segítségével írják le. Csak a kötelezô ASN.1 típusok használatosak: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NULL, SEQUENCE, SEQUENCE OF. Az SNMP kapcsolatmentes szállítási szolgáltatást (UDP: User Datagram Protocol) használ a PDU-k továbbítására a menedzserek és az ügynökök között (lásd a 4. ábrát).
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
107
4. ábra
2.3.1. PDU típusok GetRequest-PDU A menedzser állomás a PDU-ban felsorolja azoknak az objektumoknak a neveit, amelyek értékeit meg szeretné kapni az ügynöktôl. Az ügynök a válaszában jelzi, hogy sikeres vagy sikertelen volt-e a kérés, és ha sikeres, akkor a válaszüzenetben elküldi a kért objektumok értékeit. GetNextRequest-PDU Táblázatok lekérdezésére való. Mivel az objektumok attributumait lexikografikus rendben tárolják (mint pl. a szótárak szavait), az elôzô GetNextRequest PDU eredményét a következô argumentumaként lehet használni. Ily módon a menedzser változó hosszúságú táblázatokat tud lekérdezni úgy, hogy az azonos típusú objektumok valamennyi értékéhez hozzáférjen. GetResponse-PDU Az SNMP ügynök ezzel a PDU-val válaszol a menedzsernek akár a kért változó értékeirôl, akár hibaüzenetekrôl van szó. Hibaüzenet pl. akkor keletkezik, ha érvénytelen vagy nemlétezô objektum értékeit kéri a menedzser. SetRequeset-PDU A menedzser ezzel a PDU-val állíthatja be az ügynök valamely objektumának értékét. A PDU tartalmazza az objektum nevét és értékét. Az ügynök megpróbálja beállítani a megadott értéket, de hibaüzenetet is generálhat, ha - az objektum értéke nem változtatható meg, mert az objektum státusa readonly, - a megadott érték illegális, - a menedzsernek csak olvasási joga van az írható-olvasható objektumhoz. BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
108
Alkalmazási réteg
A Request/Response PDU-k formátumát mutatja az 5. ábra.
5. ábra Trap-PDU Az ügynök bizonyos események bekövetkezésekor a menedzser felszólítása nélkül is küldhet üzenetet a menedzsernek. Ilyen események lehetnek: Cold Start Hideg újraindítás-a konfiguráció megváltozhat Warm Start Meleg újraindítás - a kongifuguráció nem változik Link Down Változás a kommunikációs jellemezôkben Link Up Változás a kommunikációs jellemzôkben Authentication Failure Jogosulatlan hozzáférés EGP neighbour Loss Forgalomirányító (router) egy hibajelzése (EGP: Exterior Gateway Protocol) A 6. ábra a Trap PDU keretformátumát mutatja.
6. ábra Az SNMP által támogatott tevékenységek: Agent Receive GetRequest Receive GetNextRequest Receive SetRequest Detect Event
Read Variable Read Variable Set Variable
Network Manager Station Send GetReequest Send GetNextReequest Send SetRequest Listen for Trap Messages
Wait for and process response Wait for and process response Wait for and process response Modify Behavior as Require
Return GetResponse Return GetResponse Return GetResponse
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
Alkalmazási réteg
109
System Group
Identifier system 1 system 2 system 3 system 4 (MIB-2) sytem 5 (MIB-2) system 6 (MIB-2) system 7 (MIB-2)
Name sysDescr sysObject/D sysUpTime sysContact
sysLocation
Definiton Text description of managed entity Vendor's object identifier Time since last re-initialization Text naming contact person for this node Administratively-assigned name for this node Physical location of the node
sysServices
Set of servies offered by the node
sys-Name
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék
110
Alkalmazási réteg
Identifier interfaces 1
Name ifNumber
Definition The number of network interfaces
Identifier interfaces 2 ifTable 1 ifEntry 1 ifEntry 2 ifEntry 3 ifEntry 4 ifEntry 5 ifEntry 6 ifEntry 7 ifEntry 8 ifEntry 9 ifEntry 10 ifEntry 11 ifEntry 12 ifEntry 13 ifEntry 14 ifEntry 15 ifEntry 16 ifEntry 17 ifEntry 18 ifEntry 19 ifEntry 20 ifEntry 21 ifEntry 22 (MIB-2)
Name ifTable ifEntry ifIndex ifDescr ifType ifMtu ifSpeed ifPhysicalAddress ifAdminStatus ifOperStatus ifLastChange ifInOctets IfInUcastPkts ifInNUcastPkts IfInDiscards IfInErrors IfInUnknownProtos IfOutOctets IfOutUcastPkts IfOutNUcastPkts IfOutDiscards IfOutErros IfOutQLen if Specific
Definition A table containing entries for each interface An entry (row) in the interface table Interface number Text description of the interface Interface type based on physical/link protocols MTU for send/receive on the interface Interface bandwidth in bits/second Interface physical address Desired state of the interface (up, down, test) Current State of the interface (up, down, test) sysUpTime when interface entered current state Number of octets received on the interface Unicast packets delivered to higher level protocol Non-unicast packets delivered to higher protocol Inbound packets discarded without errors Inbound packets discarded due to errors Inbound discarded due to unknown protocols Octets transmitted out the interface Unicast packets from higher level protocols Non-unicast packets from a higher level protocol Outbound packets discarded without errors Outbound packets discarded with errors Length of outbound queue in packets Reference to MIB definitions specific to the particular media used by the interface
BME Számítógéphálózatok jegyzet. Csak belső használatra. Minden jog fenn tartva. Copyright 2000, BME Irányítástechnika és Informatika Tanszék