Vous êtes sur la page 1sur 16

SNMP

ndice
Introduo Histrico SNMP Componentes do Protocolo Os Padres do Protocolo SNMP SNMPv2 As Vantagens do Protocolo As Desvantagens do Protocolo Implementao Concluses Links

Introduo
O conceito de administrao de rede pode ser definido formalmente como: o processo de controlar uma rede complexa de dados para maximizar sua eficincia e produtividade. A ISO (International Organization for Standards) definiu cinco reas chaves de administrao de rede. Estas so: administrao de falhas, administrao de configurao, administrao de segurana, administrao de desempenho, e administrao de contas. O melhor modo no qual uma rede pode ser administrada atingir cada uma das cinco reas de administrao de rede o mais eficazmente. Para ajudar nesta tarefa, protocolos de rede so usados de forma que o processo de administrao de rede seja automatizado, ou seja, seja feito por computadores o mximo possvel. H muitos protocolos disponveis para se efetuar um bom gerenciamento de rede. Os dois protocolos principais so SNMP (Simple Network Management Protocol) e CMIP (Common Management Information Protocol). SNMP define um conjunto simples de especificaes de administrao de rede, que cobre todos os fundamentos de administrao de rede impondo algumas modificaes em uma rede existente. Por ser simples, de implementao relativamente fcil. especfico para sistemas que usam o protocolo TCP/IP. CMIP um muito bem projetado sistema de administrao de rede que melhora muitas fraquezas do SNMP. O problema principal do CMIP que este protocolo muito complexo e extenso, sendo utilizvel apenas em mquinas de grande porte. Mas o protocolo mais geral, cobrindo totalmente o modelo OSI. O foco deste trabalho o protocolo SNMP, pois o mais utilizado.

Histrico
No incio dos anos 70, as redes de computador tinham crescido de uma organizao simples de redes pequenas e separadas, para uma outra organizao, com redes maiores e interconectadas. Estas redes maiores foram chamadas internets e o seu tamanho cresceu a uma taxa exponencial. Quanto maior estas redes se tornavam, mais difcil elas ficavam para administrar, e logo ficou evidente que um protocolo de administrao de rede precisava ser desenvolvido. O primeiro protocolo usado foi o Simple Network Management Protocol (SNMP), proposto em 1989. Inicialmente era considerado uma soluo temporria, projetada para contornar dificuldades de administrao de internetworking, enquanto outros, maiores e melhores protocolos estavam sendo projetados. Destes projetos de protocolos dos anos 80 emergiram dois protocolos de administrao de rede diferentes. O primeiro era SNMPv2, que incorporou muitas das caractersticas do SNMP original (que ainda hoje o mais utilizado) como tambm alguns caractersticas somadas ao protocolo original, para consertar algumas falhas. O segundo era o Common Management Information Protocol (CMIP) que era melhor organizado e conteve muitos mais caractersticas que SNMPv1 ou v2. O protocolo SNMP s comeou realmente a ser largamente utilizado com a expanso das redes, na dcada de 90.

SNMP
Em resumo, SNMP, o Simple Network Management Protocol, um protocolo projetado para dar remotamente a um usurio a capacidade de administrar uma rede de computadores apurando e atribuindo valores em terminais e monitorando eventos da rede. Se baseia na arquitetura clssica de cliente/servidor, onde o programa cliente (chamado de gerente) faz conexes ao programa servidor (chamado de agente), presente nos ns da rede, trazendo informaes ou modificando o status da base de dados (chamada de MIB) do agente. Isso ser mostrado com mais calma adiante. uma aplicao, e portanto roda na camada 7 do modelo OSI (Aplicaes). Por se basear em TCP/IP, totalmente compatvel com a Internet. O protocolo foi definido na RFC 1157. O seu funcionamento muito simples: troca informaes da rede atravs de mensagens, tecnicamente conhecidas como Unidades de Dados de Protocolo (ou PDU). A mensagem (PDU) pode ser encarada como um objeto que contm variveis que tm nomes e valores. A PDU tambm contm informaes de autenticao do gerente (manager), para que o agente saiba que foi realmente o gerente que solicitou ou modificou dados de sua MIB. H quatro tipos de PDU que o protocolo SNMP emprega para monitorar uma rede: duas lidam com a leitura de dados dos terminais (get), uma lida com a atribuio de valores aos dados dos terminais (set), e a ltima, o trap, usada para monitorar eventos de rede como o ligamento ou o desligamento de um terminal da rede. Veremos as mensagens com mais detalhes adiante. Ento, se um usurio precisa saber se um terminal est ligado rede, ele usaria SNMP para enviar uma PDU de leitura (get) a este terminal. Se o terminal estiver conectado rede, o usurio receberia de volta a PDU (get-resposnse), com o valor "sim, o terminal est conectado". Se o terminal estivesse desligado, o usurio receberia um pacote enviado pelo terminal que est sendo desligado informando sobre o desligamento. Esta ltima seria uma PDU de trap.

