ICMP
Internet Control Message Protocol
Permite a troca de mensagens de controlo e diagnóstico
Os pacotes ICMP são encapsulados em pacotes IP
Os primeiros 3 campos são comuns a todos os pacotes ICMP
type (1 byte)
code (1 byte)
checksum (2 bytes)
É determinado com base em toda a mensagem
Tipos de mensagens ICMP
0
Echo reply
3
Destination unreachable
4
Source quench
5
Redirect
8
Echo request
11
Time exceeded
12
Parameter problem
13
Timestamp request
14
Timestamp reply
ICMP Redirect
Quando um router detecta que uma estação esta a usar uma rota que não é a melhor, envia uma mensagem ICMP Redirect para que ele mude de rota
O router inicial, para além do ICMP Redirect, envia também o datagrama original para o destino
Não possibilita mudanças de rotas entre routers; apenas entre um host e um router na mesma rede
O campo code é usado para passar mais informação
0 - Datagrama de redirect para a rede
1 - Datagrama de redirect para o host
2 - Datagrama de redirect para Type of Service e para rede
3 - Datagrama de redirect para Type of Service e para host
ICMP Destination Unreachable
Existem 6 valores possíveis para o campo code
0 - Net Unreachable - enviado pelo router se este não sober a rota para a rede pedida
1 - Host Unreachable - enviado pelo router quando sabe a rota mas não o host
2 - Protocol Unreachable - enviado pelo host destino, se o protocolo destino não funcionar
3 - Port Unreachable - enviado pelo host destino, se a porta estiver ""vazia"
4 - Cannot Fragment - enviado pelo router, se for necessário fragmentar, mas o bit "do not fragment" estiver a 1
5 - Source Route Failed - o IP Source routing é um dos IP Header Options
ICMP Time Exceeded message
É enviado por um router para a origem quando o TTL do pacote chega a 0
Comando Tracert
Permite descobrir o percurso utilizado no encaminhamento dos pacotes
Recorre ao campo TTL e a mensagens ICMP Time Exceeded
Envia ICMP Echo requests, 3 de cada vez, com TTL inicial de 1, e incrementa gradualmente TTL+=1, sempre que a resposta for Time exceeded é descoberto um novo router, isto é repetido ate deixar de receber a mensagem de Time exceeded
Last updated