Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Redes d computadores ICMP Obionor Nóbrega Internet Control Message Protocol ICMP RFC 792 Fonte da RFC: www.ietf.org Objetivo � Prover um feedback sobre os problemas no ambiente de comunicação que faz com que o IP não seja um protocolo confiável. � Reportar erros no processamento de datagramas Localização Aplicação Apresentação Sessão Transporte Rede Enlace Físico Ethernet Ethernet IP MAC UnixLCC A R P TCP, UDP Winsock socket TLI DNS SM T P F T P ping H T T P N F S POP T e l n e t ICMP Características � Não há garantias que o datagrama IP será entregue ou uma mensagem de controle retornará. � Alguns datagramas poderão não ser entregue � Nenhum relatório de perda entregue Encapsulamento � Transportado pelo “Pacote IP” Cabeçalho IP Dados Cabeçalho ICMP Conteúdo ICMP 2 Formato das Mensagens � Uma mensagem ICMP é enviada usando o cabeçalho básico IP. IHL ICMP = 1 Formato das Mensagens SourceAddr (32bits) : Endereço do gateway ou do host que gerou a mensagem ICMP. IHL Formato das Mensagens DestinationAddr (32bits) : Endereço do gateway ou do host que a mensagem deve ser entregue. IHL Pacote ICMP � Cabeçalho: Fixo � Carga: depende do tipo de mensagem ICMP Type (8bits) Code (8bits) Checksum (16bits) Conteúdo 0 31 carga cabeçalho Campos do pacote ICMP � Tipo: � Existem 15 tipos diferentes de Mensagens � Código: � Alguns tipos de Mensagens utilizam um código para identificar uma condição específica � Checksum: � Código de verificação de consistência � Utiliza o mesmo algoritmo do IP � Conteúdo: � Depende do tipo e código da mensagem Tipos de Mensagens 0 = echo replay (utilizado pelo ping) 3 = Destination unreachable 4 = Source Quench 5 = Redirect 8 = Echo 11 = Time Exceeded 12 = Parameter Problem 13 = Timestamp 14 = Timestamp replay 15 = Information Request (obsoleta) 16 = Information Reply (obsoleta) 3 Mensagem de Destino Inalcançável � Campos IP: � Endereço destino: � Endereço do datagrama original Type Code Checksum unused Cabeçalho IP + 64 bits do datagrama de dados original 0 31 Mensagem de Destino Inalcançável 0 = net unreachable; 1 = host unreachable; 2 = protocol unreachable; 3 = port unreachable; 4 = Fragmentation needed and DF set; 5 = source route failed. Type Code Checksum unused Cabeçalho IP + 64 bits do datagrama de dados original Campos ICMP: � Type: 3 � Code: � Checksum = zero 0 31 Quando ocorre o Erro � No roteador � Endereço de rede inalcançável � Endereço de host inalcançável � Descarte por necessitar fragmentação � No host � Um protocolo não está ativo � Uma porta não está configurada Mensagem de Tempo Excedido � Campos IP: � Endereço destino: � Endereço do datagrama original Type Code Checksum unused Cabeçalho IP + 64 bits do datagrama de dados original 0 31 Mensagem de Tempo Excedido � Campos ICMP: � Type: 11 � Code: � Checksum = zero Type Code Checksum unused Cabeçalho IP + 64 bits do datagrama de dados original 0 31 0 = tempo de vida excedido na transmissão 1 = tempo excedido para remontagem do fragmento Quando ocorre o Erro � No roteador � Durante o processamento do datagrama o campo TTL = zero, o pacote é descartado e é enviado a mensagem.(Code = 0) � No host � Durante a remontagem dos datagramas fragmentados, um fragmento foi descartado/perdido o datagrama é descartado (Code = 1) 4 O programa PING # ping casa PING casa (10.0.0.1): 56 data bytes ICMP echo request (ID 388, seq=0) ICMP echo reply(ID 388, seq=0) ICMP echo request (ID 388, seq=1) ICMP echo reply(ID 388, seq=1) 64 bytes from 10.0.0.1: icmp_seq=2 ttl=255 time =2,2ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=255 time =1,0ms ^C 64 bytes from 10.0.0.1: icmp_seq=1 ttl=255 time =1,8ms 64 bytes from 10.0.0.1: icmp_seq=0 ttl=255 time =1,2ms O programa Traceroute � Não existe garantia de que dois datagramas IP seguirão o mesmo caminho, da origem ao destino, embora usualmente isto aconteça � Traceroute é uma ferramenta que ajuda a traçar o caminho seguido pelos datagramas IP, de um host a outro O programa Traceroute - funcionamento � Envia um datagrama IP com TTL igual a 1 para o host destino � O primeiro roteador a lidar com esse datagrama, decrementa o TTL para 0, descarta o datagrama e envia uma mensagem ICMP (time exceeded) para o host origem � Traceroute então envia um outro datagrama, com TTL igual a 2, permitindo alcançar um outro roteador � Esse processo continua, até que os datagramas alcancem o host destino O programa Traceroute - exemplo � Exemplo de saída de um traceroute: # traceroute victim.com traceroute to victim (172.16.1.10), 30 hops max, 40 byte packets 1 satan (172.16.1.66) 20ms 10ms 10ms 2 victim (172.16.1.10) 120ms 120ms 120ms � Para cada TTL, 3 datagramas serão enviados. Os tempos são registrados na saída do traceroute. Dynamic Host Configuration Protocol DHCP RFC 2131 Fonte da RFC: www.ietf.org Motivação � Endereços Ethernet � Configurados no adaptador pelo fabricante � Globalmente único � Endereços IP � Não precisa apenas ser únicos em uma sub-rede; � Necessita refletir a estrutura da inter-rede. � Rede+Host 5 Motivação � Endereços IPs precisam ser reconfiguráveis � Mudança de estrutura � Além do endereço IP existem outras informações importantes: � Roteador Default Configuração do Host � Cada host numa rede IP tem que ser configurado com: � o seu endereço IP; � o endereço do default router da rede a que pertence. � Em redes com um elevado número de hosts fazer uma configuração manual não é tarefa simples. � O processo de configuração manual é muito sujeito a erros. DHCP O Dynamic Host Configuration Protocol (DHCP) facilita a tarefa de configuração de redes de grande dimensão � DHCP é um método de configuração automática � Baseia-se na existência de um servidor DHCP que contém a informação de configuração para os hosts. Componentes � DHCP consiste em 2 componentes: � Um protocolo de entrega de configurações de parâmetros de um servidor DHCP para um host; � Um mecanismo de alocação de endereços de rede; Modos de Funcionamento do Servidor DHCP � DHCP suporta 2 modos de atribuição de endereços IP a hosts: � Estáticos � Através uma tabela enumerando cada um dos mapeamentos; � Dinâmico � O servidor gere um conjunto de endereços IP fazendo a sua atribuição a pedido.
Compartilhar