Postado por Joabe Kachorroski, 23/02/2018 14:31:00, Protocolos de rede , redes
Kachorroski, Joabe¹
Se você já teve que resolver um problema de rede, com
certeza, já utilizou os comandos do ICMP, PING e TRACE,
mas você sabe realmente em quais situações eles funcionam melhor?
Nesse artigo falaremos sobre 2 protocolos de rede essencial,
são eles: IP e ICMP. Falaremos aqui também sobre o
funcionamento e uso do PING, funcionamento e uso do Traceroute
e o formato do pacote ICMP.
Dividiremos esse artigo em 2 partes, nessa primeira parte do
artigo falaremos sobre ICMP, funcionamento e uso do PING
e na segunda parte iremos ver funcionamento e uso do Traceroute
e o formato do pacote ICMP.
O ICMP
é um protocolo integrante do Protocolo IP, definido pela RFC 792, e utilizado para fornecer
relatórios de erros ao host que deu origem aos pacotes enviados
na rede. Qualquer computador que utilize o protocolo IP
precisa aceitar as mensagens ICMP e alterar o seu comportamento
de acordo com o erro relatado.
Os gateways (roteadores) devem também estar
programados para enviar mensagens ICMP quando receberem pacotes
que provoquem algum tipo de erro ou detectarem algum problema listado no
protocolo ICMP.
O ICMP é transportado no campo de dados do
pacote IP e identificado como tipo de protocolo “1”
pelo cabeçalho do IP. As principais mensagens de erro ou
informacionais do ICMP geralmente são enviadas automaticamente em
uma das seguintes situações:
•
Um pacote IP não consegue chegar
ao seu destino, por exemplo, quando o tempo de vida (TTL) do
pacote está expirado (o contador chegou à zero). Esta mensagem é o tempo de
vida expirado ou “time exceeded”.
•
O roteador não consegue retransmitir os pacotes
na frequência adequada, ou seja, o roteador está congestionado (mensagem “source quench”).
•
O roteador indica uma rota melhor para o host
que está enviando pacotes (mensagem de redirecionamento de rota ou “redirect”).
•
Quando um host de destino ou rota não está alcançável
(mensagem “destination unreachable”
ou destino inalcançável).
•
Quando o host ou o roteador
descobrem um erro de sintaxe no cabeçalho do IP (mensagem “parameter problem”).
Existem diversas outras mensagens que o ICMP pode fornecer e cada uma é representada por um tipo ou código, conforme será mostrado no quadro do ICMP no final desse artigo. Mas o que posso adiantar é mostrar essa seguinte tabela com os possíveis valores de tipo de ICMP:
[Tabela Valores ICMP]
O Ping é
baseado em duas mensagens, o echo request e echo
reply.
Quando você entra no prompt de comandos do Windows
e ou terminal no linux, por exemplo, digita “ping www.wsci.eti.br”,
na realidade seu computador está enviando mensagens de “echo request”
ao servidor onde a página da Wise está hospedada.
Ao receber essa mensagem de “echo request”
nosso servidor responde seu computador com um “echo reply”.
Caso o servidor não responda, seu computador indicará um timeout
(tempo de resposta expirado), indicando que não houve resposta.
Veja na figura abaixo um exemplo de ping enviado do host com endereço IP 192.168.1.2 para o host com o IP 192.168.1.3.
Foto: google.com.br
[request ping replay]
Veja um exemplo de teste de ping no linux com taxa de resposta de 100% (ping bem sucedido) e depois com perda de 100% (ping com problema, sem comunicação entre os hosts).
Foto: Autor
[ping bem sucedido e perdido]
O teste de ping
é utilizado para verificar se há comunicação fim a fim, ou seja, entre origem e
destino.
Esse teste é realizado na camada-3 do modelo OSI
(ou Internet do TCP/IP) e não se importa com os dispositivos (roteadores
e switches) que estão no meio do caminho.
Vale a pena lembrar que as mensagens de ping
podem ser bloqueadas por firewalls e/ou IPS’s (Intrusion
Prevention System), ou seja, não significa
necessariamente um erro quando não se obtém a resposta do comando ping,
pois o ICMP pode estar sendo bloqueado por um firewall em sua origem ou destino.
O comando ping básico é o mesmo em maioria dos
sistemas operacionais. Portanto, se você digitar “ping www.google.com”
no Windows, Cisco IOS, MAC
OS, Linux ou Unix ele vai funcionar.
Um detalhe interessante é que se você digitar apenas o ping
e o endereço IP ou URL no Linux ele
dispara echos request até que você interrompa o teste.
Já no Windows serão disparados apenas quatro requests,
sendo que para o Windows disparar pings sem interrupção como
no Linux você precisa utilizar a opção “-t”, por exemplo,
“ping -t 192.168.1.10”.
Outra opção bastante utilizada com o ping é
alterar o tamanho do pacote para o máximo que o segmento testado suporta, por
exemplo, 1500 bytes em uma rede LAN.
Para isso no Windows você pode utilizar a opção
“-l 1500” e no Linux “-s 1500”.
Veja exemplo na tela abaixo onde no linux serão disparados 5 requests (opção -c5) com tamanho de 1000 bytes (opção -s1000), visto que no exemplo acima foi com 64 bytes.
Foto: Autor
[1000 bytes]
Na segunda parte do artigo
iremos ver sobre funcionamento e uso do TRACEROUTE, formato do
pacote ICMP e algumas dicas e conclusão, aguarde a segunda parte.
Obrigado pela visita e até a próxima.
¹Graduado em Analise e
desenvolvimento de Sistemas no Centro Universitário Estácio de Sá, joabejbk@gmail.com
TERMOS TÉCNICOS USADOS:
IP
“Internet Protocol” – Recebe segmentos de dados da camada de transporte e
os encapsula em datagramas, é um protocolo não confiável por não exigir
confirmação.
ICMP
“Internet Control Message Protocol” – É um padrão TCP/IP necessário, são
documentos regidos IETF que estabelecem os padrões de cada protocolo com o ICMP
os hosts e roteadores que usam comunicação IP podem relatar erros e trocar
informações de status e controle limitado.
PING “Ping”
ou “latência” como podemos chamar, é um utilitário que usa o protocolo ICMP para testar a
conectividade entre equipamentos. É um comando disponível praticamente em todos
os sistemas operacionais.
TRACE “Traceroute” é uma ferramenta de
diagnóstico que rastreia a rota de um pacote através de
uma rede de computadores que utiliza os protocolos
IP e o ICMP.
REVISÃO:
--
Rodrigo Pollak,
Diretor de TI na Wise Solutions, Graduado em Ciência da Computação e
Pós-Graduado em Redes de computadores e Plataformas Distribuídas.
REFERÊNCIAS:
–
Wikipédia: https://pt.wikipedia.org/wiki/Camada_de_rede
Postado por:
Joabe Kachorroski, 05/04/2018 13:34:00, redes , segurança
Postado por:
Joabe Kachorroski, 23/03/2018 09:25:14, Protocolos de rede , redes
CONTATO