Professor: Tiago Semprebom Email: tisemp@ifsc.edu.br
Atendimento paralelo: 2a feira 17:30h - 18:30 h (Lab. Professores de TELE II)
IMPORTANTE: o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação, e assim a reprovação na disciplina.
Nesta atividade serão vistos algumas ferramentas utilizadas para obter informações relacionadas às configurações de uma rede de computadores.
Ferramentas básicas: Ping e Traceroute
Objetivos
Familiarização com a infraestrutura dos laboratórios de redes
Conhecer aplicativos para verificar os parâmetros do TCP/IP
Diagnosticar o atraso dos pacotes
Traçar rotas em redes TCP/IP
Conceitos introdutórios para uso do laboratório
A rede do laboratório em uso segue o modelo apresentado no diagrama da Figura 1.
Figura 1 - Diagrama da rede do laboratório
Roteiro de atividades
ifconfig
O aplicativo ifconfig pode ser utilizado para visualizar a configuração ou configurar uma interface de host em redes TCP/IP. Se nenhum argumento for passado na chamada do ifconfig, o comando mostra a configuração atual de cada interface de rede.
Consultar as páginas man ifconfig do Linux para maiores detalhes sobre o funcionamento deste aplicativo, o qual permite ativar/desativar a interface, configurar o endereço IP, definir o tamanho da MTU, redefinir o endereço de hardware se a interface suporta, redefinir a interrupção utilizada pelo dispositivo, entre outros.
Analisando os dados obtidos do seguinte exemplo /sbin/ifconfig
eth0 Link encap:Ethernet Endereço de HW 64:51:06:1a:f3:da
O sistema em questão possui duas interfaces de rede: eth0 e lo
Link encap:Ethernet: Configuração da interface Ethernet 0 (primeira)
Endereço de HW 64:51:06:1a:f3:da: É o endereço da placa de rede, camada 2
inet end.: 172.18.18.14 Bcast:172.18.63.255 Masc:255.255.192.0: Endereço IPv4 associado a interface, seu respectivo endereço de broadcast e mascara de rede
endereço inet6: fe80::6651:6ff:fe1a:f3da/64 Escopo:Link: Endereço IPv6 de escopo local gerado por autoconfiguração
UP BROADCAST RUNNING MULTICAST: Significa que a interface está ativa (UP), responde a requisições de broadcast (pode ser desabilitado no kernel) e também pode ser associada a tráfegos multicast
MTU: 1500: Maximum Transfer Unit – Tamanho máximo do pacote suportado pelo enlace que é do tipo Ethernet
Os demais parâmetros são estatísticas da respectiva interface, como por exemplo, pacotes transmitidos, recebidos etc
A interface lo: Qualquer tráfego que um computador envie em uma rede loopback é endereçada ao mesmo computador. O endereço IP mais usado para tal finalidade é 127.0.0.1 no IPv4 e ::1 no IPv6. O nome de domínio padrão para tal endereço é localhost. Em sistemas Unix, a interface loopback é geralmente chamada de lo ou lo0.
Agora utilize o comando ifconfig para verificar o estado de suas interfaces e responda:
Quantas e quais interfaces de rede sua máquina possui? Liste.
Qual o significado/utilidade da interface lo?
Quais são os endereços da camada 2 atribuído as mesmas? De onde o sistema obteve esses endereços?
Quais são os endereços IPv4? De onde o sistema obteve esses endereços?
Suas interfaces tem IPv6 configurado? Qual o endereço e escopo dos mesmos? Como foram obtidos? Qual o alcance (é roteável) do mesmo?
ping
Aplicativo ping permite a um usuário verificar se um host remoto está ativo. É bastante utilizado para detectar problemas de comunicação na rede.
O ping está baseado no envio de mensagens de solicitação de eco (echo request) e de resposta de eco (echo reply). Estas mensagens fazem parte do rol de mensagens do protocolo ICMP, que é um protocolo de reportagem de erros, a ser estudado mais tarde, componente do protocolo IP.
O ping é um dos principais comandos a disposição do administrador de rede no sentido de verificar a conectividade em rede. Por exemplo, se houver resposta de um ping a partir de um servidor remoto, significa que a máquina local está rodando corretamente o TCP/IP, o enlace local está funcionando corretamente, o roteamento entre a origem e o destino está operando, e por fim, a máquina remota também está rodando corretamente o TCP/IP.
Consultar as páginas man do ping para verificar as possibilidades de uso deste aplicativo.
Exemplo 1:
PING 200.135.37.65 (200.135.37.65) 56(84) bytes of data.
64 bytes from 200.135.37.65: icmp_seq=1 ttl=62 time=0.925 ms
64 bytes from 200.135.37.65: icmp_seq=2 ttl=62 time=0.743 ms
64 bytes from 200.135.37.65: icmp_seq=3 ttl=62 time=0.687 ms
64 bytes from 200.135.37.65: icmp_seq=4 ttl=62 time=0.689 ms
^C
--- 200.135.37.65 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.687/0.761/0.925/0.097 ms </syntaxhighlight>
No exemplo foram enviados quatro pacotes ICMP, cada um com um número de seqüência (icmp_seq), os quais foram recebidos com sucesso com o tempo de viagem assinalado (time)
Cada pacote tem ainda um tempo de vida (ttl – time to live), o qual é decrementado em cada roteador, sendo o pacote descartado quando chegar a zero; isto evita pacotes perdidos na rede
Quando o ping é interrompido (CRTL-C), uma estatística é apresentada indicando o percentual de pacotes transmitidos, recebidos e perdidos
O tempo de viagem (rtt – round trip time) mínimo (min), médio (avg) e máximo (max) é calculado, assim como o desvio padrão (mdev)
Como exercício envie ping para diferentes hosts e compare e anote os tempos de resposta:
Explique as diferenças entre os tempos de resposta dos ping realizados:
Entre ping para diferentes destinos.
Entre respostas recebidas de um mesmo destino.
Consulte as páginas man e teste o ping com os parâmetros abaixo e descreva suas funcionalidades:
-c count
-i intervalo
-s packetsize
-t ttl (para um site distante inicie com 1 e vá incrementando, observe as mensagens). Com essa estratégia é possível mapear os roteadores no caminho entre a origem e o destino de um pacote.
traceroute
O traceroute é capaz de traçar uma rota aproximada entre dois hosts. Este comando usa mensagens ICMP. Para determinar o nome e o endereço dos roteadores entre a fonte e o destino, o traceroute na fonte envia uma série de datagramas IP ordinários ao destino. O primeiro datagrama tem o TTL (time to live – tempo de vida) igual a 1, o segundo 2, o terceiro 3, e assim por diante, e inicia temporizadores para cada datagrama. Quando o enésimo datagrama chega ao enésimo roteador, este verifica que o tempo de sobrevida do datagrama acaba de terminar. Pelas regras do IP, o datagrama é então descartado e uma mensagem ICMP de advertência tempo de vida excedido é enviada a fonte com o nome do roteador e seu endereço IP. Quando a resposta chega de volta a fonte, a mesma calcula o tempo de viagem em função dos temporizadores.
O traceroute envia datagramas IP encapsulados em segmentos UDP a um host destino. Todavia escolhe um número de porta destino com um valor desconhecido (maior que 30000), tornando improvável que o host destino esteja usando esta porta. Quando o datagrama chega ao destino uma mensagem ICMP porta inalcançável é gerada e enviada a origem. O programa traceroute precisa saber diferenciar as mensagens ICMP recebidas – tempo excedido e porta inalcançável – para saber quando a rota foi concluída.
1 192.168.1.1 (192.168.1.1) 0.225 ms 0.216 ms 0.368 ms
2 172.18.0.254 (172.18.0.254) 1.236 ms 1.235 ms 1.343 ms
3 hendrix.sj.ifsc.edu.br (200.135.37.65) 1.331 ms 1.313 ms 1.414 ms </syntaxhighlight>
NOTA: O comando traceroute acima foi executado com o parâmetro -I. Esse comando força o traceroute a utilizar mensagens ICMP. Outra opção é utilizar o comando com o parâmetro -T, forçando
o traceroute a utilizar o protocolo TCP para transmissão de seus pacotes. Caso nenhum dos parâmetros (-I ou -T) seja utilizado o traceroute utiliza o protocolo UDP como padrão. Visando barrar
o tráfego de torrent na rede do Câmpus, o Firewall bloqueia as mensagens UDP da rede. Deste modo não é possível executar o comando traceroute na rede do Campus sem o uso dos parâmetro (-I ou -T).
</syntaxhighlight>
O exemplo mostra a rota dos pacotes entre um computador do Lab. Redes (192.168.2.1) e o servidor hendrix (200.135.37.65). Observe que para cada roteador são realizados três amostras de tempo de ida e volta. Veja pelo mapa da rede do Campus São José que entre estes dois computadores, sistemas finais, existem dois roteadores intermediários, máquina do professor e Switch camada 3 (VLANs).
Traçar a rota dos pacotes entre seu computador e diferentes hosts:
máquina de um colega do laboratório
servidor e roteador da rede da escola
servidores americanos.
Explique as diferenças entre os tempos de resposta:
Entre traceroutes para diferentes destinos.
No caso do traceroute para os EUA, aponte claramente qual foi o salto onde ocorreu a travessia do oceano. Como você chegou a essa conclusão?
Entre as três medidas apresentadas para cada salto.
O que justifica um possível tempo de resposta menor para um salto posterior? Por exemplo: pode-se obter no salto 13 um tempo de 289.207 ms e no salto 14 um tempo de 277.115 ms.