Ping O programa Ping, opção de record route e de timestamp.
Ping Testa se um outro terminal se encontra atingível O programa envia uma mensagem ICMP echo request para um terminal e espera por receber uma mensagem ICMP echo reply Ponto de partida para determinar qual é o problema numa ligação; Mede o rount trip time indicação de quão longe se encontra o outro terminal Ferramenta de diagnóstico
RTT Normalmente o primeiro rtt é maior que os seguintes Pedido e resposta ARP sun % arp -a make sun ARP cache is empty sun % ping svr4 PING svr4: 56 data bytes 64 bytes from svr4 (140.252.13,34): icmp_seq=0. time=7. ms 64 bytes from svr4 (140.252.13.34): icmp_seq=1. time=4. ms 64 bytes from svr4 (140.252.13.34): icmp_seq=2. time=4. ms 64 bytes from svr4 (140.252.13.34): icmp_seq=3. time=4. ms ^? type interrupt key to stop ---svr4 PING Statistics--- 4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 4/4/7
Opção de gravação de rotas A opção -R permite a funcionalidade de gravação de rotas Cada router atravessado pelo datagrama IP tem de adicionar o seu endereço IP a uma lista no campo de opções Quando o datagrama chega ao destino, a lista de endereços IP é copiada para a mensagem ICMP echo reply, e todos os routers no percurso de volta adicionam os seus endereços IP à lista Quando o terminal origem recebe a mensagem ICMP echo reply, é impressa a lista de endereços IP
Opção de gravação de rotas Limitação - pouco espaço existente no cabeçalho IP para a lista de endereços IP O tamanho do campo de tamanho do cabeçalho limita-o a 60 bytes A opção de gravação de rotas coloca um overhead de 3 bytes Espaço disponível de apenas 37 bytes 9 endereços IP
Traceroute O programa Traceroute, opção de record route.
O programa Traceroute Ferramenta de debug que permite explorar os protocolos da gama TCP/IP Normalmente (mas não é garantido), dois pacotes consecutivos com a mesma origem e destino seguem o mesmo percurso Traceroute permite analisar o percurso dos pacotes IP desde a origem ao destino É possível utilizar a opção de escolha do percurso ou de alguns elementos do percurso
Modo de operação (1) Traceroute necessita apenas de um módulo UDP no destino não é necessária nenhuma aplicação de servidor especial O pequeno espaço disponível para gravação de rotas no Ping faz com que seja necessário outro tipo de programa para analisar o percurso dos pacotes Traceroute usa ICMP e o campo de TTL do pacote IP TTL é inicializado com um determinado valor Cada router decrementa o valor do TTL Previne que os pacotes fiquem em loop indefinidamente Quando um router deixa de funcionar Quando a ligação entre dois routers se perde Leva algum tempo até os algoritmos de encaminhamento detectarem estes problemas o pacote poderia ficar em loop até o problema estar resolvido
Modo de operação (2) Quando um route recebe um pacote IP com TTL igual a 1 Decrementa o TTL Descarta o pacote Envia uma mensagem de erro ICMP time exceeded ao emissor O endereço IP origem do pacote IP que contém esta mensagem de erro é o endereço IP do router que recebeu o pacote com TTL de 1 Traceroute Envia um pacote IP com TTL de 1 para o destino O primeiro router que recebe o pacote decrementa o TTL, descarta o datagrama, e envia uma mensagem ICMP time exceeded. Este processo identifica o primeiro router no percurso Envia um pacote IP com TTL de 2 e encontra-se o endereço IP do segundo router O processo continua até o pacote IP chegar ao destino
Modo de operação (3) Como se determina que um pacote chegou ao destino? Traceroute envia datagramas UDP com o porto destino não válido (maior do que 30000) O módulo UDP do terminal destino envia uma mensagem de erro ICMP port unreachable Traceroute tem apenas de diferenciar entre as duas mensagens de erro ICMP recebidas para saber quando o processo termina
Exemplos (1)
Exemplos (2)
Opção de escolha do percurso O emissor pode especificar o percurso: Estrito o emissor especifica o caminho exacto que o pacote IP tem de seguir Relaxado o pacote pode também atravessar outros routers que se encontrem entre dois endereços da lista A lista de endereços IP tem de ser preenchida antes de o pacote ser enviado pelo emissor; Código = 0x83 para escolha do percurso relaxado ; Código = 0x89 para escolha do percurso estrito; Os campos len e ptr são idênticos aos da opção de gravação de rotas