Mudanças entre as edições de "RCO-Subsequente-2022-1"
(81 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 2: | Linha 2: | ||
Ver anotações do [https://wiki.sj.ifsc.edu.br/index.php/RED29004-Laborat%C3%B3rios_com_Imunes Prof.Odilson - Instalação Imunes] | Ver anotações do [https://wiki.sj.ifsc.edu.br/index.php/RED29004-Laborat%C3%B3rios_com_Imunes Prof.Odilson - Instalação Imunes] | ||
+ | |||
+ | BOA PARTE DOS LABS DESTE CURSO FORAM ELABORADOS PELO PROF.ODILSON | ||
=AULA 01 - AULA DIA 31/03/2022= | =AULA 01 - AULA DIA 31/03/2022= | ||
Linha 10: | Linha 12: | ||
Registrada no SIGAA. Aula sábado conforme determinação do DEPE. Ver leitura e questionário registrado. | Registrada no SIGAA. Aula sábado conforme determinação do DEPE. Ver leitura e questionário registrado. | ||
+ | |||
+ | TAREFA MT1.2 | ||
=AULA 03 - AULA DIA 7/04/2022= | =AULA 03 - AULA DIA 7/04/2022= | ||
Linha 699: | Linha 703: | ||
Aula assíncrona no SÁBADO conforme DEPE. | Aula assíncrona no SÁBADO conforme DEPE. | ||
+ | |||
+ | TAREFA MT1.7 | ||
=AULA 8 - DIA 12/05/2022= | =AULA 8 - DIA 12/05/2022= | ||
Linha 895: | Linha 901: | ||
− | =AULA | + | =AULA 9 - DIA 19/05/2022= |
==Objetivos== | ==Objetivos== | ||
Linha 901: | Linha 907: | ||
Avaliação 1 - Ver SIGAA | Avaliação 1 - Ver SIGAA | ||
− | =AULA | + | =AULA 10 - DIA 26/05/2022= |
==Objetivos== | ==Objetivos== | ||
Linha 1 038: | Linha 1 044: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | =AULA | + | =AULA 11 - DIA 2/06/2022= |
==Objetivos== | ==Objetivos== | ||
Linha 1 054: | Linha 1 060: | ||
− | ==Laboratório | + | {{Collapse top |Laboratório 12 - TCP Básico}} |
+ | |||
+ | |||
+ | ==Laboratório 12 - TCP Básico== | ||
==PARTE 1 - Verificando o estabelecimento, troca de dados e finalização da conexão== | ==PARTE 1 - Verificando o estabelecimento, troca de dados e finalização da conexão== | ||
Linha 1 114: | Linha 1 123: | ||
− | ===ETAPA | + | ===ETAPA 6 - Iniciar o novo experimento=== |
#Encerre a execução do experimento anterior no IMUNES. | #Encerre a execução do experimento anterior no IMUNES. | ||
Linha 1 137: | Linha 1 146: | ||
Mostre a TELA da listagem aqui. | Mostre a TELA da listagem aqui. | ||
− | == | + | ===ETAPA 7 - Transmissão sem erros: Verificação de Número de Sequência e Reconhecimentos=== |
Linha 1 154: | Linha 1 163: | ||
#* O comportamento padrão do Wireshark é redefinir o número de sequência para sempre iniciar em 0. Este comportamento pode ser alterado conforme nossas necessidades: <syntaxhighlight lang=bash> | #* O comportamento padrão do Wireshark é redefinir o número de sequência para sempre iniciar em 0. Este comportamento pode ser alterado conforme nossas necessidades: <syntaxhighlight lang=bash> | ||
Edit >> Preferences >> Protocols >> TCP >> (Habilite/Desabilite) Relative sequence numbers >> OK </syntaxhighlight> | Edit >> Preferences >> Protocols >> TCP >> (Habilite/Desabilite) Relative sequence numbers >> OK </syntaxhighlight> | ||
− | + | ||
− | + | RECORTE A TELA DOS PACOTES CAPTURADOS E COLE NO RELATÓRIO | |
− | + | ||
− | + | ===ETAPA 8 - Análise dos pacotes capturados=== | |
− | + | ||
− | + | Nas análises a seguir use como apoio o número do pacote na primeira tela do Wireshark. | |
+ | |||
+ | |||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Qual o número de sequência (normalizado pelo Wireshark) de cada segmento de dados transmitido (de PC1 para PC2) e qual o significado do número de reconhecimento em cada um deles?</span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Como foi reconhecido cada segmento enviado?</span> | ||
+ | # Pare o experimento no Imunes: <syntaxhighlight lang=bash> | ||
Experiment >> Terminate </syntaxhighlight></span> | Experiment >> Terminate </syntaxhighlight></span> | ||
− | ==PARTE | + | ==PARTE 3 - Transmissão com erros: retransmissões== |
+ | |||
+ | ===ETAPA 9=== | ||
# Inicie a simulação da rede no Imunes:<syntaxhighlight lang=bash> | # Inicie a simulação da rede no Imunes:<syntaxhighlight lang=bash> | ||
Linha 1 183: | Linha 1 199: | ||
# Pare a captura de pacotes no Wireshark. | # Pare a captura de pacotes no Wireshark. | ||
# Adicione o filtro '''tcp''' ao Wireshark, para limpar os dados apresentados. | # Adicione o filtro '''tcp''' ao Wireshark, para limpar os dados apresentados. | ||
− | # Analise como os dados foram transmitidos e reconhecidos | + | |
+ | RECORTE A TELA E MOSTRE A CAPTURA DOS PACOTES (a tela 1 do WIreshark) | ||
+ | |||
+ | ===ETAPA 10=== | ||
+ | |||
+ | # Analise como os dados foram transmitidos e reconhecidos, respondendo as perguntas que se seguem: | ||
# <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Perguntas:</span> | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Perguntas:</span> | ||
## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Houve perda de pacotes? Como você identificou isso?</span> | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Houve perda de pacotes? Como você identificou isso?</span> | ||
## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Os pacotes perdidos foram retransmitidos? Justifique.</span></span> | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Os pacotes perdidos foram retransmitidos? Justifique.</span></span> | ||
+ | |||
#Pare o experimento no Imunes: <syntaxhighlight lang=bash> | #Pare o experimento no Imunes: <syntaxhighlight lang=bash> | ||
Experiment >> Terminate </syntaxhighlight> | Experiment >> Terminate </syntaxhighlight> | ||
− | ==PARTE | + | ==PARTE 4 - Testando a capacidade do TCP de enviar dados de forma duplex== |
* Agora vamos fazer um pequeno teste de transmissão de arquivos entre dois PCs e observar o comportamento ''full-duplex''. | * Agora vamos fazer um pequeno teste de transmissão de arquivos entre dois PCs e observar o comportamento ''full-duplex''. | ||
* No experimento, o arquivo de uma máquina será transmitido para outra e vice-versa. | * No experimento, o arquivo de uma máquina será transmitido para outra e vice-versa. | ||
+ | |||
+ | NÃO É NECESSÁRIO COLOCAR TELAS NO RELATÓRIO. SOMENTE FAÇA UM TEXTO CONCLUINDO SOBRE A QUESTÃO FULL-DUPLEX NO TCP | ||
# Inicie a simulação da rede no Imunes:<syntaxhighlight lang=bash> | # Inicie a simulação da rede no Imunes:<syntaxhighlight lang=bash> | ||
Linha 1 220: | Linha 1 244: | ||
# Adicione o filtro '''tcp''' ao Wireshark, para limpar os dados apresentados. | # Adicione o filtro '''tcp''' ao Wireshark, para limpar os dados apresentados. | ||
# Analise como os dados foram transmitidos e reconhecidos. | # Analise como os dados foram transmitidos e reconhecidos. | ||
− | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> | + | |
− | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> | + | {{Collapse bottom}} |
− | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> | + | |
+ | |||
+ | =AULA 12 - Dia 4/6/2021 - Camada de Transporte = | ||
+ | |||
+ | Aula ANP Camada de Transporte | ||
+ | TAREFA MT2.3 - QUESTIONÁRIO UDP E TCP | ||
+ | |||
+ | =AULA 13 - Dia 9/6/2021 - Camada de Rede - IP Básico = | ||
+ | |||
+ | #Introdução a camada de rede | ||
+ | #Estrutura do Pacote IP | ||
+ | #O processo de encaminhamento de pacotes | ||
+ | |||
+ | ==REFERÊNCIAS== | ||
+ | |||
+ | *[https://docente.ifsc.edu.br/odilson/RCO60807/IP%20Basico.pdf Slides desta Aula - Kurose v.6 Modificado] | ||
+ | *[http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018-2/RCO-INTEGRADO/MACxIP.pdf Endereçamento MAC x Endereçamento IP] | ||
+ | |||
+ | Extra: | ||
+ | * [http://linux-ip.net/html Guia de Administração da Camada IP no Linux] | ||
+ | |||
+ | {{Collapse top |Laboratório 13 - Interligação de duas redes através de um roteador}} | ||
+ | |||
+ | ==LABORATÓRIO 13 - Interligação de duas redes através de um roteador== | ||
+ | |||
+ | ===Objetivos do Laboratório=== | ||
+ | |||
+ | #Introdução ao mundo IP | ||
+ | #Verificação das configurações de interfaces de rede | ||
+ | #Verificação de tabelas de roteamento nos hospedeiros e no roteador | ||
+ | #Verificação de movimentação de pacotes (rotas) em roteadores | ||
+ | |||
+ | Usaremos como base a seguinte arquitetura de rede: | ||
+ | |||
+ | [[Arquivo:2_sub-redes_com_1_roteador.png| 500 px]] | ||
+ | |||
+ | ===Procedimento=== | ||
+ | |||
+ | # Baixe o arquivo de configuração da rede, no terminal digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 http://docente.ifsc.edu.br/odilson/RED29004/Roteador_com_duas_redes.imn | ||
+ | </syntaxhighlight> | ||
+ | # Execute o Imunes.<syntaxhighlight lang=bash> | ||
+ | sudo imunes</syntaxhighlight> | ||
+ | # Carregue o arquivo de configuração: <syntaxhighlight lang=bash> | ||
+ | File >> Open >> /home/aluno/Roteador_com_duas_redes.imn</syntaxhighlight> | ||
+ | # Inicie a simulação no Imunes: <syntaxhighlight lang=bash> | ||
+ | Experiment >> Execute </syntaxhighlight> | ||
+ | #* Ignore (''dismiss'') a mensagem de erro apresentada. O erro é proposital. | ||
+ | #* Observe que a rede é composta de 4 PCs ('''pc1''' - '''pc4'''), 1 roteador ('''router1''') e 2 switchs. O roteador possui duas interfaces de rede, com seus respectivos IPs - camada 3, que interliga as duas sub-redes. Cada ''switch'' tem 3 interfaces, mas sem IPs, camada 2. | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Anotar os endereços de hardware (ou MAC) e IP de cada dispositivo na rede. No terminal de cada PC execute: <syntaxhighlight lang=bash> | ||
+ | ifconfig </syntaxhighlight></span> ou | ||
+ | <syntaxhighlight lang=bash> | ||
+ | ip a </syntaxhighlight></span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Observar, interpretar e anotar a tabela de roteamento em todos os hospedeiros '''pc1''' - '''pc4''' e no roteador '''router1'''. Identificar os ''default gateways'' em cada PC.<syntaxhighlight lang=bash> | ||
+ | route -n </syntaxhighlight></span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Observar, "provar" e anotar que pacotes indo do '''pc1''' para '''pc2''' são enviados diretamente para '''pc2''', ou seja, entrega direta. Explique a entrega direta. | ||
+ | ## Deixe o ping entre '''pc1''' e '''pc2''', em '''pc1''' execute:<syntaxhighlight lang=bash> | ||
+ | ping 10.0.0.21</syntaxhighlight> | ||
+ | ## No '''router1''' capture pacotes com o Wireshark na interface eth0:<syntaxhighlight lang=bash> | ||
+ | Clique com o botão direito do mouse sobre o router1 >> Wireshark >> eth0... </syntaxhighlight> | ||
+ | ## Observe que não há tráfego de pacotes no '''router1''', portanto, entrega direta.</span> | ||
+ | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Observar, "provar" e anotar que pacotes indo de '''pc1''' para '''pc4''' são encaminhados ao roteador e, em seguida, entregues ao destino, ou seja, entrega indireta. Explique a entrega indireta.</span><span style="color: black;" data-mce-style="color: black;"></span></span> | ||
+ | |||
+ | ===Configuração básica de interface de rede=== | ||
+ | |||
+ | # No '''pc3''' teste a conectividade com os demais '''PCs''', por exemplo, fazendo ''pings'' para o '''pc1''' e '''pc4''': <syntaxhighlight lang=bash> | ||
+ | ping 10.0.0.20 | ||
+ | ping 10.0.1.21</syntaxhighlight> | ||
+ | #* Perceba que não há conectividade, não há resposta aos ''pings'', dado que a interface de rede do '''pc3''' não está devidamente configurada. | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Assim sendo, configure a interface de rede no '''pc3'''</span>. | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> Anote todos os comandos executados.</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Inicie configurando o IP com o comando '''ifconfig''' (man ifconfig) ou '''ip''' (man ip)</span>. Dica: Observe a configuração de rede do '''pc4''', que está na mesma sub-rede, e tente adaptá-la para o '''pc3'''. | ||
+ | ##* Assim que a configuração do IP for bem sucedida o ping para o '''pc4''' deverá funcionar. | ||
+ | ## Tente "pingar" para o '''pc1'''. Ainda não haverá sucesso, pois não há um roteador devidamente configurado no '''pc3'''. | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Configure o roteador default no pc3 com o comando '''route''' (man route)</span>. | ||
+ | ##* Assim que a configuração do roteador for bem sucedida o ping para o '''pc1''', e qualquer outro PC da rede, deverá funcionar. | ||
+ | ## O mesmo deverá ser capaz de "pingar" para qualquer outro PC ou ser "pingado". | ||
+ | ## Execute o comando ping do '''pc3''' para o '''pc4'''. Obteve sucesso? Se não corrija as configurações. | ||
+ | ## Execute o comando ping do '''pc3''' para o '''pc1'''. Obteve sucesso? Se não corrija as configurações. | ||
+ | ## Execute o comando ping do '''pc2''' para o '''pc3'''. Obteve sucesso? Se não corrija as configurações. | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | =AULA 14 - DIA 18/6/2022= | ||
+ | |||
+ | ANP Sábado | ||
+ | |||
+ | Camada de Rede | ||
+ | |||
+ | =AULA 15 - DIA 23/6/2022= | ||
+ | |||
+ | #Introdução a camada de rede | ||
+ | #Estrutura do Pacote IP | ||
+ | #O processo de encaminhamento de pacotes | ||
+ | |||
+ | ==REFERÊNCIAS== | ||
+ | |||
+ | *[https://docente.ifsc.edu.br/odilson/RCO60807/IP%20Basico.pdf Slides desta Aula - Kurose v.6 Modificado] | ||
+ | *[http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018-2/RCO-INTEGRADO/MACxIP.pdf Endereçamento MAC x Endereçamento IP] | ||
+ | *[https://docente.ifsc.edu.br/odilson/RCO60807/IP%20Roteamento.pdf Roteamento IP] | ||
+ | *[http://jodies.de/ipcalc IP CALCULATOR] | ||
+ | |||
+ | Extra: | ||
+ | * [http://linux-ip.net/html Guia de Administração da Camada IP no Linux] | ||
+ | |||
+ | {{Collapse top |Laboratório 14 - Roteamento Estático - Entrega Direta e Indireta - Campo TTL}} | ||
+ | |||
+ | |||
+ | ==LABORATÓRIO 14 - Roteamento Estático - Entrega Direta e Indireta - Campo TTL== | ||
+ | |||
+ | =Tabelas Estáticas de Roteamento= | ||
+ | ==Objetivos== | ||
+ | |||
+ | * Analisar o funcionamento de roteadores com tabelas estáticas de roteamento. | ||
+ | * Verificar a entrega direta e indireta de pacotes. | ||
+ | * Analisar ''loops'' em rede. | ||
+ | |||
+ | ==Arquitetura de rede== | ||
+ | Em todos os experimentos será utilizado como base a seguinte arquitetura de rede: | ||
+ | |||
+ | [[Arquivo:3_roteadores_tab_estaticas.png]] | ||
+ | |||
+ | ==PROCEDIMENTO 1 - Verificação e Configuração de Tabelas Estáticas de Roteamento== | ||
+ | |||
+ | ===ETAPA 0 === | ||
+ | |||
+ | Prepare um arquivo no googledrive (logar no domínio IFSC). Coloque como título LAB14-RCO. Coloque o seu nome. Resitre as etapas conforme solicitado na sequência. | ||
+ | |||
+ | ===ETAPA 1=== | ||
+ | |||
+ | # Baixe o arquivo de configuração da rede. No terminal digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 http://docente.ifsc.edu.br/odilson/RED29004/3_roteadores_tab_estaticas.imn | ||
+ | </syntaxhighlight> | ||
+ | # Execute o Imunes. | ||
+ | # Carregue o arquivo de configuração: <syntaxhighlight lang=bash> | ||
+ | File >> Open >> /home/aluno/3_roteadores_tab_estaticas.imn</syntaxhighlight> | ||
+ | # Inicie a simulação no Imunes: <syntaxhighlight lang=bash> | ||
+ | Experiment >> Execute </syntaxhighlight> | ||
+ | #* Observe que a rede é composta de 3 PCs ('''pc0''' - '''pc2''') e 3 roteadores roteador ('''R0''' - '''R2'''). | ||
+ | # Teste a conectividade de enlace e a configuração do ''default gateway''. | ||
+ | ## No '''pc0''' execute o comando: <syntaxhighlight lang=bash> ping 10.0.0.1 </syntaxhighlight> <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Obteve sucesso? Sim ou não e por quê?</span> | ||
+ | ## Teste a conectividade do '''pc0''' executando o comando: <syntaxhighlight lang=bash> ping 10.0.10.1 </syntaxhighlight> <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> Obteve sucesso? Sim ou não e por quê? Qual foi o erro observado?</span> | ||
+ | ## Por exemplo, no '''pc0''' execute o comando: <syntaxhighlight lang=bash> ping 10.0.10.2 </syntaxhighlight> <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> Obteve sucesso? Sim ou não e por quê? Qual foi o erro observado?</span> | ||
+ | |||
+ | RECORTE A TELA E COLE NO RELATÓRIO | ||
+ | |||
+ | ===ETAPA 2=== | ||
+ | |||
+ | # Configure o roteador padrão em todos os PCs. Adapte o comando exemplo do '''pc0''' para todos os PCs: <syntaxhighlight lang=bash> route add -net default gw 10.0.0.1 </syntaxhighlight> | ||
+ | #* Com este comando estamos: i) adicionando (''add'') uma rota ii) do tipo rede (''net'') iii) rota padrão (''default''), que é equivalente a 0.0.0.0 iv) com o roteador (gw - ''gateway'') v) 10.0.0.1 que identifica a interface do roteador, '''R0''', diretamente conectado ao host '''pc0''', no caso. | ||
+ | ## Teste novamente a conectividade, no '''pc0''' execute o comando: <syntaxhighlight lang=bash> ping 10.0.10.1 </syntaxhighlight> e <syntaxhighlight lang=bash> ping 10.0.10.2 </syntaxhighlight> <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Obteve sucesso? O comportamento foi o mesmo das tentativas anteriores? Sim ou não e por quê? Qual foi o erro observado?</span> | ||
+ | |||
+ | RECORTE A TELA E COLE NO RELATÓRIO | ||
+ | |||
+ | ===ETAPA 3=== | ||
+ | |||
+ | # Com os ping do item anterior ativos (um a cada tempo) rode o '''Wireshark''' no '''R0''' (clique com o botào direito do mouse sobre o '''R0''' e em seguida no menu '''wireshark eth0'''). | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Qual a origem e destino dos pacotes? Explique?</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Qual a diferença no ping entre os dois itens?</span> | ||
+ | |||
+ | RECORTE A TELA DO WIRESHARK E COLE NO RELATÓRIO. | ||
+ | |||
+ | ===ETAPA 4=== | ||
+ | |||
+ | # Iniciando o roteamento. | ||
+ | ## Deixe o '''ping''' do do '''pc0''' para o '''R1''' e o '''wireshark - eth0''' no '''R0''' rodando e estabeleça uma rota no roteador '''R1''' com o comando: <syntaxhighlight lang=bash> route add -net 10.0.0.0/24 gw 10.0.10.1 </syntaxhighlight> <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> O que ocorreu com o '''ping''' e o '''wireshark'''? Por quê?</span> | ||
+ | ##* <span style="color: rgb(0, 0, 0);" data-mce-style="color: #000000;">Com este comando estamos: i) adicionando (''add'') uma rota ii) do tipo rede (''net'') iii) para a rede 10.0.0.0/24 iv) com o roteador (gw - ''gateway'') v) 10.0.10.1 que identifica a interface do roteador, '''R0''', diretamente conectado ao roteador '''R1'''.</span></span> | ||
+ | ## Em todos os roteadores crie rotas para todas as redes. Em cada roteador deve-se criar 3 rotas, para as sub-redes "distantes", não diretamente conectadas. Lembre-se que os enlaces diretos já criam automaticamente rotas para as respectivas sub-redes diretamente conectadas ao equipamento, ou seja, entrega direta. Se tudo estiver correto, '''todos''' os PCs e roteadores devem pingar entre si. | ||
+ | ##* Crie rotas sempre pelo caminho mais curto, por exemplo, do '''R0''' para a rede do '''pc1''' e '''pc2''' passando por '''R1''' e para '''R2''' respectivamente. | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;"> Trace e anote as rotas entre os ''hosts'' através do '''traceroute'''.</span> | ||
+ | |||
+ | RECORTE AS TELAS MOSTRANDO UM PING ENTRE REDES FUNCIONANDO. MOSTRE TAMBÉM AS TABELAS DE ROTEAMENTO DE TODOS OS ROTEADORES. | ||
+ | EXPLIQUE A TABELA DE ROTEAMENTO DE R1. | ||
+ | |||
+ | ===ETAPA 5 - Testando a queda de enlace.=== | ||
+ | |||
+ | # Com todas as rotas em perfeito funcionamento, gere um '''ping''' do '''pc0''' para o '''pc2''' e execute '''wireshark eth0''' no '''R0''' , em seguida "derrube" o enlace entre o '''R0''' e '''R2'''. Por exemplo, no '''R2''' execute o comando: <syntaxhighlight lang=bash> ifconfig eth1 down </syntaxhighlight> ou <syntaxhighlight lang=bash> ip link set eth1 down </syntaxhighlight> <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">O que ocorreu com o '''ping''' e o '''wireshark'''? Por quê? Com este enlace comprometido qual seria a solução para a continuidade de funcionamento de toda a rede?</span> | ||
+ | |||
+ | ==PROCEDIMENTO 2 - Testando o campo TTL com ''loop'' na rede== | ||
+ | |||
+ | ===ETAPA 1=== | ||
+ | |||
+ | # Baixe o arquivo de configuração da rede, no terminal digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 http://docente.ifsc.edu.br/odilson/RED29004/3_roteadores_tab_estaticas_com_loop.imn | ||
+ | </syntaxhighlight> | ||
+ | # Execute o Imunes. | ||
+ | # Carregue o arquivo de configuração: <syntaxhighlight lang=bash> | ||
+ | File >> Open >> /home/aluno/3_roteadores_tab_estaticas_com_loop.imn</syntaxhighlight> | ||
+ | # Inicie a simulação no Imunes: <syntaxhighlight lang=bash> | ||
+ | Experiment >> Execute </syntaxhighlight> | ||
+ | # Execute o Wireshark na interface eth1 de todos os roteadores e na interface eth0 do '''pc0'''. | ||
+ | |||
+ | ===ETAPA 2=== | ||
+ | # Gere um tráfego único a partir do '''pc0''' para o '''pc2''': <syntaxhighlight lang=bash> | ||
+ | ping -c1 10.0.2.20 </syntaxhighlight> | ||
+ | # Pare a captura em todos os Wiresharks. | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Qual mensagem de erro foi recebida no terminal do '''pc0'''?</span> | ||
+ | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Analisando as capturas dos Wireshark responda:</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Aproximadamente em qual roteador o pacote foi descartado? Procure pelo menor valor de '''ttl'''.</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Qual o significado da linha com o seguinte conteúdo parcial: ''Time-to-live exceeded (Time to live exceeded in transit)''?</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Explique qual o objetivo do campo ttl no cabeçalho IP?</span></span> | ||
+ | |||
+ | RECORTE AS TELAS NECESSÁRIAS PARA DOCUMENTAR A ETAPA. | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | =AULA 16 - DIA 30/6/2022= | ||
+ | |||
+ | Após esta aula o aluno deverá: | ||
+ | |||
+ | *Utilizar o conceito de máscaras de tamanho variável para projetar subredes (co apoio de software) | ||
+ | |||
+ | ==REFERÊNCIAS== | ||
+ | |||
+ | *[https://jodies.de/ipcalc?host=12.17.192.0&mask1=18&mask2= IpCalculator] | ||
+ | *[https://www.davidc.net/sites/default/subnets/subnets.html Visual Subnet Calculator] | ||
+ | *[https://docente.ifsc.edu.br/odilson/RCO60807/PPTs%20-%20Cap%c3%adtulo%204%20A%20camada%20de%20REDE.pdf Slides adicionais IP] | ||
+ | * FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 30 jun. 2022. | ||
+ | |||
+ | ==EXERCÍCIO PARA CÁLCULO DE SUBREDE== | ||
+ | |||
+ | Um provedor de acesso a Internet possui o seguinte bloco de endereços IP: | ||
+ | 10.17.192.0/18. Os endereços IP de 10.17.192.0 até 10.17.207.255 já estão alocados | ||
+ | para clientes deste provedor (números fictícios). Este provedor precisa atender a 3 novos clientes. | ||
+ | uUm deles necessita de rede com pelo menos 2000 endereços de IP válidos. Os | ||
+ | demais necessitam de rede com pelo menos 60 e 40 IP válidos. | ||
+ | |||
+ | 1) Faça uma proposta para alocação de endereços IP para estes clientes. Construa uma tabela com o nome da rede, endereço e máscara da subrede, a faixa de endereçamento de hospedeiros e o número toral de hospedeiros. | ||
+ | |||
+ | 2) Baixe o arquivo abaixo e construa uma rede "roteável" externamente para todas as redes projetadas acima. Coloque pelo menos dois PCs em cada rede. Estes PCs deverão estar nos limites iniciais da faixa. O endereço final da faixa deve ficar no roteador da rede. | ||
+ | |||
+ | Fazer: | ||
+ | a) Todas as configurações de IPs (salvar o arquivo) | ||
+ | b) Todas as configurações de rede (salvar o arquivo) | ||
+ | c) Testar a conectividade entre redes ISP | ||
+ | d) Testar a conectividade a partir do mundo externo | ||
+ | |||
+ | REGISTRAR as tabelas de roteamento dos roteadores no relatório do experimento. Fazer uma TELA do ping do pc externo para um PC dentro do ISP, mostrando que as rotas estão funcionando. | ||
+ | |||
+ | USAR o arquivo base: [https://drive.google.com/file/d/1oOcHct7OuPhhJcNbuOSMau4XImC9lrPf/view?usp=sharing LabSubredes.imn] | ||
+ | |||
+ | =AULA 17 - DIA 07/7/2022= | ||
+ | |||
+ | =Tecnologia de Enlace Ethernet= | ||
+ | |||
+ | ==Objetivos== | ||
+ | |||
+ | *Compreender que Ethernet não é Internet e que não é necessário o mundo IP para haver comunicação. | ||
+ | *Compreender o papel do protocolo ARP | ||
+ | |||
+ | ==Fonte Base== | ||
+ | *[http://docente.ifsc.edu.br/odilson/RCO60807/Camada%20de%20enlace.pdf Camada de Enlace] | ||
+ | |||
+ | ==Animação Pearson/Kurose== | ||
+ | |||
+ | *[https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/csma-cd/index.html Animação CSMA/CD] | ||
+ | |||
+ | [[Arquivo:RCO-Animacao_SWITCH.gif | thumb | 370px| Funcionamento de um Switch]] | ||
+ | |||
+ | {{Collapse top |Laboratório 16 - Tecnologia Ethernet}} | ||
+ | |||
+ | ==Laboratório Tecnologia Ethernet== | ||
+ | |||
+ | ==PARTE 1 - Explorando o SWITCH e o endereço de ''Broadcast'' Ethernet== | ||
+ | |||
+ | # Baixe o arquivo de configuração da rede, no terminal digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 http://docente.ifsc.edu.br/odilson/Redes/switch.imn | ||
+ | </syntaxhighlight> | ||
+ | # Execute o Imunes. | ||
+ | # Carregue o arquivo de configuração: <syntaxhighlight lang=bash> | ||
+ | File >> Open >> /home/aluno/switch.imn</syntaxhighlight> | ||
+ | # Inicie a simulação no Imunes: <syntaxhighlight lang=bash> | ||
+ | Experiment >> Execute </syntaxhighlight> | ||
+ | # Identificar o endereço de Hardware (MAC) do PC2. Use o ifconfig ou ip. Note que NÃO existe endereço IPv4 configurado. | ||
+ | # Baixe o arquivo '''MacEnvioMsg.py''', no terminal da máquina real digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 https://docente.ifsc.edu.br/odilson/Redes/MacEnvioMsg.py | ||
+ | </syntaxhighlight> | ||
+ | # Copiar o arquivo para a Máquina Virtual PC1. No terminal da máquina real digite:<syntaxhighlight lang=bash> | ||
+ | sudo hcp /home/aluno/MacEnvioMsg.py pc1: </syntaxhighlight> | ||
+ | # Executar o Wireshark no PC2, PC3 e PC4. | ||
+ | # No PC1 enviar uma mensagem para o PC2 usando o endereço de hardware (MAC) identificado anteriormente, <span style="color: red;">Lembre-se se substituir o ENDERECO_MAC pelo MAC adequado:<syntaxhighlight lang=bash> | ||
+ | python MacEnvioMsg.py -s ENDERECO_FONTE -d ENDERECO_MAC -i Alo-Mundo </syntaxhighlight> </span> | ||
+ | #* Observe nos Wiresharks quem recebeu a mensagem. | ||
+ | #* Somente o PC2 deve receber pois o ''switch'' entrega o quadro somente para a porta de saída associada ao respectivo MAC destino. | ||
+ | #* CASO todos PCs tenham recebido, isto é devido ao fato de o switch ainda não ter aprendido quem está conectado em cada porta. Neste caso, num segundo envio, o switch já terá associado os MAC dos PCs às respectivas portas e o envio deve ser somente ao PC2. | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Perguntas:</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Quais PCs receberam a mensagem?</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Quantas e quais camadas se observa na mensagem? Obs.: observe a janela intermediária do Wireshark.</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Quais foram os MACs de origem e destino? A que PCs pertencem os mesmos?</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Há camada de rede, IP, na mensagem?</span> | ||
+ | # No PC1 enviar uma mensagem em ''broadcast'' (endereço FF:FF:FF:FF:FF:FF)<syntaxhighlight lang=bash> | ||
+ | python MacEnvioMsg.py -s ENDERECO_FONTE -d FF:FF:FF:FF:FF:FF -i GritoNaRede </syntaxhighlight> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Perguntas:</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Quais PCs receberam a mensagem?.</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Quais foram os MACs de origem e destino? A que PCs pertencem os mesmos?</span> | ||
+ | |||
+ | ==PARTE 2 - Explorando o ARP== | ||
+ | O protocolo ARP serve como apoio para descoberta do endereço MAC dado que se sabe o endereço IP de uma máquina. Quando um PC deseja enviar um pacote IP para uma máquina na rede local, ele necessita descobrir o endereço MAC desta máquina. O protocolo ARP usa o ''broadcast'' ETHERNET para perguntar para todas as máquinas na rede QUEM tem o endereço IP em questão. A máquina que possui o endereço responderá informando o seu MAC. | ||
+ | |||
+ | # Configure o IP de todos os PCs. Todos devem pertencer a rede 10.0.0.0/24. Por exemplo, no pc1: <syntaxhighlight lang=bash> | ||
+ | ifconfig eth0 10.0.0.1/24 | ||
+ | </syntaxhighlight> | ||
+ | # Rode o Wireshark no PC2. | ||
+ | # Faça um ping do PC1 no PC2 e observe a sequência de pacotes trocados. Faça um diagrama no tempo mostrando a troca de pacotes até a realização do ECHO REQUEST do ping. Os resultados do Wireshark devem ser similares a: [[Arquivo:RCO-TelaARP.jpg | 1000px| Troca de pacotes ARP e PING]] | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Confira e anote o cache do arp no PC1 fazendo:</span><syntaxhighlight lang=bash> | ||
+ | arp -a</syntaxhighlight> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Confira e anote o cache do arp no PC2 fazendo:</span><syntaxhighlight lang=bash> | ||
+ | arp -a</syntaxhighlight> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Confira e anote o cache do arp no PC3 fazendo:</span><syntaxhighlight lang=bash> | ||
+ | arp -a</syntaxhighlight> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Faça um ping do PC1 no PC3.</span> | ||
+ | ## <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Confira e anote novamente o cache do arp no PC3 fazendo:</span><syntaxhighlight lang=bash> | ||
+ | arp -a</syntaxhighlight> | ||
+ | ##* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">A tabela foi atualizada após o ping?</span> | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | =AULA 18 - DIA 14/7/2022= | ||
+ | |||
+ | ==Objetivos== | ||
+ | |||
+ | *Introdução ao IPv6 | ||
+ | *Introdução ao DHCP e NAT | ||
+ | |||
+ | |||
+ | ==Referências Adicionais== | ||
+ | |||
+ | *[https://docente.ifsc.edu.br/odilson/RCO60807/IP_DHCP_NAT.pdf Slides DHCP e NAT] | ||
+ | |||
+ | *[https://pt.wikipedia.org/wiki/Registro_de_Endere%C3%A7os_da_Internet_para_a_Am%C3%A9rica_Latina_e_o_Caribe RIR] | ||
+ | |||
+ | {{Collapse top |Laboratório 17 - Introdução ao DHCP}} | ||
+ | |||
+ | ==PARTE 1 - Laboratório DHCP== | ||
+ | |||
+ | Atenção: Relatório simplificado. Fazer somente | ||
+ | ===ETAPA 1=== | ||
+ | |||
+ | Criar uma rede simples com um servidor e um pc conforme orientado pelo professor. | ||
+ | |||
+ | *Desconfigurar o ip do PC | ||
+ | |||
+ | ===ETAPA 2=== | ||
+ | |||
+ | No servidor (host1) ir em /etc/dhcp | ||
+ | |||
+ | Editar o arquivo dhcp.conf da forma: | ||
+ | |||
+ | |||
+ | subnet 10.0.0.0 netmask 255.255.255.0 { | ||
+ | range 10.0.0.50 10.0.0.100; | ||
+ | option routers ip_do_roteador; | ||
+ | } | ||
+ | |||
+ | ===ETAPA 3=== | ||
+ | |||
+ | Criar um arquivo leases vazio: | ||
+ | |||
+ | touch /var/lib/dhcp/dhcpd.leases | ||
+ | |||
+ | ===ETAPA 5=== | ||
+ | |||
+ | Partir o servidor: | ||
+ | dhcpd -cf ./dhcpd.conf | ||
+ | |||
+ | ===ETAPA 6 === | ||
+ | |||
+ | Colocar o wireshark escutando na eth0 no host1 | ||
+ | |||
+ | ===ETAPA 7 === | ||
+ | |||
+ | Executar dhclient no pc1: | ||
+ | dhclient eth0 | ||
+ | |||
+ | ===ETAPA 8 === | ||
+ | |||
+ | Conferir a configuração do pc1 | ||
+ | |||
+ | ===ETAPA 9 === | ||
+ | |||
+ | Cortar e colar no MINI-RELATÓRIO os pacotes correspondentes a troca de msgs de DHCP. Discutir se troca de msgs coincide com o que foi apresentado nos slides. | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | =AULA 19 - Dia 21/07/2022 - Avaliação 2 = | ||
+ | |||
+ | Aula com laboratório avaliativo. | ||
+ | |||
+ | *VER PDF no SIGAA | ||
+ | |||
+ | =PARTE 2 - ''Neighbor Discovery'' e roteamento estático no IPv6= | ||
+ | |||
+ | Roteiro do Prof.Odilson baseado no material disponível no Livro - [http://ipv6.br/pagina/livro-ipv6/ Laboratório de IPv6]. | ||
+ | |||
+ | Slides de [http://docente.ifsc.edu.br/odilson/RED29004/IPv6.pdf endereçamento IPv6]. | ||
+ | |||
+ | ==Objetivos do laboratório:== | ||
+ | *Um primeiro contato com o protocolo [https://pt.wikipedia.org/wiki/IPv6 IPv6] | ||
+ | *Compreender o funcionando do ''Neighbor Discovery'', o equivalente ao ARP (''Address Resolution Protocol'') do IPv4, que em resumo é uma tabela contendo a relação ente IPs e MACs. | ||
+ | *Aprender configurações básicas de interfaces IPv6 no Linux | ||
+ | *Aprender configurações básicas de rotas IPv6 | ||
+ | |||
+ | ==Introdução teórica== | ||
+ | Obs.: texto copiado literalmente de: [http://ipv6.br/pagina/livro-ipv6/ Laboratório de IPv6]. | ||
+ | |||
+ | A '''descoberta de vizinhança''' por meio do protocolo ''Neighbor Discovery'' no | ||
+ | IPv6 é um procedimento realizado pelos nós de uma rede para descobrir endereços físicos dos dispositivos vizinhos presentes no mesmo enlace. A função deste protocolo se assemelha à função do ARP e do RARP no IPv4. | ||
+ | *O procedimento é iniciado quando um dispositivo tenta enviar um pacote cujo endereço físico de destino é desconhecido. O nó solicitante envia uma mensagem ''Neighbor Solicitation'' (NS) para todos os nós do enlace pertencentes ao grupo ''multicast solicited-node'' (ff02::1:ffXX:XXXX), de modo que XX:XXXX são os últimos 24 bits do endereço IPv6 em que está interessado. | ||
+ | *É possível notar que, por uma coincidência dos últimos 24 bits, é bastante provável que apenas o nó de destino faça realmente parte deste grupo. Isto é um ''truque'' interessante do IPv6 para diminuir o tráfego deste tipo de pacote na rede. | ||
+ | *Na mensagem NS, o endereço IPv6 a ser resolvido é informado no campo ''Target''. O campo ''Source link-layer address'' informa ao nó de destino o endereço MAC do nó de origem, poupando-o de ter que fazer o mesmo procedimento no sentido inverso. | ||
+ | *O nó de destino, dono do IPv6 requisitado, ao receber este pacote, envia uma mensagem ''Neighbor Advertisement'' (NA) como resposta diretamente ao nó requisitante. O seu endereço físico será informado no campo ''Target link-layer address''. | ||
+ | *A informação de mapeamento entre endereços IP e endereços físicos é armazenada em uma tabela chamada ''neighbor cache''. Nela também fica registrado o ''status'' de cada destino, informando se o mesmo é alcançável ou não. | ||
+ | |||
+ | ==Roteiro de atividades:== | ||
+ | {{Collapse top |Laboratório 18 - Básico do Ipv6}} | ||
+ | |||
+ | A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 ''Global Unicast'' já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento. | ||
+ | |||
+ | [[Arquivo:IPv6.png]] | ||
+ | |||
+ | # Baixe o arquivo de configuração da rede, no terminal digite: <syntaxhighlight lang=bash> | ||
+ | wget -4 http://docente.ifsc.edu.br/odilson/RED29004/IPv6.imn | ||
+ | </syntaxhighlight> | ||
+ | # Execute o Imunes. | ||
+ | # Carregue o arquivo de configuração: <syntaxhighlight lang=bash> | ||
+ | File >> Open >> /home/aluno/IPv6.imn</syntaxhighlight> | ||
+ | # Inicie a simulação no Imunes: <syntaxhighlight lang=bash> | ||
+ | Experiment >> Execute </syntaxhighlight> | ||
+ | #* Ignore a mensagem de erro, o mesmo é proposital. | ||
+ | #* Observe que a rede é composta de 4 PCs ('''pc0''' - '''pc3''') e 2 roteadores ('''R0''' - '''R1''') e 1 switch. | ||
+ | # Execute o wireshark em R1:<syntaxhighlight lang=bash> | ||
+ | clique com o botão direito do mouse sobre seu ícone >> Wireshark >> eth0... </syntaxhighlight> | ||
+ | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Vamos testar o ''Neighbor Discovery'', anote a saída do comando. A partir do '''pc2''' execute: </span><syntaxhighlight lang=bash> | ||
+ | ndisc6 -m fc00:2::1 eth0 </syntaxhighlight> | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Esse comando descobre e retorna o ''MAC address'' da interface de rede que possui o endereço IPv6 informado. É equivalente ao protocolo ARP do IPv4.</span></span> | ||
+ | # Observe que todas as interfaces de rede já estão pré-configuradas, exceto do '''pc3'''. | ||
+ | # Vamos adicionar o endereço IPv6 à interface de rede no '''pc3''': <syntaxhighlight lang=bash> | ||
+ | ip addr add fc00:2::21/64 dev eth0 </syntaxhighlight> | ||
+ | # Faça um '''ping6''' entre o '''pc3''' ao '''pc2''': <syntaxhighlight lang=bash> | ||
+ | ping6 fc00:2::20 </syntaxhighlight> | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Se tudo estiver devidamente configurado, deve-se obter sucesso no ping entre o '''pc3''' e '''pc2'''. Entrega direta ou indireta?</span> | ||
+ | # Faça um '''ping6''' entre o '''pc3''' ao '''pc0'''. | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Obteve sucesso? Sim ou não e por quê?</span> | ||
+ | # No '''pc3''' use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando '''ifconfig''': <syntaxhighlight lang=bash> | ||
+ | ip addr show dev eth0 </syntaxhighlight> | ||
+ | # <span style="color: #9966CC;" data-mce-style="color: #9966cc;"><span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">No '''pc3''', liste a tabela de roteamento com o comando:</span> <syntaxhighlight lang=bash> | ||
+ | ip -6 route show </syntaxhighlight></span> | ||
+ | # No '''pc3''', acrescente o ''default gateway'' com o seguinte comando: <syntaxhighlight lang=bash> | ||
+ | ip -6 route add default via fc00:2::1 dev eth0 </syntaxhighlight> | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Confira novamente a tabela de roteamento do '''pc3'''.</span> | ||
+ | # Faça novamente um '''ping6''' entre o '''pc3''' ao '''pc0'''. | ||
+ | #* <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Obteve sucesso? Sim ou não e por quê?</span> | ||
+ | # Pode-se conferir se as rotas, nos roteadores ou qualquer host, com o comando: <syntaxhighlight lang=bash> | ||
+ | ip -6 route show </syntaxhighlight> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">A partir do computador '''pc0''' use o comando '''traceroute6 IPv6_DE_DESTINO''' e anote a rota para todos os demais PCs. Ex:</span><syntaxhighlight lang=bash> | ||
+ | traceroute6 fc00:1::20 </syntaxhighlight> | ||
+ | # Pare a captura no Wireshark. | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Baseado na captura de pacotes do Wireshark explique o processo de descoberta de vizinhança (''Neighbor Solicitation'' - '''NS''' e ''Neighbor Advertisement'' - '''NA'''), citando os endereços de '''multicast''' e '''link local''' utilizados. Obs.: ao final do roteiro há alguns exemplos de mensagens.</span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Numa mensagem do tipo ''Neighbor Solicitation'' qual é o endereço IPv6 de origem e destino? Explique/defina ambos.</span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Em todos os hosts rode o comando <syntaxhighlight lang=bash> ip -6 neighbor show </syntaxhighlight> | ||
+ | ## Qual é a funcionalidade desse comando? | ||
+ | ## Qual é o significado do conteúdo dessa tabela? | ||
+ | ## A tabela mostrada em cada um dos casos é compatível com o diagrama da rede montado? | ||
+ | ## Por que, por exemplo, na tabela do '''pc2''' não há uma referência explícita ao '''pc0'''?</span> | ||
+ | # <span style="color: rgb(0, 128, 0);" data-mce-style="color: #008000;">Explique sucintamente as diferenças na comunicação baseada em IPv4 e IPv6.</span> | ||
+ | |||
+ | * Alguns exemplos de campos visualizáveis para uma mensagem do tipo ''Neighbor Advertisement'', presentes nas camadas destacadas: | ||
+ | # '''Source''' (camada Ethernet) | ||
+ | #* A origem é o endereço MAC da interface do dispositivo que enviou a resposta. | ||
+ | # '''Protocol''' (camada Ethernet) | ||
+ | #* Indica que a mensagem utiliza IPv6. | ||
+ | # '''Next header''' (camada IPv6) | ||
+ | #* Indica qual é o próximo cabeçalho. Neste caso, o valor 58 (0x3a) refere-se a uma mensagem ICMPv6. | ||
+ | # '''Source''' (camada IPv6) | ||
+ | #* A origem é o endereço IP da interface diretamente ligada ao enlace em que a requisição foi recebida. | ||
+ | # '''Destination''' (camada IPv6) | ||
+ | # '''Type''' (camada ICMPv6) | ||
+ | #* Indica que a mensagem é do tipo 136 (Neighbor Advertisement). | ||
+ | # '''Flags''' (camada ICMPv6) | ||
+ | #* Uma mensagem NA possui três flags: | ||
+ | ## Indica se quem está enviando é um roteador. Neste caso, o valor marcado é 0, pois não é um roteador. | ||
+ | ## Indica se a mensagem é uma resposta a um NS. Neste caso, o valor marcado é 1, pois é uma resposta. | ||
+ | ## Indica se a informação carregada na mensagem é uma atualização de endereço de algum nó da rede. Neste caso, o valor marcado é 1, pois está informando o endereço pela primeira vez. | ||
+ | # '''Target Address''' (camada ICMPv6) | ||
+ | #* Indica o endereço IP associado às informações das flags. Neste caso, é o próprio endereço da interface do dispositivo em questão. | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | =AULA 20 - Dia 23/07/2022 - Recuperações - Conteúdo adicional de Endereçamento IPv4 e IPv6= | ||
+ | |||
+ | *Aula ANP (sábado) | ||
+ | *Aula presencial para um aluno atividade de recuperação da A2 | ||
+ | *Proposição de tarefa no SIGAA MT2.8 |
Edição atual tal como às 11h38min de 18 de agosto de 2022
Instalação do imunes
Ver anotações do Prof.Odilson - Instalação Imunes
BOA PARTE DOS LABS DESTE CURSO FORAM ELABORADOS PELO PROF.ODILSON
AULA 01 - AULA DIA 31/03/2022
Registrada no SIGAA. Ver pdf de slides e do laboratório.
AULA 02 - AULA DIA 2/04/2022
Registrada no SIGAA. Aula sábado conforme determinação do DEPE. Ver leitura e questionário registrado.
TAREFA MT1.2
AULA 03 - AULA DIA 7/04/2022
Ver slides de apoio no SIGAA.
Laboratório 1
Ver pdf no SIGAA.
Objetivos
Após este laboratório o aluno deverá ser capaz de:
- Utilizar a ferramenta wireshark para capturar de pacotes da rede, usando o filtro de display;
- Utilizar a ferramenta imunes para simulação funcional de uma rede de computador;
- Explanar a estrutura de um pacote de rede caracterizando o encapsulamento devido a múltiplas camadas de protocolos;
- Explicar o conceito de protocolo através da análise de troca de pacotes com ping e traceroute
- Utilizar a opção de flow graph para visualizar as trocas de mensagens.
- Identificar equipamentos em uma rede: hosts, switches e roteadores;
- Assimilar o conceito de internetwork (conexão entre redes);
- Identificar a necessidade de uso de endereços e rotas em uma rede de pacotes;
Laboratório 2
Este laboratório não terá relatório a ser registrado no SIGAA. Faremos sob a orientação do professor.
Laboratório 2 - Wireshark: observação simples de pacote e identificação de encapsulamento |
---|
FUNDAMENTAÇÃO TEÓRICA: Sobre o analisador WiresharkO analisador de pacotes exibe os conteúdos de todos os campos dentro de uma mensagem de protocolo. Para que isso seja feito, o analisador de pacotes deve “entender” a estrutura de todas as mensagens trocadas pelos protocolos. Suponha que estamos interessados em mostrar os vários campos nas mensagens trocadas pelo ping. O analisador de pacotes entende o formato dos quadros Ethernet, e desta forma pode identificar o datagrama IP dentro de um quadro. Ele também entende o formato do datagrama IP, para que ele possa extrair o pacote ICMP usado pelo ping. Nós utilizaremos o sniffer Wireshark (http://www.wireshark.org) para estes laboratórios, o que nos permite exibir os conteúdos das mensagens sendo enviadas/recebidas de/por protocolos em diferentes camadas da pilha de protocolos. Tecnicamente falando, Wireshark é um analisador de pacotes que pode ser executado em computadores com Windows, Linux/UNIX e MAC. É um analisador de pacotes ideal para nossos laboratórios, pois é estável, tem uma grande base de usuários e é bem documentado incluindo um guia de usuário (http://www.wireshark.org/docs/wsug_html/), páginas de manual (http://www.wireshark.org/docs/man-pages/), e uma seção de FAQ detalhada (http://www.wireshark.org/faq.html), funcionalidade rica que inclui a capacidade de analisar mais que 500 protocolos, e uma interface com o usuário bem projetada. OBS: Se o wireshark estiver instalado em sua máquina, para chamá-lo a partir de um terminal deve fazer: sudo wireshark ETAPA 1: Identificando os campos da interface do WiresharkQuando você executar o programa Wireshark, a interface com o usuário exibida na Figura abaixo aparecerá. Inicialmente, nenhum dado será apresentado nas janelas. A interface do Wireshark tem seis componentes principais:
ETAPA 2 - Verificando pacotes do ping (ICMP REQUEST/REPLY))
Etapa 3
|
Laboratório 3
Este laboratório deverá ser registrado no SIGAA. Utilizaremos o simulador IMUNES. Aguarde as orientações básicas de uso.
Laboratório 3 - LANs, WANs, Equipamentos de Redes, Conectividade na rede: Ping |
---|
Este laboratório é formado uma mescla de teoria e prática e deverá ser elaborado juntamente com o professor na sala. ETAPA 1
ETAPA 2
ETAPA 3
ETAPA 3
ETAPA 4
ETAPA 5
ETAPA 6
ETAPA 7
|
AULA 04 - dia 14/04/2021
Objetivos
Após esta aula o aluno deverá:
- reconhecer o papel da camada de aplicação em uma estrutura de camadas de protocolos;
- identificar o modelo cliente servidor usado em grande parte de aplicações da Internet;
- reconhecer a necessidade de endereçamento em nível de processos para identificação de aplicações;
- observar o processo de encapsulamento/desencapsulamento de dados da aplicação em uma estrutura de camadas de protocolos.
Slides desta aula
Ver sigaa.
Fundamentação Teórica
Camadas de Protocolos e posicionamento da camada de aplicação
Vamos fazer uma analogia com um envio de um livro de um membro de um clube de livro para outro. Observe que o serviço esperado de um protocolo em nível de aplicação é resolver um problema específico já em nível de aplicação. Neste caso, é a transferência de um livro de um local para outro através de entidades de aplicação (pessoas) que estão trocando livros.
Camadas de Protocolos(ícones do www.publicdomainvectors.org)
Protocolo e Serviços da Camada de Aplicação
O desenho abaixo mostra um usuário USANDO um serviço de acesso PÁGINAS WEB. Neste desenho pode-se observar:
- um programa cliente é utilizado pelo usuário para REQUISITAR uma página WEB que se encontra em outro COMPUTADOR;
- um programa SERVIDOR espera por mensagens de REQUISIÇÃO e RESPONDE enviando a página solicitada;
- Um PROTOCOLO DE APLICAÇÃO é executado entre as partes (entidades que se comunicam).
- Observar que tanto cliente como o servidor podem ser ENDEREÇADOS por um número da máquina (IP) e um endereço de porta.
- Um mecanismos chamado socket (como se fosse um plugue) de uma tomada permite a aplicação se conectar ao protocolo da camada de
baixo.
Protocolo da Camada de Aplicação(ícones do www.publicdomainvectors.org)
Laboratório 4
Laboratório 4 - Camada de Aplicação: Colocando no "ar" aplicações cliente servidoras |
---|
Neste laboratório vamos construir uma pequena internet, colocando dois serviços no "ar": um web server e um servidor ssh. Mostremos uma visão do posicionamento dos "pacotes de aplicação" capturados para cada um destes serviços. Os serviços são, portanto:
ETAPA 1 - Construindo uma rede para dar suporte aos serviçosVamos usar o simulador imunes para TER um sentimento do comportamento em camadas em uma rede simples. Construir no Imunes a rede a seguir. Se preferir importe o arquivo daqui. ETAPA 2 - Colocando serviço (camada aplicação) no ARVamos agora executar 3 serviços que se utilizam de protocolos da camada de aplicação:
ETAPA 3 - Iniciando a REDEETAPA 4 - Executando serviço TELNETEtapa 4.1- Iniciando o servidorO serviço TELNET pode iniciado a partir da linha de comando no computador onde será executado o lado servidor. Por facilidade, no imunes vamos iniciá-lo conforme abaixo. Faça um comando ps aux e mostre que o serviços está se executando na máquina alvo. ETAPA 4.2 - Criando um usuário no host1 para fazer um acesso remotoVamos criar um usuário no host1 para podermos acessar o computador remotamente via TELENET
ETAPA 4.3 - Acessando remotamente o host1 através da conta criada
RECORTE E COLE a TELA no relatório. ETAPA 4.4 - Captura de pacotes do telnetAgora vamos capturar pacotes do telnet. Basta usar o wireshark em qualquer interface onde passam os pacotes. Por exemplo, no próprio pc2, no host1 ou em qualquer roteador por onde os pacotes passam. SIGA as instruções do PROFESSOR e recorte a tela do wireshark, filtrando os pacotes do TELNET. Mostre o encapsulamento de pacotes de aplicação e seu posicionamento na estrutura de pacotes. ETAPA 5 - Executando serviço WEBEtapa 5.1 - Preparando uma página html para colocar no servidor WEBEscolha uma máquina para utilizar como Web Server. Prepare uma página html neste SERVIDOR. As páginas do servidor se encontram no diretório /var/www/html Páginas da internet são construídas usando o formato HTML. Ver aqui o que é uma página HTML e como construir uma ágina simples. Vá até o diretório /var/www/html e use o editor nano para editar uma página chamada index.html
<html>
<body>
<h1>Rede de Computadores Subsequente</h1>
<p>Pagina teste do aluno Pedro Alvares Cabral da Silva</p>
</body>
</html>
Etapa 5.2 - Colocando o Web Server no arDe nada adianta ter uma página html e não ter um programa SERVIDOR que possa enviá-la para um cliente, quando este solicitá-la. Vamos iniciar o SERVIÇO WEB para testar o protocolo HTTP. Note que HTTP é o protocolo executado entre o cliente e o servidor. O servidor WEB "cuida" das páginas do site (da rede onde se encontra). O programa servidor disponível é o lightppd Para executá-lo, abrir um terminal no servidor e executar o comando:
lighttpd -f /etc/lighttpd/lighttpd.conf
ps aux Etapa 5.3 - Acessando o Web Server a partir de um clienteFaça um acesso a sua página, a partir do firefox (cliente HTTP) em um PC cliente de sua escolha. Coloque a URL (recurso a ser acessado) no topo do firefox. RECORTE a tela do acesso e corte no relatório. Etapa 5.4 - Capturando pacotes no cliente e visualizando pacotes httpFaça uma captura de pacotes com wireshark e mostre os pacotes http envolvidos na comunicação.
|
AULA 5 - DIA 28/04/2022
Objetivos
Após esta aula o aluno deverá ser capaz de:
- explicar a operação básico do protocolo http;
- reconhecer a diferença entre as versões 1.0 e 1.1. do protocolo HTTP;
Leitura recomendada
- FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 28 abr. 2022. CAP.22.
Slides desta aula
Laboratório 5 - HTTP BÁSICO: Desvendando o HTTP com Wireshark |
---|
Prepare um documento no googledrive para anotar o relatório deste experimento. Coloque o seu nome no início e denomine o arquivo de Lab5-HtmlBasico. ObjetivosNeste laboratório o aluno deverá explorar aspectos básicos da operação do protocolo HTTP incluindo:
PARTE 1 - A Interação Básica GET/Resposta do HTTPETAPA 1 - Preparativos Iniciais
ETAPA 2 - Capturando e visualizando pacotes html
ETAPA 3 - Identificando as mensagens GET e a resposta
RECORTE a tela com as mensagens, cole no relatório e explique o significado das mesmas. Não é necessário explicar cada campo dos headers, mas passar uma noção do significado das mensagens. ETAPA 4- Identificando o encapsulamento do "pacote" html na camada de transporte
RECORTE a tela com detalhe do encapsulamento de uma mensagem html nas camadas inferiores. Discuta este encapsulamento. ETAPA 5 - Identificando o texto html no pacote http de respostaObserve as informações das mensagens HTTP GET e de resposta. Você consegue inclusive enxergar a mensagem (página) mostrada no navegador: RED29004! Página de teste. Indique em que parte da mensagem você encontrou a informação que responde às questões. RECORTE a tela e mostre onde está o texto html no pacote http. ETAPA 6 - Responda as perguntas abaixo
PARTE 2 - Interação Básica GET/Resposta do HTTP usando TELNET e REQUISIÇÃO MANUALVamos repetir o acesso aos links acima, porém sem usar o navegador. A ideia é que nós façamos o papel de navegador. Isso deve ser feito com os seguintes passos: ETAPA 1 - Preparativos iniciais
ETAPA 2
RECORTE A TELA e analise/responda a pergunta abaixo
ETAPA 3
RECORTE A TELA e discuta. ETAPA 4
ETAPA 5
ETAPA 6
PARTE 3 - Desafio - Um cenário com dois web servers e referências de páginas entre sitesConstruir um cenário no IMUNES usando dois web servidores. Fazer duas páginas uma em cada servidor. Uma página deve conter o link para a outra. Examinar |
AULA 6 - DIA 5/05/2022
Objetivos
PARTE 1
Após esta aula o aluno deverá ser capaz de:
- Explicar o comando GET Condicional/Resposta no protocolo HTTP;
- Explicar o comportamento do http com documentos HTML com Objetos Incluídos;
PARTE 2
- explicar as funcionalidades básicas do DNS, observando pacotes gerados pelo mesmo em uma consulta básica.
Leitura recomendada
- FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 28 abr. 2022. CAP.22.
PARTE 1 da AULA - Características adicionais do HTTP
LABORATÓRIO 06 - Características adicionais do HTTP
Laboratório 6 - Características adicionais do HTTP |
---|
PARTE 1 - A Interação HTTP GET Condicional/RespostaA maioria dos navegadores web tem um cache (seção 2.2.6 do livro) e, desta forma, realizam GET condicional quando pretendem baixar um objeto HTTP já presente em seu cache.
ETAPA 1 - Preparativos Iniciais
Recorte a tela e mostre a tela capturada com a devida URL ETAPA 2 - Verificando o acesso da página
ETAPA 3 - Identificando o uso do campo "If-Modified-Since"
ETAPA 4 - Encontrando explicações para o cenário observado
PARTE 2 - Documentos HTML com Objetos IncluídosESTE laboratório é somente demonstrativo. Agora que vimos como o Wireshark mostra o tráfego capturado para arquivos em HTML simples, também podemos observar o que acontece quando o seu browser baixa um arquivo com objetos incluídos, no nosso exemplo, imagens que estão armazenadas em outros servidores. Faça o seguinte:
Tarefa:
|
PARTE 2 DA AULA Introdução ao Serviço DNS
Referências
Laboratório 7 - Introdução ao Serviço DNS |
---|
LABORATÓRIO 7 - Introdução ao DNSNeste laboratório vamos explorar algumas características do sistema DNS. Utilizaremos máquinas reais inicialmente. ETAPA 1CRIAR um arquivo no google docs (nome LAB07-IntroducaoDNS) para construir o relatório simplificado deste experimento. Coloque seu nome. Responda cada etapa que se segue. ETAPA 2 - FUNDAMENTAÇÃO TEÓRICA - O que é o DNSCom a ajuda de explicações do professor, dos slides da aula passada e das referências da minha biblioteca responda com as SUAS palavras:
ETAPA 3 - FUNDAMENTAÇÃO TEÓRICA - Consulta ao sistema DNS
ETAPA 4 - FUNDAMENTAÇÃO TEÓRICA - Nome de domínios e tipo de registros DNS
ETAPA 5 - PRÁTICA - Vendo qual servidor DNS está configurada na máquinaQualquer consulta a um nome deve ser realizada a um primeiro SERVIDOR DNS (não é AUTORITATIVO necessariamente) que provavelmente se encontra em sua rede local. NO SEU computador deve estar armazenado o IP deste servidor. Execute e explique o comando abaixo. Recorte a tela e cole no relatório. cat /etc/resolv.conf Note que este comando é para um Linux RECORTE A TELA, cole no relatório e discuta. ETAPA 6 - PRÁTICA - Consulta simples ao DNS gerada a partir de um comando pingBaseado em do Prof.Odilson Nesta etapa vamos verificar o momento em que é realizada uma consulta ao DNS por ocasão da realização de um ping. Vamos usar o wireshark para verificar os pacotes DNS antes do envio de pacotes do ping. O comando ping pode ser usado tanto com um endereço IP como com um nome de host.
RECORTE A TELA neste ponto e cole no relatório. ETAPA 7 - Discussão da captura realizada
ETAPA 8 - PRÁTICA - Consultas DNS por meio de ferramentas especializadas - Consulta simples (tipo registro A)Usando o programa host ou dig, que são executados no terminal, descubra e anote no relatório os endereços IP associados aos seguintes nomes de hosts (máquinas):
Exemplo: host www.ifsc.edu.br RECORTE A TELA e cole no relatório. Discuta o que o comando faz. ETAPA 9 - PRÁTICA - Consultas DNS por meio de ferramentas especializadas - Consulta simples (tipo registro NS)Agora descubra e anote no relatório quais são os servidores DNS responsáveis por cada um dos domínios dos nomes acima.
RECORTE A TELA e cole no relatório. Discuta o que o comando faz. |
AULA 7 - DIA 7/05/2022
Objetivos
- Outros protocolos de aplicação e revisão do HTTP
Aula assíncrona no SÁBADO conforme DEPE.
TAREFA MT1.7
AULA 8 - DIA 12/05/2022
Objetivos
Após esta aula o aluno deverá
- Saber o conceito de ZONA e DOMÍNIO no DNS
- entender a necessidade de um servidor (autoritativo) de DNS
- Estabelecer um serviço de DNS e fazer com que um cliente acesse este servidor.
- Verificar a troca de msgs DNS entre cliente e servidor (registro A)
- Visualizar de forma geral serviços em nível de camada de aplicação com o DNS.
- Ter uma visão do posicionamento dos "pacotes de aplicação" capturados para cada um destes serviços.
Laboratório 8 - Uma mini Internet com DNS |
---|
Camada de Aplicação: Colocando no "ar" aplicações servidoras com DNSDescrição do LaboratórioNeste laboratório construiremos uma MINI INTERNET com alguns serviços da camada de aplicação e com o apoio do DNS. Vamos investigar novamente o comportamento do DNS. VocÊ terá a oportunidade de iniciar um servidor DNS responsável por um domínio (redes.edu.br). Outros computadores do mundo da MINI INTERNET poderão usufruir deste servidor, quando devidamente configurados. Os serviços iniciador serão, portanto:
Rede a ser implementada
PARTE 1 - Criando um domínio DNS na MINI INTERNETConstruir no googledrive o relatório com as etapas abaixo. Coloque o nome do arquivo de LAB8-MINI-INTERNET-DNS. Coloque o seu nome no relatório. ETAPA 0 - Construindo a MINI INTERNET
RECORTE A TELA E MOSTRE A TOPOLOGIA DA REDE e mostre uma tela mostrando a execução de um ifconfig no PC criado. Indique qual é o endereço IP do mesmo. ETAPA 1 - Configuração do serviço DNS
COLE A TELA e discuta o resultado. ETAPA 2- Configurando as máquinas para acessarem o DNS
RECORTE as TELAS ACIMA e discuta o resultado. ETAPA 3 - Configure o PC que você criouBaseando-se nas configurações acima coloque na base de dados do DNS o PC que vocÊ criou. Vá com cuidado pois qualquer erro levará a um problema. A partir do pc3 faça um ping no PC que você criou. Registre as várias telas que mostram os resultados. ETAPA 4 - Capture pacotes na execução do pingCapture pacotes com o wireshark e mostre a execução do DNS e do ping. Indique onde você realizou a captura. Discuta os resultados. PARTE 2 - Servidor WEBEsta parte não é nova para você. Apenas vamos colocar no AR o serviço WEB e acessá-lo pelo nome. ETAPA 1 - Preparando uma página HTML para colocar no servidor WEB.
ETAPA 2 - Capturando pacotes
ETAPA 3 - Acessando o servidor WEB pelo nome
PARTE 3 - Servidor SSH - acessando o serviço pelo nomeETAPA 1 - Configurando e executando o serviço SSHO serviço SSH será iniciado no servidor SSH (SSH SERVER).
RECORTE as telas e documente esta etapa. ETAPA 2 - Acessando o ssh da máquina quen você criou
ETAPA 3 - Capturando pacotes do ssh e do ICMP
FINALIZAR O EXPERIMENTO E FECHAR O IMUNES. PREPARAR E ENVIAR O RELATÓRIO PELO SIGAA. |
AULA 9 - DIA 19/05/2022
Objetivos
Avaliação 1 - Ver SIGAA
AULA 10 - DIA 26/05/2022
Objetivos
Após esta aula o aluno deverá:
- Saber explicar o papel da camada de transporte no contexto de redes de computadores;
- Diferenciar o TCP do UDP
- Identificar pacotes UDP pelo wireshark verificando alguns aspectos. do cabeçalho.
Referências
Laboratório 11 - UDP Básico |
---|
Desvendando o UDP - BásicoObjetivos
Fonte BaseParte 1 - Fluxo único UDPCriar um documento no googledrive com o nome LAB-11-UDP-Basico. Este documento será usado para registrar o laboratório de hoje. Coloque seu nome no documento. Nesta parte 1 vamos transmitir dados localmente com o UDP. Usaremos dois terminais para execução do experimento.Um terminal escutará na porta 5000 e a outro transmitirá uma mensagem nessa porta. Os processos de transmissão e recepção podem ocorrer simultaneamente, em terminais distintos. ETAPA 1Abrir duas janelas de terminal. Abrir o Wireshark, interfaces any, para escuta das portas no protocolo UDP usando um filtro:udp.port==5000
ETAPA 2Em um dos terminais coloque em execução um programa que permite escutar por pacotes UDP na porta 5000: netcat -lk -u 5000 RECORTE a tela do terminal e cole no relatório. ETAPA 3No segundo terminal, que irá transmitir para a porta 5000 aberta no primeiro terminal, execute:netcat -u IP_DEST 5000
Em seguida escreve no terminal uma mensagem de até 20 caracteres, ao teclar <enter> a mensagem será enviada. RECORTE as telas dos terminais mostrando que foi realizada a comunicação. ETAPA 4O wireshark deve ter capturado os pacotes UDP.
RECORTE A TELA E EDITE EM UM EDITOR GRÁFICO, colocando flechas para os campos indicados.
ETAPA 5
RECORTE as telas do terminal e do wireshark mostrando os vários pacotes. ETAPA 6PERGUNTAS baseadas na captura e em seus conhecimentos teóricos:
Parte 2 - Experimento com UDP - MUX e DEMUX
Parte 3 - Comunicação com UDP entre máquinas distintasRepita a Parte 1 - ETAPAS DE 1 a 4, mas desta vez converse com o colega ao lado e obtenha o endereço IP e a porta que será "escutada". Combine quem executará o programa servidor UDP e que será o cliente. Capture os pacotes e documente caracterizando os IPs e portas envolvidas (Etapa 4). Documente as telas no relatório. Parte 4 - Observando a característica SEM CONEXÃO x COM conexãoNeste experimento vocÊ NÃO DEVE transmitir dados! ETAPA 1No wireshark, faça um filtro para captura de pacotes UDP e TCP nas portas 5000. Coloque o wireshark a capturar pacotes. RECORTE a tela e cole no relatório ETAPA 2Abra quatro terminais. Um configurado para escuta UDP porta 5000, outro configurado para escuta TCP na porta 5000: TERMINAL 1 - TCP server netcat -l 5000 TERMINAL 2 - UDP "server" netcat -lk -u 5000 Execute os clientes nos dois outros terminais. Não transmita dados.
ETAPA 3Observe a captura de pacotes no wireshark. Documente a tela de captura no relatório. Qual a conclusão?
|
AULA 11 - DIA 2/06/2022
Objetivos
Após esta aula o aluno deverá:
- Saber explicar as funcionalidades básicas do TCP;
- Compreender e identificar através da análise de pacotes: as fases de estabelecimento de conexão e desconexão bem como a troca de dados com a numeração de btes em segmentos;
- Verificar o controle de erros no TCP: Significado de Número de Sequência, ACK
- Verificar o controle de fluxo no TCP: Significado do campo Windows Size; Funcionamento do controle de fluxo;
- Verificar o comportamento Full-Duplex no TCP.
Referências
Laboratório 12 - TCP Básico |
---|
Laboratório 12 - TCP BásicoPARTE 1 - Verificando o estabelecimento, troca de dados e finalização da conexãoO roteiro será executado sobre 2 máquinas virtuais, através do uso do Imunes. Abra o Imunes e crie uma rede extremamente simples com somente dois PCs, conforme a figura.ETAPA 0
RECORTE A TELA DO WIRESHARK, identificando os pacotes relacionados com o estabelecimento de conexão. Pode usar o número de identificação do pacote para fins de referência. ETAPA 2
RECORTE A TELA identificando os pacotes relacionados com a troca de dados. inclua os pacotes de conexão para caracterizar a comunicação) ETAPA 3 - DESCONEXÂO
RECORTE A TELA DO WIRESHARK identificando a fase de desconexão. Quantos pacotes foram trocados. ETAPA 4 - Algumas perguntas sobre a comunicação
ETAPA 5 - Obtendo uma visão geral da comunicação
RECORTE A TELA e cole no relatório. Apresente a análise acima. PARTE 2 - TCP - Número de Sequência, Controle de Erros e de FluxoETAPA 6 - Iniciar o novo experimento
Mostre a TELA da listagem aqui. ETAPA 7 - Transmissão sem erros: Verificação de Número de Sequência e Reconhecimentos
RECORTE A TELA DOS PACOTES CAPTURADOS E COLE NO RELATÓRIO ETAPA 8 - Análise dos pacotes capturadosNas análises a seguir use como apoio o número do pacote na primeira tela do Wireshark.
PARTE 3 - Transmissão com erros: retransmissõesETAPA 9
RECORTE A TELA E MOSTRE A CAPTURA DOS PACOTES (a tela 1 do WIreshark) ETAPA 10
PARTE 4 - Testando a capacidade do TCP de enviar dados de forma duplex
NÃO É NECESSÁRIO COLOCAR TELAS NO RELATÓRIO. SOMENTE FAÇA UM TEXTO CONCLUINDO SOBRE A QUESTÃO FULL-DUPLEX NO TCP
|
AULA 12 - Dia 4/6/2021 - Camada de Transporte
Aula ANP Camada de Transporte TAREFA MT2.3 - QUESTIONÁRIO UDP E TCP
AULA 13 - Dia 9/6/2021 - Camada de Rede - IP Básico
- Introdução a camada de rede
- Estrutura do Pacote IP
- O processo de encaminhamento de pacotes
REFERÊNCIAS
Extra:
Laboratório 13 - Interligação de duas redes através de um roteador |
---|
LABORATÓRIO 13 - Interligação de duas redes através de um roteadorObjetivos do Laboratório
Usaremos como base a seguinte arquitetura de rede: Procedimento
ip a
Configuração básica de interface de rede
|
AULA 14 - DIA 18/6/2022
ANP Sábado
Camada de Rede
AULA 15 - DIA 23/6/2022
- Introdução a camada de rede
- Estrutura do Pacote IP
- O processo de encaminhamento de pacotes
REFERÊNCIAS
- Slides desta Aula - Kurose v.6 Modificado
- Endereçamento MAC x Endereçamento IP
- Roteamento IP
- IP CALCULATOR
Extra:
Laboratório 14 - Roteamento Estático - Entrega Direta e Indireta - Campo TTL |
---|
LABORATÓRIO 14 - Roteamento Estático - Entrega Direta e Indireta - Campo TTLTabelas Estáticas de RoteamentoObjetivos
Arquitetura de redeEm todos os experimentos será utilizado como base a seguinte arquitetura de rede: PROCEDIMENTO 1 - Verificação e Configuração de Tabelas Estáticas de RoteamentoETAPA 0Prepare um arquivo no googledrive (logar no domínio IFSC). Coloque como título LAB14-RCO. Coloque o seu nome. Resitre as etapas conforme solicitado na sequência. ETAPA 1
RECORTE A TELA E COLE NO RELATÓRIO ETAPA 2
RECORTE A TELA E COLE NO RELATÓRIO ETAPA 3
RECORTE A TELA DO WIRESHARK E COLE NO RELATÓRIO. ETAPA 4
RECORTE AS TELAS MOSTRANDO UM PING ENTRE REDES FUNCIONANDO. MOSTRE TAMBÉM AS TABELAS DE ROTEAMENTO DE TODOS OS ROTEADORES. EXPLIQUE A TABELA DE ROTEAMENTO DE R1. ETAPA 5 - Testando a queda de enlace.
PROCEDIMENTO 2 - Testando o campo TTL com loop na redeETAPA 1
ETAPA 2
RECORTE AS TELAS NECESSÁRIAS PARA DOCUMENTAR A ETAPA. |
AULA 16 - DIA 30/6/2022
Após esta aula o aluno deverá:
- Utilizar o conceito de máscaras de tamanho variável para projetar subredes (co apoio de software)
REFERÊNCIAS
- IpCalculator
- Visual Subnet Calculator
- Slides adicionais IP
- FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 30 jun. 2022.
EXERCÍCIO PARA CÁLCULO DE SUBREDE
Um provedor de acesso a Internet possui o seguinte bloco de endereços IP: 10.17.192.0/18. Os endereços IP de 10.17.192.0 até 10.17.207.255 já estão alocados para clientes deste provedor (números fictícios). Este provedor precisa atender a 3 novos clientes. uUm deles necessita de rede com pelo menos 2000 endereços de IP válidos. Os demais necessitam de rede com pelo menos 60 e 40 IP válidos.
1) Faça uma proposta para alocação de endereços IP para estes clientes. Construa uma tabela com o nome da rede, endereço e máscara da subrede, a faixa de endereçamento de hospedeiros e o número toral de hospedeiros.
2) Baixe o arquivo abaixo e construa uma rede "roteável" externamente para todas as redes projetadas acima. Coloque pelo menos dois PCs em cada rede. Estes PCs deverão estar nos limites iniciais da faixa. O endereço final da faixa deve ficar no roteador da rede.
Fazer:
a) Todas as configurações de IPs (salvar o arquivo) b) Todas as configurações de rede (salvar o arquivo) c) Testar a conectividade entre redes ISP d) Testar a conectividade a partir do mundo externo
REGISTRAR as tabelas de roteamento dos roteadores no relatório do experimento. Fazer uma TELA do ping do pc externo para um PC dentro do ISP, mostrando que as rotas estão funcionando.
USAR o arquivo base: LabSubredes.imn
AULA 17 - DIA 07/7/2022
Tecnologia de Enlace Ethernet
Objetivos
- Compreender que Ethernet não é Internet e que não é necessário o mundo IP para haver comunicação.
- Compreender o papel do protocolo ARP
Fonte Base
Animação Pearson/Kurose
AULA 18 - DIA 14/7/2022
Objetivos
- Introdução ao IPv6
- Introdução ao DHCP e NAT
Referências Adicionais
Laboratório 17 - Introdução ao DHCP |
---|
PARTE 1 - Laboratório DHCPAtenção: Relatório simplificado. Fazer somente ETAPA 1Criar uma rede simples com um servidor e um pc conforme orientado pelo professor.
ETAPA 2No servidor (host1) ir em /etc/dhcp Editar o arquivo dhcp.conf da forma:
subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.50 10.0.0.100; option routers ip_do_roteador; } ETAPA 3Criar um arquivo leases vazio: touch /var/lib/dhcp/dhcpd.leases ETAPA 5Partir o servidor: dhcpd -cf ./dhcpd.conf ETAPA 6Colocar o wireshark escutando na eth0 no host1 ETAPA 7Executar dhclient no pc1: dhclient eth0 ETAPA 8Conferir a configuração do pc1 ETAPA 9Cortar e colar no MINI-RELATÓRIO os pacotes correspondentes a troca de msgs de DHCP. Discutir se troca de msgs coincide com o que foi apresentado nos slides. |
AULA 19 - Dia 21/07/2022 - Avaliação 2
Aula com laboratório avaliativo.
- VER PDF no SIGAA
PARTE 2 - Neighbor Discovery e roteamento estático no IPv6
Roteiro do Prof.Odilson baseado no material disponível no Livro - Laboratório de IPv6.
Slides de endereçamento IPv6.
Objetivos do laboratório:
- Um primeiro contato com o protocolo IPv6
- Compreender o funcionando do Neighbor Discovery, o equivalente ao ARP (Address Resolution Protocol) do IPv4, que em resumo é uma tabela contendo a relação ente IPs e MACs.
- Aprender configurações básicas de interfaces IPv6 no Linux
- Aprender configurações básicas de rotas IPv6
Introdução teórica
Obs.: texto copiado literalmente de: Laboratório de IPv6.
A descoberta de vizinhança por meio do protocolo Neighbor Discovery no IPv6 é um procedimento realizado pelos nós de uma rede para descobrir endereços físicos dos dispositivos vizinhos presentes no mesmo enlace. A função deste protocolo se assemelha à função do ARP e do RARP no IPv4.
- O procedimento é iniciado quando um dispositivo tenta enviar um pacote cujo endereço físico de destino é desconhecido. O nó solicitante envia uma mensagem Neighbor Solicitation (NS) para todos os nós do enlace pertencentes ao grupo multicast solicited-node (ff02::1:ffXX:XXXX), de modo que XX:XXXX são os últimos 24 bits do endereço IPv6 em que está interessado.
- É possível notar que, por uma coincidência dos últimos 24 bits, é bastante provável que apenas o nó de destino faça realmente parte deste grupo. Isto é um truque interessante do IPv6 para diminuir o tráfego deste tipo de pacote na rede.
- Na mensagem NS, o endereço IPv6 a ser resolvido é informado no campo Target. O campo Source link-layer address informa ao nó de destino o endereço MAC do nó de origem, poupando-o de ter que fazer o mesmo procedimento no sentido inverso.
- O nó de destino, dono do IPv6 requisitado, ao receber este pacote, envia uma mensagem Neighbor Advertisement (NA) como resposta diretamente ao nó requisitante. O seu endereço físico será informado no campo Target link-layer address.
- A informação de mapeamento entre endereços IP e endereços físicos é armazenada em uma tabela chamada neighbor cache. Nela também fica registrado o status de cada destino, informando se o mesmo é alcançável ou não.
Roteiro de atividades:
Laboratório 18 - Básico do Ipv6 |
---|
A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 Global Unicast já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento.
|
AULA 20 - Dia 23/07/2022 - Recuperações - Conteúdo adicional de Endereçamento IPv4 e IPv6
- Aula ANP (sábado)
- Aula presencial para um aluno atividade de recuperação da A2
- Proposição de tarefa no SIGAA MT2.8