Gerenciamento de rede Gerenciamento de rede • Gerência proativa, • Importância das redes, • Complexidade das redes, – muitos componentes de interação que devem ser monitorados, controlados e gerenciados, • Redes eram fáceis de gerenciar, • Primeira grande queda da ARPANET em 1980 (RFC 789). 5 de novembro de 2015 Profº André Luiz Silva 2 Cenários • Detecção de falha em uma interface em um hospedeiro ou roteador. – Aumento de erros de soma de verificação em quadros. • Monitoração de hospedeiro. – Ativos e operacionais. • Monitoração de tráfego para auxiliar o oferecimento de recursos. – Monitorar padrão de tráfego, – Desempenho melhor sem custos, – Nível de congestionamento ultrapassando determinado nível. 5 de novembro de 2015 Profº André Luiz Silva 3 Cenários • Detecção de mudanças rápidas em tabelas de roteamento. – Instabilidade de roteadores, – Roteador mal configurado. • Monitoração de SLA (Service Level Agreements) – Acordo de Nível de Serviços. – Contratos que definem parâmetros específicos de medidas e níveis aceitáveis de desempenho do provedor da rede. – Interrupção de serviços, latência, vazão. • Detecção de intrusos. – Grande número de pacotes SYN. 5 de novembro de 2015 Profº André Luiz Silva 4 Modelo de gerenciamento de rede • Criado pela International Organization Standardization (ISO). • Cinco áreas de gerenciamento: – Gerenciamento de desempenho, – Gerenciamento de falhas, – Gerenciamento de configuração, – Gerenciamento de contabilização, – Gerenciamento de segurança. 5 de novembro de 2015 Profº André Luiz Silva 5 Gerenciamento de desempenho • Qualificar, medir, informar, analisar e controlar o desempenho (por exemplo utilização e vazão) de diversos componentes da rede. – Enlaces, roteadores, hospedeiros. – Abstrações fim-a-fim como um trajeto pela rede. • Abordagem em longo prazo. 5 de novembro de 2015 Profº André Luiz Silva 6 Gerenciamento de falhas • Registrar, detectar e reagir às condições de falhas na rede. – Interrupção de serviços, – Problemas em hardware, – Problemas em sistemas operacionais de roteadores. – Abordagem imediata, em curto prazo. 5 de novembro de 2015 Profº André Luiz Silva 7 Gerenciamento de configuração • Quais dispositivos fazem parte da rede, • Quais suas configurações de hardware e software. • O RFC 3139 oferece uma visão geral de gerenciamento e requisitos de configuração para redes IP. 5 de novembro de 2015 Profº André Luiz Silva 8 Gerenciamento de contabilização • Especificar, registrar e controlar o acesso de usuários e dispositivos aos recursos da rede. • Quotas de utilização, • Cobrança por utilização, • Alocação de acesso privilegiado a recursos. 5 de novembro de 2015 Profº André Luiz Silva 9 Gerenciamento de segurança • Controlar o acesso aos recursos da rede de acordo com alguma política definida, • Centrais de distribuição de chaves e autoridades certificadoras são componentes do gerenciamento de segurança. • O uso de firewalls é outro componente importante. 5 de novembro de 2015 Profº André Luiz Silva 10 Gerente de rede • Implementar a infraestrutura de gerenciamento de rede que lhe permita obter dados relativos aos componentes da rede. • Criar processos de tomada de decisão para reagir às informações obtidas. 5 de novembro de 2015 Profº André Luiz Silva 11 Gerenciamento de rede [Saydam, 1996]: “Gerenciamento de rede inclui o oferecimento, a integração e a coordenação de elementos de hardware, softwares e humanos, para monitorar, testar, consultar, configurar, analisar, avaliar e controlar os recursos da rede, e de elementos, para satisfazer às exigências operacionais, de desempenho e de qualidade de serviço em tempo real a um custo razoável” 5 de novembro de 2015 Profº André Luiz Silva 12 O que é SNMP • • • • Gerencia proativa Baseada em IP Sucessor do SGMP Gerencia inclusive impressoras, modems, fontes de energia, sensores, etc Versões e RFCs • SNMP Version 1 (SNMPv1) – RFC 1157 – Segurança baseia-se em comunidades (senhas) existindo três tipos diferentes: read-only, read-write e traps. • SNMP Version 2 (SNMPv2c) – RFC 1905, RFC1906 e RFC1907 – Informes • SNMP Version 3 (SNMPv3) – RFC 1905, RFC 1906, RFC 1907, RFC2571, RFC2572, RFC2573, RFC 2574 e RFC2575 – Suporte mais rigoroso para a autenticação e comunicação privativa entre as entidades. Simple Network Management Protocol • SNMP é um sistema que providencia facilidades para gerenciar e monitorar recursos de rede • Componentes do SNMP: – Agentes SNMP – Gerente SNMP – Management Information Bases (MIBs) – Protocolo SNMP SNMP agent SNMP manager SNMP protocol messages SNMP agent SNMP agent Simple Network Management Protocol • O Agente SNMP é um software residente nos equipamentos de rede, como roteadores, computadores, impressoras, etc… que mantém bases de dados com informações sobre suas configurações e status corrente • As informações nas bases de dados são descritas pelas Management Information Bases (MIBs) • Um Gerente SNMP é um programa que contacta os agentes SNMP solicitando informações sobre o status dos equipamentos que estão sendo monitorados. Podem também modificar algum parâmetro nestes equipamentos • O protocolo SNMP é uma protocolo da camada de aplicação utilizado pelos agentes e gerentes para receber e enviar dados SNMP • Interações no SNMP Management Station Managed System SNMP Manager Process SNMP Agent Process SNMP UDP UDP IP IP IP Network Traps SNMP messages Data Access objects Traps Replies Queries SNMP MIB Relacionamento entre as entidades consultas respostas traps Gerente Agente informes confirmações Exemplos de MIBs • • • • • • ATM MIB Frame Relay DTE Interface Type MIB BGP Version 4 MIB Radius Authentication Server MIB Mail Monitoring MIB DNS Server MIB Gerenciamento de hosts • Host Resources MIB (RFC 2790) – Espaço em disco – Memória – Número de usuários do sistema – Processos em execução – Softwares instalados Remote Monitoring - RMON • Oferece a NMS dados estatísticos sobre uma LAN ou WAN inteira, no nível de pacotes. • Análise pode ser efetuada off-line Modelo de comunicação Traps enviadas para a porta 162 na NMS. Solicitações do SNMP enviadas da NMS para o agente por meio da porta 161. Respostas as solicitações enviadas pelo agente para a porta 161, na NMS. Comunidades • Não existe diferença entre uma string de comunidade e a senha que você usa para acessar sua conta no computador • É possível criar diferentes senhas para acesso a diferentes conjuntos de objetos • Deve-se usar as mesmas recomendações adotas a outras senhas • Deve-se posicionar a NMS somente atrás de firewall Árvore MIB Tudo o que tiver filhos será uma sub-árvore Tudo o que não tiver filhos será chamado folha (nó de folha) Internet Directory Mgmt OBJECT IDENTIFIER ::= { isso org(3) dod(6) 1} OBJECT IDENTIFIER ::= { internet 1 } OBJECT IDENTIFIER ::= { internet 2} Operações SNMP • Get, Get-next, Get-response. • Trap. • Notification (SNMPv2 e SNMPv3c). – Esforço de padronização do PDU sendo igual ao do get e do set. • Inform (SNMPv2 e SNMPv3c). – Confirmação de recebimento. • Report (SNMPv2 e SNMPv3c). – Problemas com o processamento de mensagens. • Get-bulk (SNMPv2 e SNMPv3c). – Recupera uma grande seção de uma tabela de uma só vez independentemente da instância. Traps • Traps são mensagens assincronas enviadas por um agente para um gerente. • As traps normalmente são eventos críticos. • As traps incluem: – linkDown: Interface desativada. – coldStart – Reinicialização inesperada (por exemplo um crash do sistema). – warmStart – Reinicialização do SO. – linkUp – O oposto do linkDown. – SNMP - Falha de autenticação. –… Problemas na Camada de Rede Componentes da camada de rede • A camada de rede na Internet possui três componentes mais importantes: – O componente de roteamento • Determina o caminho de uma origem até o seu destino – O protocolo IP – Componente para comunicação de erros e de informações (ICMP – Internet Control Message Protocol) 05/11/2015 Profº André Luiz Silva 28 Formato do datagrama 05/11/2015 Profº André Luiz Silva 29 Campos do Protocolo IP Número da versão Controla a versão do protocolo Comprimento do cabeçalho O cabeçalho tem uma parte fixa de 20 bytes e uma parte opcional de comprimento variável Tipo de serviço Diferencia os diferentes tipos de datagramas IP como, por exemplo, baixo atraso, alta vazão ou confiabilidade Comprimento do datagrama Comprimento total do datagrama, tanto o cabeçalho quanto os dados. O comprimento máximo é de 65.536 bytes Identificação Permite ao host destino verificar a que datagrama o fragmento recém chegado pertence. Todos os fragmentos possuem um mesmo valor em identificação Flags DF: Informa aos gateways que não devem fragmentar o datagrama MF: Todos os fragmentos menos o último possuem este bit ativado Deslocamento de fragmentação Informa a posição do fragmento no datagrama Tempo de vida É um contador utilizado para determinar o tempo de Vida do pacote. Este valor e decrementado em cada passagem por um roteador Protocolo A camada de rede precisa saber o que fazer com o datagrama. O campo protocolo informa a que processo da camada de transporte, pertence o datagrama (RFC1700) Soma de verificação de cabeçalho Detecção de erros de cabeçalho. Lembre-se que um cabeçalho pode se alterar nos gateways Endereço ip de fonte e destino endereços origem e destino - números IPs Opções Permite que o cabeçalho IP seja ampliado com informações não presentes no projeto original Dados Carga útil 05/11/2015 Profº André Luiz Silva 30 Encapsulamento • Quadros Ethernet não podem conter mais do que 1500 bytes de dados. • A quantidade máxima de dados que um quadro da camada de enlace pode carregar é denominada Unidade Máxima de Transmissão – MTU. • Cada datagrama IP será encapsulado dentro de um quadro da camada de enlace para ser transportado para o roteador seguinte Encapsulamento na Camada de Enlace A MTU do protocolo da camada de enlace determina o limite para o comprimento de um datagrama IP. 05/11/2015 Profº André Luiz Silva 32 Unidades Máximas de Transmissão • Problema: – Cada um dos enlaces podem ter MTUs diferentes – Como comprimir datagramas IPs de tamanho excessivo no campo de carga útil de um quadro da camada de enlace? 05/11/2015 Profº André Luiz Silva 33 Exemplos de MTUs 05/11/2015 Profº André Luiz Silva 34 Solução • Fragmentar os dados do datagrama IP em dois ou mais datagramas IPs. • Cada um destes datagramas menores é chamado de fragmento. • Fragmentos precisam ser reconstruídos antes que cheguem à camada de transporte no destino. – Tanto o TCP quanto o UDP esperam receber da camada de rede os segmentos completos e não fragmentos. Recapitulando ... • Quando o destino receber um datagrama ele precisará determinar se alguns destes datagramas são fragmentos de um datagrama original de tamanho maior. • O destino ainda precisa verificar se o fragmento é o último. • E finalmente, o destino precisa saber como reconstruir o datagrama original. 05/11/2015 Profº André Luiz Silva 36 Reconstrução do datagrama IP • Identificação. – O remetente incrementa um número de identificação para cada datagrama que envia, sendo o mesmo número para cada um dos seus fragmentos. • Flag. – O último datagrama tem um bit de flag ajustado para zero. • Deslocamento. – Especifica a localização exata do fragmento no datagrama IP original. Exemplo de fragmentação do datagrama IP datagrama de 4000 bytes MTU = 1500 bytes 1480 bytes no campo de dados offset = 1480/8 05/11/2015 tamanho ID fragflag offset =4000 =x =0 =0 Um grande datagrama se transforma em vários datagramas menores (fragmentos). tamanho ID fragflag offset =1500 =x =1 =0 tamanho ID fragflag offset =1500 =x =1 =1480 tamanho ID fragflag offset =1040 =x =0 =2960 Profº André Luiz Silva 4 - 38 IP - Fragmentação e remontagem 05/11/2015 Profº André Luiz Silva 4 - 39 Fragmentação do datagrama IP • A carga útil do datagrama é passada para a camada de transporte no destino somente após a camada IP ter reconstruído totalmente o datagrama IP original. 05/11/2015 Profº André Luiz Silva 40 Relacionamento dos protocolos com a camada de rede CAMADA DE TRANSPORTE CAMADA DE REDE 05/11/2015 Profº André Luiz Silva 41 Introdução • O principal protocolo da camada de rede é o IP. • O IP precisa de um protocolo denominado ARP para determinar o endereço físico (MAC) do próximo salto. • Durante o processo de entrega do datagrama, o IP chama os serviços do protocolo ICMP para controlar situações extraordinárias. 05/11/2015 Profº André Luiz Silva 42 Deficiência do IP • O IP fornece serviço de entrega de datagrama não confiável e sem conexão. – Otimizar o uso dos recursos da rede • Porém, o IP possui uma deficiência: – Falta de controle de erro. 05/11/2015 Profº André Luiz Silva 43 Mensagens de erro • O que acontece se o IP tiver que descartar um datagrama? – Não obteve uma rota para o destino final. – O TTL expirou. – Descarte de fragmentos de um datagrama por não ter recebido todos os fragmentos no tempo esperado. • Torna-se necessário notificar o host origem pois o IP não possui mecanismos nativos para a resolução dos problemas relatados acima. • O IP também carece de mecanismos de consulta. – Precisa determinar se outro host está ativo na rede. 05/11/2015 Profº André Luiz Silva 44 ICMP • O ICMP (Internet Control Message Protocol) foi criado para compensar as deficiências descritas anteriormente. • Podemos encará-lo como um parceiro do IP. 05/11/2015 Profº André Luiz Silva 45 Características do ICMP • Atua na camada de rede, porém, as mensagens que ele gera não passam diretamente para a camada de enlace, como era de se esperar. Ao invés disto, são encapsuladas dentro o campo de dados do IP antes de seguirem para a camada mais baixa. • O valor do campo protocolo no datagrama IP é 1 para indicar que o campo de dados IP é na verdade uma mensagem ICMP. 05/11/2015 Profº André Luiz Silva 46 Encapsulamento 05/11/2015 Profº André Luiz Silva 47 Tipos de mensagens – Reportando erros. – Mensagens de consulta. 05/11/2015 Profº André Luiz Silva 48 Reportando erros • Cinco tipos de erros são reportados pelo ICMP. 05/11/2015 Profº André Luiz Silva 49 ICMP Nota: O ICMP sempre reporta mensagens de erros ao host de origem. 05/11/2015 Profº André Luiz Silva 50 Destino inalcançável e Tráfego • Destino inalcançável. – Quando um roteador não consegue rotear um datagrama por inconsistências nas rotas. • Tráfego. – Falta de controle de fluxo e de congestionamento. • Continua transmitindo pacotes sem saber que o destino está congestionado. – O ICMP avisa a origem que o datagrama foi descartado. – Solicita ao host que diminua a velocidade de envio. 05/11/2015 Profº André Luiz Silva 51 Tempo excedido e Problema nos parâmetros • Tempo excedido. – Roteador recebe o datagrama com o valor do campo TTL igual a zero. – Os fragmentos gerados não chegam todos dentro do tempo limite. • Em ambos os casos mensagens ICMP são enviadas para a origem. • Problema nos parâmetros. – Erros nos cabeçalhos de um datagrama. • Erros de ambigüidades. 05/11/2015 Profº André Luiz Silva 52 Redirecionamento • Redirecionamento. – Roteadores utilizam tabelas dinâmicas. – Hosts utilizam tabelas estáticas. • Tabelas menores nos hosts melhora o desempenho. • Existem mais hosts do que roteadores atuando nas redes. • Mensagens ICMP de redirecionamento são enviadas de volta ao host de origem. 05/11/2015 Profº André Luiz Silva 53 Mensagens de consulta • Solicitação e resposta de eco. • Solicitação e resposta de Time-Stamp. – O tempo em que um datagrama viaja entre os roteadores. • Solicitação e resposta de máscara. • Solicitação e anunciação do roteador. – Hosts precisam conhecer os endereços dos roteadores conectados nas redes adjacentes. – Roteadores se anunciando na rede. 05/11/2015 Profº André Luiz Silva 54 ICMP Timestamp • Permite a um sistema perguntar a outro sobre o tempo corrente. – Usado para determinar a duração de temporizadores. • O valor retornado é o número de milissegundos desde a meianoite. André Luiz Silva 55 ICMP Timestamp • O transmissor preenche o campo Carimbo de tempo original e envia a requisição. • O receptor preenche o campo Carimbo de tempo recebido quando este é recebido e o Carimbo de tempo transmitido quando ele transmite a resposta. – A razão para a utilização de três campos é permitir que o transmissor compute separadamente o tempo em que o pacote levou para chegar ao seu destino e o tempo que ele levou para ser retransmitido. André Luiz Silva 56 ICMP Port Unreachable Error • Uma regra do UDP é que se ele receber um segmento e a porta destino não corresponder a porta de algum processo em execução, o UDP responde com uma mensagem de ICMP port unreachable. • No próximo slide nós forçamos uma menssagem de erro usando um cliente TFTP. André Luiz Silva 57 ICMP Port Unreachable Error André Luiz Silva 58 Encapsulamento André Luiz Silva 59 André Luiz Silva 60 Representação de dados Pergunta – a cópia direta de memória para memória resolve o “problema da comunicação” de dados entre agentes e gerentes? – Diferentes sistemas operacionais ou arquiteturas de computadores, possuem diferentes convenções de armazenamento e representação de dados. – Little-endian armazenam primeiramente os bytes menos significativos. – Big-endian armazenam primeiramente os bytes mais significativos. 05/11/2015 Profº André Luiz Silva 61 Representação de dados struct { char code; int x; } test; test.x = 256; test.code=‘a’ 05/11/2015 test.code test.x a 00000001 00000011 Profº André Luiz Silva test.code test.x a 00000011 00000001 62 Solução • Criar um método de representação independente da máquina, de sistema operacional e de linguagem: Uma linguagem de descrição de dados! • Tanto a SMI quanto a ASN.1 adotam esta alternativa. 05/11/2015 Profº André Luiz Silva 63 Representação de dados 05/11/2015 Profº André Luiz Silva 64 ASN.1 (Abstract Syntax Notation 1) • A ANS.1 oferece Regras Básicas de Codificação (Basic Encoding Rules – BER). – Abordagem TLV (tipo, comprimento e valor) para a codificação dos dados que serão transmitidos. Boolean Tipos de dados 05/11/2015 Profº André Luiz Silva Integer Bitstring Octet string Null Object Identifier Real 65 Codificação TLV 05/11/2015 Profº André Luiz Silva 66 Estrutura de Informações de Gerenciamento - SMI • SMI (Structure of Management Information) – Método para definir objetos gerenciados e seus comportamentos. • Como um dicionário que mostra a pronuncia e apresenta o significado – Agentes possuem uma lista de objetos por ele rastreados. – As MIBs (Management Information Base) podem ser consideradas como bancos de dados de objetos gerenciados. – Um agente pode implementar várias MIBs. Tipos de dados - Objetivo • Definir Objetos Gerenciados. • A MIB é uma especificação que define os objetos gerenciados que um fornecedor ou dispositivo aceita. 5 de novembro de 2015 Profº André Luiz Silva 68 Tipos de dados aceitos na SMI • INTEGER (32 bits) – Status operacional da interface • OCTET STRING – Representar endereços físicos • Counter (32 bits) de 0 à 2³² -1 (4.294.967.295), retorna a zero quando o valor máximo é alcançado • OBJECT IDENTIFIER – Decimal separado por pontos • NULL – Atualmente sem uso • SEQUENCE – Define listas de tipos de dados • SEQUENCE OF – Define um objeto dentro de uma sequence • IpAddress – Representa um endereço IPv4 • NetworkAddress – Idêntico ao IpAddress • Gauge – Contador que pode aumentar ou diminuir aleatoriamente. (Velocidade da interface) • TimeTicks – Tempo em centésimos de segundos • Opaque – Permite o armazenamento de qualquer codificação dentro de uma OCTET STRING Estrutura da MIB TORRADEIRA-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 DisplayString FROM RFC-1213; Epilogue Torradeira OBJECT IDENTIFIER ::= {enterprises 23955} OBJECT IDENTIFIER ::= {epilogue 2} torradeiraFabricante OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "O nome do fabricante da torradeira. Por exemplo, Torradeira Capaz." ::= {torradeira 1} torradeiraNomeModelo OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "O nome do modelo da torradeira. Por exemplo, Automatic Power.” ::= {torradeira 2} torradeiraControle OBJECT-TYPE SYNTAX INTEGER {up (1), down (2)} ACCESS read-write STATUS mandatory DESCRIPTION "Esta variável controla o status corrente da torradeira. Para ligar a torradeira (1), para desligá-la (2).” ::= {torradeira 3} MIBS • Uma MIB especifica o objeto gerenciado • Uma MIB é um arquivo de texto que descreve o objeto gerenciado utilizando a sintaxe ASN.1 (Abstract Syntax Notation 1) • ASN.1 é uma linguagem formal para descrever dados e suas propriedades • No Linux, Os arquivos MIB estão no diretório /usr/share/snmp/mibs – Multiplos arquivos MIB – MIB-II (definida na RFC 1213) define os objetos gerenciados nas redes TCP/IP Objetos Gerenciados • Cada objeto gerenciado e assinalado por um object identifier (OID) • O OID está especificado nos arquivos MIB • Um OID pode ser representado como uma sequência de inteiros separados por pontos decimais ou por strings de texto: • Example: – 1.3.6.1.2.1.4.6. – iso.org.dod.internet.mgmt.mib-2.ip.ipForwDatagrams • Quando um gerente SNMP requisita uma objeto, ele envia a OID para o agente SNMP Organização dos Objetos Gerenciados • Objetos gerenciados são root . organizados em uma árvore hierárquica e as OIDs iso(1) refletem a estrutura da hierarquia. org (3) • Cada OID repersenta um nó da árvore. dod (6) • A OID 1.3.6.1.2.1 internet (1) (iso.org.dod.internet.mgmt.m ib-2) está no topo da directory (1) mgmt (2) experimental (3) private (4) hierarquia para todos os objetos gerenciados na MIBII. mib-2 (1) • Fábricas de equipamentos de rede podem adicionar system (1) at (3) icmp (5) udp (7) snmp (11) objetos específicos na hierarquia. interface (2) ip (4) tcp (6) egp (8) transmission (10) ipForwDatagrams (6) Árvore das MIBs • Em 2004 já existiam mais de 100 módulos MIB especificados por fabricantes privados • A IETF adotou a estrutura de padronização de identificação de objetos que havia sido criada pela ISO • A inserção de nomes na árvore , ou seja, a obtenção de registro deve ser feita no IANA • Existem módulos associados a hardware como, por exemplo, system e interfaces e outros módulos orientado associados a alguns dos protocolos mais importantes das redes de computadores 05/11/2015 Gerência e Segurança em Redes de Computadores 74 Definição de um objeto gerenciado em uma MIB • Especificação do ipForwDatagrams na MIB-II. ipForwDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of input datagrams for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination. In entities which do not act as IP Gateways, this counter will include only those packets which were Source-Routed via this entity, and the SourceRoute option processing was successful." ::= { ip 6 } Protocolo SNMP • OS Gerentes SNMP e os Agentes SNMP comunicam-se utilizando o protocolo SNMP – Generalizando: Gerentes enviam queries e Agentes respondem – Exceção: Traps são inicializadas pelos Agentes. SNMP Versions • Três versões do SNMP são utilizadas atualmente: – SNMPv1 (1990) – SNMPv2c (1996) • Adicionou a função “GetBulk” • Adicionou o RMON (remote monitoring) – SNMPv3 (2002) • Maior segurança • Todas as versões continuam a ser utilizadas atualmente • Muitos agentes e gerentes SNMP suportam as três versões. Formato dos pacotes SNMP • Mensagens Get/Set SNMPv1: Version SNMP PDU Community Cleartext string that is used as a password PDU type, e.g.: 32: SNMPv1 Get 64: SNMPv2 Get Unique ID to match requests with replies Sequence of name-value pairs PDU Type Request ID Error Status Error Index Object 1, Value 1 Object 2, Value 2 ... Segurança SNMP • SNMPv1 usa strings de comunidades (community) em formato texto sem encriptação. • SNMPv2 tinha o objetivo de resolver problemas de segurança, (O “c” em SNMPv2c para “community”). • SNMPv3 possui vários aspectos de segurança: – Garantir que um pacote não foi modificado (integridade), – Garantir que uma mensagens vem de um local válido (autenticação), – Garantir que uma mensagem não pode ser lida por uma pessoa não autorizada (privacidade). Camada de transporte Introdução (Kurose) • A Camada de Transporte é uma peça central da arquitetura de rede em camadas • A sua função é a de fornecer serviços de comunicação diretamente aos processos de aplicação que rodam em hospedeiros diferentes • Neste capítulo nós veremos como esse princípio é implementado e quais são os protocolos existentes nesta camada 05/11/2015 Profº André Luiz Silva 81 Primeira função importante • Ampliar o serviço de entrega da camada de rede entre dois sistemas finais para um serviço de entrega entre dois processos da camada de aplicação que rodam nos sistemas finais • Questão: – Como duas entidades podem se comunicar de maneira confiável por um meio que pode perder ou corromper dados? 05/11/2015 Profº André Luiz Silva 82 Segunda função importante • Controle da taxa de transmissão de entidades de camada de transporte para evitar ou se recuperar de congestionamentos dentro da rede. – Quais são as causas e as conseqüências do congestionamento? – Quais são as técnicas de controle de congestionamento? 05/11/2015 Profº André Luiz Silva 83 Serviços da camada de transporte • Protocolos da camada de transporte fornecem comunicação lógica entre processos de aplicação que rodam em hospedeiros diferentes • Tudo se passa como se os hospedeiros estivessem conectados diretamente, quando, na realidade, existem inúmeros enlaces e roteadores entre eles. • Logo, a camada de transporte envia mensagens livre da preocupação com detalhes existentes na infra-estrutura física da rede. 05/11/2015 Profº André Luiz Silva 84 Introdução (Forouzan) • A camada de transporte é o núcleo do modelo da internet • Os protocolos desta camada supervisionam o fluxo de dados entre processos finais • Agem como uma conexão entre as camadas de aplicação e de rede • Os programas da camada de aplicação agem uns com os outros através dos serviços fornecidos pela camada de transporte sem ter que tomar conhecimento da existência das camadas mais baixas. 05/11/2015 Profº André Luiz Silva 85 serviços • O fluxo de informações ente os processos finais é realizado através dos serviços: – Encapsulamento (fragmentação) – Controle da conexão – Endereçamento – Confiabilidade 05/11/2015 Profº André Luiz Silva 86 Serviços Encapsulamento (fragmentação) – O processo de encapsulamento divide grandes mensagens em segmentos menores – Tais segmentos são encapsulados no campo de dados do pacote da camada de transporte e – Identificados através de informações colocadas no cabeçalho 05/11/2015 Profº André Luiz Silva 87 serviços Encapsulamento (fragmentação) – Mensagens geradas na camada de aplicação podem possuir tamanhos diferentes • E-mail com anexos • E-mail sem anexos • Aplicações multimídia – Alguns tipos de camadas de rede conseguem controlar somente pacotes com pouco mais que mil bytes 05/11/2015 Profº André Luiz Silva 88 serviços • Resumo – O encapsulamento que ocorre na camada de transporte divide, encapsula e adiciona um cabeçalho à mensagem 05/11/2015 Profº André Luiz Silva 89 serviços • Controle de conexão – Orientado à conexão • Um protocolo de transporte orientado à conexão estabelece um circuito virtual entre as aplicações (camada de aplicação) dos usuários finais • A sessão permanece até que seja solicitada uma desconexão por uma das partes • Os pacotes podem viajar fora de ordem, mas a camada de transporte possui mecanismos para reordená-los • A comunicação pode ocorrer em modo full-duplex 05/11/2015 Profº André Luiz Silva 90 serviços • Controle de conexão – Sem conexão • Trata os pacotes independentemente, sem qalquer conexão entre eles 05/11/2015 Profº André Luiz Silva 91 serviços • Endereçamento – Um cliente HTTP (navegador) precisa enviar uma solicitação a um servidor HTTP remoto – Primeiro o cliente precisa endereçar unicamente o computador remoto. • Isto é feito pela camada de rede 05/11/2015 Profº André Luiz Silva 92 serviços – O computador remoto pode estar rodando vários serviços simultaneamente • HTTP, SMTP e TELNET • Quando a solicitação chega ela deve ser repassada ao serviço solicitado • A solicitação deve também especificar o programa cliente que fez a solicitação. O servidor fará uso desta informação para responder a solicitação – O cliente pode estar rodando várias aplicações 05/11/2015 Profº André Luiz Silva 93 serviços • Confiabilidade – Controle de fluxo • Assim como a camada de enlace, a camada de transporte também oferece controle de fluxo, porém, entre os sistemas finais em vez de usar um único link – Controle de erro • Também entre sistemas finais • A correção é feita, usualmente, através de retransmissão 05/11/2015 Profº André Luiz Silva 94 Controle de congestionamento e QoS • O congestionamento pode ocorrer nas camadas de enlace, rede ou transporte. Porém, o seu efeito é sentido na camada de transporte por oferecer serviços à camada de aplicação • A qualidade de serviço pode ser implementada em outras camadas. Porém, é na camada de rede que sentimos mais os seus benefícios 05/11/2015 Profº André Luiz Silva 95 Comunicação entre processos finais • Camada de enlace – Comunicação entre nós vizinhos (nó-a-nó) • Camada de rede – Comunicação entre hosts (host-a-host) • Camada de transporte – Comunicação entre processos finais (processo-aprocesso) 05/11/2015 Profº André Luiz Silva 96 Comunicação entre processos finais • A camada de transporte cuida da comunicação entre tais processos finais; da entrega de um pacote que é parte de uma mensagem, de um processo até o outro processo 05/11/2015 Profº André Luiz Silva 97 Tipos de comunicação 05/11/2015 Profº André Luiz Silva 98 Paradigma cliente-servidor • Existem outros modos de realizar uma comunicação entre processos finais. Porém a mais utilizada é através do paradigma clienteservidor • Para a comunicação devemos definir o seguinte: – – – – 05/11/2015 Host local Processo local Host remoto Processo remoto Profº André Luiz Silva 99 Mecanismo de endereçamento • Na camada de transporte o esquema de endereçamento é denominado número de porta • Isto permite discriminar um processo entre muitos outros que podem estar rodando no host servidor 05/11/2015 Profº André Luiz Silva 100 Mecanismo de endereçamento 05/11/2015 Profº André Luiz Silva 101 Mecanismo de endereçamento • Os números de porta são gerenciados pelo IANA (Internet Assigned Number Autority) • Faixas IANA – Portas conhecidas – Controladas pelo IANA – Portas registradas – Empresas comerciais podem registrar estas portas junto ao IANA – Portas dinâmicas – Podem ser utilizadas por qualquer processo. Portas temporárias 05/11/2015 Profº André Luiz Silva 102 Endereços de socket • A comunicação entre processos finais precisa de dois identificadores: Endereço IP e número de porta • A esta combinação damos o nome de endereço de socket • O cabeçalho IP contém os endereços IP fonte e destino • O cabeçalho TCP ou UDP contém os endereços das portas origem e destino 05/11/2015 Profº André Luiz Silva 103 Multiplexação e demultiplexação • A camada de transporte não entrega dados diretamente a um processo, mas a um socket intermediário • Pode haver mais de um socket no destinatário, cada um com um identificador exclusivo 05/11/2015 Profº André Luiz Silva 104 Multiplexação e demultiplexação 05/11/2015 Profº André Luiz Silva 105 Multiplexação e demultiplexação • Demultiplexação – No cliente pode haver vários processos que necessitem transmitir pacotes simultaneamente. Entretanto só está ativo um protocolo da camada de transporte (UDP ou TCP). Relação do tipo vários para um. • Multiplexação – O relacionamento é de um para vários. A camada de transporte recebe os datagramas da camada de rede. Verifica os erros e remove o cabeçalho. Entrega cada mensagem ao socket apropriado. 05/11/2015 Profº André Luiz Silva 106