Ferramentas de gestão de rede Adriano Lhamas, Berta Batista, Jorge Pinto Leite Maio de 2007
Ferramentas de gestão de rede Necessidade O Internet Activities Board recomenda que todas as implementações IP e TCP possam ser geridas por rede Há uma crescente necessidade de centralizar a gestão de qualquer dispositivo 2
Ferramentas de gestão de rede OSI CMIS Common Management Information System OSI CMIP Common Management Information Protocol CMOT CMIP sobre TCP/IP SNMP (Simple Network Management Protocol) 3
Simple Network Management Protocol RFC 1157 (histórica) Constituintes Estações de Gestão de rede Executam aplicações que controlam os elementos de rede Solicitam informações sobre os dispositivos monitorizados aos elementos de rede Elementos de rede São os hosts, gateways, routers, etc. Executam agentes responsáveis pela recolha da informação solicitada pelas estações de gestão de rede 4
Network management model Network management does not have an internet or transport layer protocol Defines application layer protocol using TCP/IP transport layer protocol Based on client-server model; names changes Manager == client; run by network manager Agent == server; runs on managed device Manager composes requests for agent; agent composes response and returns to manager 5
O SNMP é usado para as trocas de informação entre as estações e os agentes Foi desenhado para minimizar o trabalho efectuado pelos agentes, para ter um peso mínimo no processamento 6
TCP/IP standard is Simple Network Management Protocol (SNMP) Defines all communication between manager and agent Message formats Interpretation of messages Data representation 7
data representation SNMP uses Abstract Syntax Notation.1 (ASN.1) Platform-independent data representation standard Strongly-typed Can accommodate arbitrary data types 8
data representation Example - integer representation Length octet - number of octets containing data Data octets - value in big-endian binary 9
Fetch-store paradigm Manager-agent interaction based on fetch-store paradigm Fetch retrieves a value from the agent Store changes a value on the agent Any other information is extracted from the fetched data and displayed by the manager Fetch used to monitor internal data values and data structures Store used to modify and control data values and data structures; also used to control behavior by setting "reboot" object 10
operations Get (fetch) retrieves value of object Set (store) stores new values into object Get-next retrieves next object (for scanning) 11
Só duas operações são efectuadas pelos agentes Alteração (set) Inspecção (get) Limita o número de funções essenciais realizadas pelos agentes a apenas duas (a rever mais à frente ) Permite um protocolo mais simples A semântica dos comandos de gestão é cada vez mais complexa e sempre crescente, o que poderia implicar um protocolo pesado no processamento A estratégia é que a monitorização do estado da rede é efectuada nas estações que requisitam apenas e só a informação necessária aos agentes Estas funções utilizam o porto 161 12
Tipicamente, as mensagens SNMP utilizam UDP Porquê? Contudo, os mecanismos associados ao SNMP são suficientemente latos para permitir a utilização numa grande variedade de protocolos RFC1420 SNMP sobre IPX RFC1419 SNMP sobre AppleTalk RFC1418 SNMP sobre OSI RFC4789 SNMP sobre redes IEEE 802 13
A arquitectura SNMP admite a definição de um grande número de relações entre as entidades que participam no protocolo Entidades de aplicação (application entities) Residentes nas estações e nos elementos que comunicam entre si Entidades de protocolo (protocol entities) Processos executados pelas entidades Uma relação entre um agente SNMP com algumas entidades de aplicação é chamado uma comunidade SNMP, com um designação própria e inequívoca 14
Esquema de autenticação Conjunto de regras que valida se uma mensagem SNMP enviada por um Entidade SNMP pertence a uma Comunidade SNMP O esquema de autenticação é efectuado por uma função designada Serviço de Autenticação 15
O conjunto de sistemas monitorizados na rede constitui a MIB (Management Information Base) Uma vista da MIB é o conjunto ou parte do conjunto de objectos da MIB que estão associados a um determinado elemento monitorizado Cada elemento da MIB possui um modo de acesso associado, READ-ONLY ou READ-WRITE Perfil de comunidade SNMP Vista SNMP com um determinado modo de acesso Associado a uma política de acesso SNMP 16
Identifying objects with SNMP SNMP is not tied to any particular set of data structures Operates on a collection of related objects identified in a Management Information Base (MIB) Objects in a MIB are identified by ASN.1 naming scheme Hierarchical naming structure Authority for new names delegated as in DNS Example - count of incoming IP datagrams: iso.org.dod.internet.mgmt.mib.ip.ipinreceives For efficiency, each name has a numeric equivalent; e.g.: 1.3.6.1.2.1.4.3 17
Podemos pensar no SNMP como um conjunto de objectos e protocolos residentes num agente que é executado num dispositivo que se pretende observar em termos de funcionamento na rede Objectos estatísticos Ilustram níveis de performance (por exemplo, contagem de byes enviados e recebidos) Objectos de configuração Permitem alterar a configuração do dispositivo (por exemplo, permitir ou inibir protocolos de encaminhamento) Objectos de aviso (trap) utilizam o porto 162 (no slide 6 deveriam então estar 3 funções ) Valores pré-definidos enviados à estação de gestão quando alterações críticas ocorrem (por exemplo, um link ir abaixo) 18
19
Apesar de haver um conjunto de RFC s que definem o formato das MIB s, SMI (Strutured Management Information formato das mensagens SNMP), Traps (um número bem determinado [6] de mensagens de aviso), etc., alguns fornecedores de aplicações SNMP utilizam ou acrescentam formatos próprios 20
Olhando apenas para as standards, temos um conjunto de cinco funções SNMP GetRequest Enviado pela estação de gestão Solicita um ou mais objectos a um dispositivo GetNextRequest Enviado pela estação de gestão Permite percorrer a tabela dos objectos geridos num dispositivo Os elementos são guardados de forma que a resposta a um Get seja usado como argumento de um GetNextRequest 21
SetRequest Enviado pela estação de gestão Força um valor num objecto do dispositivo GetResponse Enviado pelo agente Pode confirmar o pedido enviado pela estação, ou uma informação de erro Trap Enviada pelo agente Contém informação não solicitada 22
SetRequest GetResponse Trap 23
Formato da mensagem Request e Response O PDU Type Trap é utilizado quando um agente quer enviar informação não solicitada à estação de gestão 24
Formato da mensagem Trap A mensagem Trap é enviada após um PDU Type Trap a informar a alteração não prevista que ocorreu no dispositivo 25
Exemplo de uma MIB Um dispositivo pode ser nomeado como 1.3.6.1.2.1.1 OID (Object Identifier) O mesmo dispositivo pode ser nomeado como {mib-2 1} A zona Private (1.3.6.1.4) é onde os fornecedores colocam os dados privados A MIB II representa um descritor genérico para dispositivos sem necessidade de recorrer a MIB s privadas 26
Types of MIBs Very flexible structure MIBs defined for protocols, devices, network interfaces MIB I is original TCP/IP standard for protocol suite; MIB II extends that original version 27
Types of MIBs 28
Arrays in MIBs Some types of data - such as a routing table - is most naturally stored as an array ASN.1 supports variable length, associative arrays Number of elements can increase and decrease over time Each element can be a structured object Indexing is implicit Manager must know object is an array Manager must include indexing information as suffix 29
Arrays in MIBs Routing table is an array: ip.iproutingtable List of routing table entries is indexed by IP address To identify one value: ip.iproutingtable.iprouteentry.iproutenexthop.ipdest addr iprouteentry indicates indexing iproutenexthop is a field in a routing table entry IPdestaddr is 32-bit IP address 30
A estrutura de cada objecto é criada no formato ASN.1 (Abstract Syntax Notation 1) Cada campo de um objecto só assume valores bem determinados Caso exista uma MIB privada, poderão ser representados outros valores Na ausência de uma MIB privada, a estrutura é relativamente rígida mas poderosa, pois permite a utilização de macros para definições de datatypes (desde o SNMPv2) 31
SNMPv1 Poderoso mas com falhas no contexto actual Informações passadas em texto puro Tornou-se ineficiente para as necessidades de mensagens mais recentes Sem controlo (UDP!) de erro mensagens de Trap! Tipos de erro limitado (6) Não permite informação de estação de gestão a estação de gestão Gestão por pooling aos agentes torna-se ineficiente em grandes redes 32
SNMPv2 Acrescenta mais funções à estação de gestão GetBulkRequest Enviado pela estação de gestão Gere mais eficientemente grandes volumes de informação Notification Informa a ocorrência de determinada condição ou conjunto de condições InformRequest Estação a estação Report Nunca implementado Response Enviado pela estação de gestão ou pelo agente Aumenta o número de mensagens de erro para 19 Aumentou a segurança com a encriptação DES 33
SNMPv3 Mantém a semântica do SNMPv2 Prevê novos protocolos de operação SNMP EOS Define mecanismos de segurança RFC2570-76 Permite a configuração dinâmica do próprio agente O agente passa a ser um nó próprio da MIB Mantém a encriptação DES mas acrescentou uma identificação própria na encriptação das mensagens 34
Em resumo O SNMP é uma poderosa ferramenta de gestão de rede É o standard de-facto Como o CMOT está atrasado, prevê-se que nos tempos mais próximos continuará a ser o SNMP utilizado na gestão de redes Tem pouco peso na performance da rede Cada vez mais dispositivos suportam agentes SNMP A versão mais utilizada é a SNMPv3 que acrescenta funções de segurança 35