A Composio do SNMP
O protocolo composto por 3 elementos: a MIB, o manager (gerente), e o agent (agente). Pelo uso de variveis privadas na MIB, agentes de SNMP podem ser feitos para uma grande variedade de dispositivos, como pontes, gateways, e roteadores. As definies de variveis da MIB suportadas por um agente particular so estruturadas seguindo o padro SMI (Structure of Management Information) e esto incorporadas em arquivos descritores, escritos em formato de Abstract Syntax Notation One (ASN.1). Esses arquivos tambm so disponibilizados para o gerente da rede, para que ambos agente e gerente conheam as variveis da MIB e seu uso. MIB MIB significa Management Information Base (Base para Administrao de Informaes). Ela contm um conjunto padro de dados estatsticos e de controle, descrevendo o status do agente. Esse conjunto de dados padro pode ser estendido a valores especficos, com a construo de uma MIB privada, definida pelo usurio ou pelo vendedor do hardware. A MIB estruturada como uma rvore. No topo da rvore est disponvel a informao mais geral sobre uma rede. Cada ramo da rvore entra com mais detalhes numa rea de rede especfica, com as folhas da rvore to especficas quanto a MIB pode ficar. As folhas da rvore so as variveis propriamente ditas, e so normalmente chamadas de objetos. A rvore MIB comea no seguinte ramo da rvore ASN.1: {iso(1) identified-organization(3) dod(6) internet(1) mgmt(2) mib2(1)} Ou alternativamente, {1 3 6 1 2 1}. Veja a figura abaixo:

Figura 1

A verso corrente da MIB TCP/IP a MIB II (SNMPv2) e est definida na RFC-1213. Ela divide as informaes que o dispositivo TCP/IP deve conter em dez categorias principais, e cada objeto deve ser includo em uma dessas classes. So 175 os objetos definidos nesta MIB: Categoria System Interfaces Addr-Translation IP ICMP TCP UDP EGP Informao Nome, localizao e descrio do equipamento Interfaces de rede e o trfego medido Traduo de endereos Estatsticas de pacotes IP Estatsticas de mensagens ICMP recebidas Algoritmos TCP, parmetros e estatsticas Estatsticas de trfego UDP Estatsticas de trfego do protocolo do Gateway exterior

Transmission SNMP

Reservado para MIBs especficas para mdia Estatsticas de trfego SNMP

Apenas as duas ltimas categorias foram especificadas pelo SNMP v2. As oito anteriores j existiam na verso 1, como mostra a figura 1 acima. H s uma rvore MIB definida pela ISO. Porm, parte desta rvore tem sees para extenses especficas de vendedores. Normalmente cada rede especfica de vendedores tem sua prpria MIB que contm seus prprios nomes de variveis (por exemplo, a IBM tem sua prpria MIB, como tem a Sun, HP, etc..). Embora os nomes das variveis possam ser diferentes, as informaes contidas em cada rvore MIB geralmente a mesma. Os objetos de uma rvore MIB podem conter valores do tipo inteiro, string, ou at mesmo uma tabela de valores (verso 2). Agente O agente deve estar presente em cada n da rede administrada por SNMP. Muitos vendedores de software UNIX incluem o suporte a agente de SNMP em seu software para terminais. Ele coleciona informao da rede e do terminal como especificado no MIB. Muitos agentes de domnio pblico esto disponveis. Um trabalho de programao comum estender um agente para realizar as necessidades especficas de sua rede e esta tarefa bastante direta dados os recursos certos. Interessante so os chamados agentes proxy. Eles so utilizados quando h componentes no compatveis com o protocolo SNMP. Os agentes so responsveis por se comunicar com esses dispositivos usando algum protocolo no padro, e repassa as informaes para os gerentes. O agente proxy na verdade a representao de Remote Monitoring, ou RMON. importante ressaltar que um agente no necessariamente um computador. Muitos roteadores, pontes e perifricos so capazes de rodar um processo de gerncia SNMP. Gerente

O gerente fica situado nos computadores servidores da rede. Seu papel principal requisitar e receber dos agentes informaes necessrias para a administrao da rede. Novamente, h muitos softwares de gerentes disponveis.

Os Padres do Protocolo SNMP


