|
|
Linha 70: |
Linha 70: |
| * Arquitetura em Camadas; | | * Arquitetura em Camadas; |
| * Correção lista de exercício I | | * Correção lista de exercício I |
|
| |
| Nesta atividade serão vistos algumas ferramentas utilizadas para obter informações relacionadas às configurações de uma rede de computadores.
| |
|
| |
| {{collapse top | 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.
| |
|
| |
| [[Arquivo:Diagrama_rede_IFSC_lab_redes_I.jpeg |thumb | 400px| 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 <code>/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 '''Eth'''ernet 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:<span style="color: #9966CC;">
| |
| ##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? </span>
| |
|
| |
| ====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: <code>
| |
| 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'')
| |
| #<span style="color: #9966CC;">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: <code>
| |
| www.ifsc.edu.br
| |
| www.uol.com.br
| |
| www.aaa.jp </syntaxhighlight>
| |
| #<span style="color: #9966CC;">Explique as diferenças entre os tempos de resposta dos ping realizados:
| |
| ##Entre ping para diferentes destinos.
| |
| ##Entre respostas recebidas de um mesmo destino.
| |
| #<span style="color: #9966CC;">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: <code>
| |
| 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: <code> 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).
| |
|
| |
| #<span style="color: #9966CC;">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.
| |
| #<span style="color: #9966CC;">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.
| |
| #<span style="color: #9966CC;">Explique as linhas com o caracter *.
| |
| {{collapse bottom}}
| |
|
| |
|
| == 26/08/19: Introdução à Redes de Computadores == | | == 26/08/19: Introdução à Redes de Computadores == |