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
inet end.: 172.18.18.14 Bcast:172.18.63.255 Masc:255.255.192.0
endereço inet6: fe80::6651:6ff:fe1a:f3da/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:415237 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:118109 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:364658695 (364.6 MB) TX bytes:18315199 (18.3 MB)
IRQ:18
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:65536 Métrica:1
pacotes RX:6688 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:6688 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:1057934 (1.0 MB) TX bytes:1057934 (1.0 MB) </syntaxhighlight>
- 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:
- no endereço local de loopback;
- máquina de um colega do laboratório;
- servidor e roteador da rede da escola;
- servidores externos:
www.ifsc.edu.br
www.uol.com.br
www.aaa.jp </syntaxhighlight>
- 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.
- Exemplo:
sudo traceroute -I 200.135.37.65
traceroute to 200.135.37.65 (200.135.37.65), 30 hops max, 60 byte packets
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.
- Explique as linhas com o caracter *.
|