O protocolo SNMP pode ser encarado como o conjunto de 3 padres: um padro para o formato de mensagens, um conjunto padro de objetos gerenciados e um modo padro de adicionar objetos usando objetos j existentes e outros novos para resolver casos especficos. Padro de formato de mensagens : O padro SNMP define 4 tipos bsicos de PDUs. O SNMPv2 incluiu mais dois tipos. Veja a tabela abaixo com os tipos de mensagens e uma breve descrio de cada uma: Mensagem GetRequest Get-Next-Request Get-Bulk-Request Set-Request Inform-Request Trap Descrio L o valor de uma ou mais variveis L o valor da varivel seguinte Busca uma tabela Atualiza uma ou mais variveis Confirmao do recebimento da PDU de trap Aviso de trap do agente para o gerente

A PDU de trap foi atualizada na verso 2, pois na primeira verso, no havia confirmao do recebimento da mensagem por parte do gerente Isso foi reparado na verso 2 com a criao da PDU Inform-Request. Nessa verso, foi criada a PDU Get-Bulk-Request para possibilitar a leitura de uma tabela. Deve-se lembrar que para cada PDU de request mandada pelo gerente, h uma correspondente PDU de response mandada pelo agente.

As mensagens so transmitidas usando a sintaxe de transferncia ASN.1. Padro de objetos gerenciados: A lista de valores que um objeto suporta geralmente relacionada MIB. A MIB padro inclui vrios objetos para medir e monitorar a rede IP, a atividade TCP, roteadores IP, etc. Padro de Extensibilidade: Pode ser discernido facilmente que SNMP ficou proeminente principalmente por sua habilidade para aumentar o conjunto padro de objetos da MIB com valores novos especficos para certas aplicaes e dispositivos. Conseqentemente, podem ser acrescentadas novas funcionalidades continuamente ao SNMP, desde que um mtodo padro tenha sido definido para incorporar a mesma funcionalidade em dispositivos agentes e gerentes da rede. Isto realizado por um processo normalmente chamado de "compilar" uma MIB nova que permite ao usurio somar novas definies de MIB ao sistema. Estas definies normalmente so providas atravs de vendedores de equipamentos de rede em arquivos de texto especialmente formatados usando a sintaxe ASN.1. ASN.1: ASN.1 uma linguagem para a definio de objetos, com regras para a codificao da informao de modo a minimizar o nmero de bits necessrios para transmiti-la. A sintaxe bem extensa, e o protocolo SNMP utiliza parte dela. Por exemplo, somente cinco tipos de dados so permitidos: integer, bit string, octet string, null e object identifier. Os tipos boolean e real no so permitidos. A partir dos tipos primitivos citados acima, podem ser construdos objetos mais complexos. A linguagem permite inclusive a criao de macros. A converso dos valores para uma seqncia de bits feita seguindo a sintaxe de transferncia do ASN.1, e no possibilita ambigidades. Primeiro, formado um byte para informar qual a tag; em seguida um byte informa o nmero de bytes da informao; e por fim vm os

dados propriamente ditos, obedecendo naturalmente ao nmero de bytes informado anteriormente.

SNMPv2
Vrios problemas foram consertados na release mais nova de SNMP, SNMPv2, definida na RFC 1448. Esta verso permite a especificao de variveis com mais detalhes, inclusive com o uso de uma tabela de estrutura de dados para recuperao de dados mais facilmente. Tambm foram includas duas novas PDUs, como j foi citado na seo Padres do SNMP com detalhes. Na realidade, foram somadas tantas caractersticas novas que as especificaes para SNMP se expandiram de 36 pginas (com v1) para 416 pginas com SNMPv2. Alguns podem discutir que com SNMPv2 o protocolo perdeu sua simplicidade, mas o fato que essa mudana do SNMP era necessria. Na questo de segurana houve muitos avanos. Um notvel foi o emprego do tcnicas criptogrficas na transmisso das passwords de autenticao do manager, dificultando o acesso de intrusos. A MIB foi melhorada para MIB-II, como ser explicado mais adiante, incorporando muito mais objetos padro, passando ao total de 175. Novas categorias para os objetos tambm foram criadas. SNMPv2 porm, s est vivo teoricamente. SNMPv2 falhou porque seus criadores (Caso, McCloghrie, Rosa, e Waldbusser) no puderam concordar em vrios pontos chave do protocolo e tambm porque ficou complexo demais, em contra posio ao SNMP original. difcil encontrar agentes que suportem totalmente o padro v2. Muitos agentes apiam as extenses de segurana, contudo oferecendo-as verso 1. Em 1997 foi lanado o SNMPv3, com mais avanos na questo de segurana. Mas ainda no est sendo utilizado.

As Vantagens de SNMP
A vantagem maior sua popularidade. Agentes SNMP esto disponveis para dispositivos de rede que variam de computadores, pontes, modems, at impressoras. O fato que SNMP existe com tal apoio d crena considervel razo para sua existncia; SNMP se tornou interopervel. E o protocolo s pode ser utilizado em tantos tipos diferentes de dispositivos porque simples. E concentra a maior parte do processamento na mquina do manager, permitindo que os ns da rede utilizem o protocolo mesmo no tendo grande poder de processamento. Alm disso, para se usar SNMP no difcil, haja visto que seu projeto simples. Conseqentemente fcil de implementar em uma rede grande, j que ele no leva muito tempo para configurar e no exige muito processamento nos ns da rede. Tambm, seu projeto simples torna factvel (embora no imediato) para um usurio programar variveis que ele gostaria de estar monitorando, pois cada varivel contm apenas as seguintes informaes: - o nome da varivel - os tipos de dados da varivel (inteiro, string, etc.) - se a varivel somente de leitura ou de leitura e escrita - o valor da varivel O resultado lquido desta simplicidade um gerente de rede que fcil de implementar e que tambm no impe muito overhead em uma rede existente. Expansibilidade outro benefcio de SNMP. Por causa de seu projeto simples, fcil para o protocolo ser atualizado de forma que ele possa ser adequado s necessidades de usurios no futuro. E como os agentes de SNMP podem ser estendidos para cobrir dados de dispositivos especficos, SNMP pode assumir numerosos trabalhos especficos para classes de dispositivos como impressoras, roteadores, e pontes, provendo um mecanismo padro de controle e monitoramento de rede. Existe um mecanismo claro para atualizar o programa cliente de administrao de rede para interfacear com

agentes de capacidades especiais. Esse mecanismo o uso de arquivos usando Anotao de Sintaxe Abstrata (ASN.1), como j foi mencionado. Outro ponto importante, que com a implementao do protocolo SNMP, componentes de redes, locais ou no, podem ser monitorados e gerenciados, em princpio, igualmente.

As Desvantagens do SNMP
SNMP no de maneira nenhuma um protocolo de gerncia de rede perfeito, tem suas falhas. Contudo, por causa de seu projeto flexvel, a maioria destas deficincias podem ser contornadas. A primeira deficincia do protocolo SNMP que tem algumas grandes falhas de segurana, que podem dar acesso a intrusos da rede informaes que transitam pela mesma. Intrusos tambm poderiam desligar alguns terminais. A soluo para este problema simples. Por causa da expansibilidade do SNMP, a mais recente verso de SNMP, SNMPv2, somou alguns mecanismos de segurana que ajudam a combater os 3 principais problemas de segurana: privacidade de dados (prevenir os intrusos de ganhar acesso a informao levadas pela rede), autenticao (impedir os intrusos de enviar falsos dados pela rede), e controle de acesso (que restringe acesso de variveis particulares a certos usurios, removendo assim a possibilidade de um usurio derrubar a rede acidentalmente). Na verdade, SNMP prov pouco suporte para esquemas de autenticao. Ele suporta apenas um esquema de duas passwords. Uma password pblica permite ao manager pedir o valor de variveis (get), e outra password privada permite ao manager fixar valores de variveis (set). Essas passwords so chamadas communities, e todo dispositivo conectado numa rede gerenciada por SNMP deve ter essas duas communities configuradas. Sempre ao menos uma das communities est presentes em cada mensagem do manager para o agente, mas descrita sem nunhuma proteo, como texto simples, propiciando falhas de segurana. No difcil um intruso descobrir as passwords e influir no funcionamento da rede. Alm da questo da segurana, SNMP to simples que a informao com a qual ele lida no detalhada ou bem-organizada o bastante

para suportar redes muito grandes. Isto principalmente devido rpida criao do SNMP, pois ele nunca foi pretendido para conduzir administrao de rede no ano 2000. Mesmo assim, o protocolo mais utilizado atualmente. Outros problemas podem ser citados: o protocolo no muito eficiente, pois h a transmisso de muitos dados desnecessrios; a organizao das variveis na rvore MIB tambm no muito eficiente. Alm, por usar endereamento IP, se h um problema de roteamento na rede e um dispositivo no pode ser alcanado, impossvel monitor-lo ou reconfigur-lo.

Implementao
Como implementar o protocolo SNMP uma questo encontrada por muitos administradores de rede atualmente. O primeiro passo implementar comunicao por TCP/IP, geralmente dando a cada n da rede um endereo IP diferente. O passo seguinte adquirir (ou programar) softwares para o agente e o gerente, onde ambos geralmente j devem vir com interface grfica para facilitar a configurao e a visualizao dos dados. Os agentes devem ser instalados em cada n da rede, enquanto o gerente deve ser instalado em mquinas das quais se deseja monitorar a rede. Da geralmente s seguir as instrues dos programas para configurar a rede SNMP, especificando as MIBs. Softwares Para Linux, um dos mais populares o CMU-SNMP, que prov toda a estrutura para montar um sistema SNMP. Uma ferramenta interessante tambm o MRTG que representa graficamente os dados mandados pelos agentes aos gerentes. Um similar o Router-Stats. Ferramentas mais completas so oferecidas para manter e monitorar configuraes distintas de grandes redes. Por exemplo, a HP oferece o pacote Open-View e a Sun oferece o Sun-Net Manager. Ambas so pagas. De domnio pblico, uma soluo o programa Scotty.

Existem muitos outros pacotes interessantes, como o HNMS, SNMX, NOCOL, XSNMP, Snmpman. Existem tambm muitos utilitrios para MIB. Compiladores, como o SMIC, o SMICNG e o SNACC; browsers como o Tk/Tcl Mib Browser; MIBs especficas como as da Cisco, IBM, etc. H tambm linguagens de programao especficas para SNMP, como o SNMPPerl. Agentes e gerentes podem ser programados com diversas linguagens, como C ou at mesmo Java, usando pacotes especficos como JMGMT, JMAPI, JDMK. Mas a maneira mais fcil de se fazer um agente customizar um agente extensvel.

Concluses
SNMP um protocolo til, embora seja possvel fazer muitas tarefas que ele faz usando ferramentas como netstat, ping, telnet e rlogin. A grande chave de seu sucesso seu uso disseminado, dificultando que outros protocolos estabeleam uma base instalada que possa fazer frente ao SNMP. muito rpido, pois o gerente no precisa fazer um login no agente e estabelecer uma conexo TP/IP para receber seus dados. Por estabelecer uma espcie de API de redes, programas de propsito geral podem ser escritos, independente do dispositivo em que ele vai rodar. Isso tambm foi vital para o sucesso do SNMP. Pode ser bastante aprimorado ainda, pois h muita pesquisa e trabalhos sobre o protocolo. Mas pode haver muita resistncia para essas mudanas serem implementadas. Vide SNMP v2. Uma rede a ser gerenciada com SNMP deve preferencialmente ter agentes em todos os ns ou agentes proxy. Numa rede grande, ou mesmo numa muito pequena, isso pode no acontecer, dificultando a gerncia e a soluo de problemas. O protocolo ASN.1 para transferncia e sintaxe permite que mquinas de diversos vendedores comuniquem-se livremente. Mas o protocolo

complicado e no permite a programadores de nvel mdio uma criao rpida de variveis.

Questes
1 - Quais so os 3 elementos da rede SNMP e onde se localizam? O agente, nos ns da rede monitorada. O gerente, nos terminais de onde se deseja monitorar a rede. A MIB, em todas as mquinas da rede. 2 - Quais so os quatro tipos de mensagens e para que eles servem? Se o gerente quer buscar dados do agente, ele manda uma mensagem de get ou get-next. Se o gerente quer mudar os dados do agente, a mensagem de set. Se o agente precisa informar a ocorrncia de um evento, ele manda uma mensagem de trap. 3 - Qual a principal deficincia do protocolo SNMP v1? A principal falha no quesito segurana, pois muito vulnervel a invases. 4 - Cite 3 vantagens do protocolo SNMP. Simplicidade, popularidade, expansibilidade. Podem ser citadas tambm velocidade e interoperabilidade entre mquinas de diversos fabricantes. 5 - O que so agentes proxy? So agentes responsveis por elementos da rede que no so capazes de usar o protocolo SNMP.

Links
SNMP Research International, Inc - http://www.snmp.com/ SNMPWorld.com - http://www.snmpworld.com/

SNMP & CMIP: An Introduction http://www.inforamp.net/~kjvallil/t/snmp.html SNMP at Twente University - http://snmp.cs.utwente.nl/ The Simple Times - http://www.simple-times.org Net Management: what it is and what it isn't http://www.sce.carleton.ca/netmanage/NetMngmnt/NetMngmnt.html Network Management & Monitoring with Linuxhttp://www.develnet.es/~david/papers/snmp/ SNMP Overview - http://www.ddri.com/Doc/SNMP_Overview.html FAQ - ftp://rtfm.mit.edu/pub/usenet/comp.protocols.snmp/ Tanenbaum, Andrew. Computers Networks. New Jersey: Prentice Hall, 1996.