LRM Prof. Mantovani ← Aulas da disciplina

🌐 Minha pequena internet

Uma topologia só, que cresce o semestre inteiro: começa com duas redes que não se falam e termina com um serviço replicado, roteamento que se refaz sozinho e a demonstração de por que uma senha não pode viajar sem proteção. Redes de verdade, em contêineres — não simulação.

👥 grupos de 3–4🧪 5 entregas + apresentação📅 semanas 6 a 14🎯 6,0 + 2,0 de extensão
☁️
Tudo roda no Google Cloud Shell: uma máquina Linux com root só sua, direto no navegador. É gratuito, não pede cartão de crédito e não precisa instalar nada. Cada entrega abaixo tem um botão que já entra no terminal com o laboratório clonado e o roteiro ao lado.
🚦
Toda verificação começa vermelha — isso é o enunciado, não um defeito. O laboratório chega incompleto de propósito: o roteiro de provas é a especificação de verdade, e o trabalho de vocês é levá-lo ao verde. Cada teste imprime o que observou, não só passou/falhou.

Antes da primeira entrega

Você já preparou o laboratório neste navegador. Não clone de novo — abra o Cloud Shell e digite cd ~/redes-lab. Se quiser trazer as correções mais recentes, o mesmo comando de preparo serve: ele atualiza sem duplicar nada.

Uma vez só, e vale o semestre inteiro. Abra o Cloud Shell e cole o comando abaixo. Ele cria a pasta ~/redes-lab se ela não existir, e atualiza se já existir — rodar de novo nunca duplica nada nem apaga o seu trabalho.

▶ Abrir o Cloud Shell (gratuito, sem cartão)

[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && git pull

Depois, construa a imagem do laboratório — isso se repete a cada sessão, porque a máquina do Cloud Shell é apagada entre uma e outra:

[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && make base
📁
Uma pasta só, sempre. Todo o trabalho de vocês vive em ~/redes-lab. O erro mais comum — e o mais difícil de perceber — é editar o arquivo numa pasta e rodar o make em outra: nada dá erro, e a correção simplesmente não aparece. Por isso a verificação sempre imprime, na primeira linha, qual arquivo ela leu.

Código-fonte do laboratório: github.com/LuizRMSilva1973/redes-lab

As cinco entregas

1Dois segmentos e um serviçoSemana 6 · 0,8

Duas redes separadas, máquinas em cada uma, e a prova de duas coisas opostas: dentro de um segmento tudo se enxerga; entre segmentos, nada passa.

O que fazer

  • O segmento A vem pronto. O B está declarado e vazio — criem nele dois hosts com endereços do seu plano de endereçamento.
  • Documentem o plano no README.md: quais sub-redes, quantos endereços cabem, qual foi para cada máquina.
O que prova: o ping funciona dentro de A e dentro de B, e falha de A para B dizendo Network is unreachable. Só a segunda metade não provaria nada — com tudo desligado o ping também falha.
Verificação verde numa Cloud Shell limpa0,4
Plano de endereçamento com as contas0,2
Explicação de por que A não alcança B0,2
[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/E1.md

Cole no terminal: abre o enunciado da Entrega 1 ao lado, sem criar pasta nova.

2O roteador e o encapsulamentoSemana 9 · 1,4

A entrega mais importante do semestre. Não pela dificuldade: é a única em que vocês vão ver o modelo de camadas acontecer num pacote de verdade, em vez de olhar um desenho dele.

A pergunta a responder com evidência: quando um pacote atravessa um roteador, o que muda nele e o que não muda?

O que fazer

  • O roteador já está no ar com uma perna em cada segmento. Falta rota — escrevam ela no docker-compose.yml, não no terminal: rota digitada à mão some no próximo reinício.
  • Não toquem em host-a2. Ele fica sem rota de propósito: é o grupo de controle. Sem ele, “o ping passou” não prova que foi a rota que fez a diferença.
O que prova: o TTL cai de 64 para 63 (houve um salto), e a captura simultânea nas duas pernas do roteador mostra o mesmo IP de origem e MACs diferentes. É isso o encapsulamento: a carga de camada 3 atravessa inteira, o quadro de camada 2 é refeito em cada enlace.
Verificação verde, com o controle intacto0,5
Rotas no compose (não no terminal)0,2
Os dois .pcap no repositório0,2
Print do Wireshark com o campo que mudou0,2
Parágrafo: por que o MAC muda e o IP não0,3
[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/E2.md

Cole no terminal: abre o enunciado da Entrega 2 ao lado, sem criar pasta nova.

3O serviço não pode cairSemana 11 · 1,2

O mesmo serviço em três máquinas ao mesmo tempo. Quem usa não deveria perceber quando uma some — é o que a disciplina chama de transparência.

O que fazer

  • Reescrever o cliente: enquanto sobrar uma réplica alcançável, ele responde; quando não sobrar nenhuma, ele diz INDISPONIVEL; e nunca passa de 5 segundos.
  • O limite de tempo é o que separa cliente bom de cliente ruim: quem fica pendurado trava quem o chamou, que trava quem chamou aquele.
O que prova: o serviço é medido em cinco estados — tudo no ar, uma réplica parada, duas paradas, partição de rede e restaurado. Repare na diferença: stop mata a réplica; network disconnect deixa ela viva e incomunicável. É esse segundo caso que torna sistemas distribuídos difíceis.
Verificação verde nos cinco estados0,5
Nunca passa de 5 s, nem com tudo fora0,2
Nunca anuncia réplica que não respondeu0,2
Resposta escrita: morte × partição0,3
[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/E3.md

Cole no terminal: abre o enunciado da Entrega 3 ao lado, sem criar pasta nova.

4A rota se refaz sozinhaSemana 12 · 1,2

Agora existem dois caminhos entre A e B. A pergunta: o que acontece quando o caminho escolhido cai?

O que fazer

  • Primeiro vejam a rota estática falhar: o roteiro derruba o trânsito 1 e espera. A rede não volta — existe um segundo caminho saudável e ninguém o usa. É exatamente o problema que o roteamento dinâmico resolve.
  • Troquem a rota estática por RIP (vetor de distância, aula 12), e corrijam o router id duplicado do segundo roteador.
O que prova: a rede volta sozinha e o próximo salto mudou. Se o caminho depois for idêntico ao de antes, nada convergiu — ela voltou por outro motivo. Anotem o tempo: é a resposta para “quanto custa a convergência”.
Verificação verde, com mudança de próximo salto0,5
Configuração correta nos dois roteadores0,2
Tempo de convergência medido0,2
Custo do vetor de distância em rede grande0,3
[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/E4.md

Cole no terminal: abre o enunciado da Entrega 4 ao lado, sem criar pasta nova.

5O pacote entrega o segredo · CartilhaSemana 13 · 2,0 · Extensão

Vocês vão capturar uma senha trafegando pela própria rede de vocês e ver ela escrita, em letras legíveis, dentro de um pacote. Depois vão transformar isso em material que explica o risco para quem não estuda redes. Essa segunda metade é a atividade de extensão da disciplina.

⚠️
Regra inegociável: a captura é feita só dentro do laboratório de vocês, entre máquinas de vocês, com um segredo inventado por vocês. Capturar tráfego de rede alheia — da faculdade, de um café, de casa com mais gente — não faz parte deste trabalho e não é permitido. É a diferença entre o que vocês vão ensinar e aquilo contra o que a cartilha alerta.

Por que a captura é feita no roteador

Numa rede comutada, um computador qualquer não vê o tráfego dos outros — o switch entrega cada quadro só na porta certa. Quem vê tudo é quem está no caminho. No laboratório, é o roteador. No café da esquina, é o ponto de acesso Wi-Fi, e quem o controla. É essa frase que a cartilha precisa fazer uma pessoa comum entender.

O que fazer

  • Pôr o nome do grupo no token.txt — o segredo é o identificador de vocês, então a evidência não passa de um grupo para outro.
  • Subir a mesma área restrita protegida por TLS, ao lado da versão sem proteção. Deixem as duas no ar: o trabalho é mostrar a diferença, não esconder a insegura.
  • Produzir a cartilha: o que acontece ao digitar uma senha num site sem cadeado numa rede que não é sua; como reconhecer a diferença na tela do celular; e três recomendações concretas, sem jargão.
O que prova: na captura do HTTP o segredo do grupo aparece; na do HTTPS ele não aparece — e a captura precisa ter pacotes, senão “não apareceu” não significa nada. Uma captura vazia esconde qualquer coisa.

Nota escalonada

1,2 — verificação verde, os dois .pcap no repositório, cartilha correta e legível com a captura do próprio grupo1,2
1,7 — e o material apresentado a um público real fora da sala, com registro1,7
2,0 — e evidência de retorno: quantos alcançados, o que perguntaram, e o material revisado depois do que ouviram2,0

O degrau de 2,0 é o mais fácil de descrever e o mais raro de conseguir: exige ouvir e mudar. É por isso que vale.

[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/E5.md

Cole no terminal: abre o enunciado da Entrega 5 ao lado, sem criar pasta nova.

6Apresentação: a rede sobe ao vivoSemana 14 · 1,4

Seis minutos por grupo, cronometrados. Não são slides: é a rede subindo ao vivo, projetada, a partir do repositório de vocês. Quem fez o trabalho demonstra em seis minutos; quem não fez não tem o que projetar. Todos os integrantes falam.

Os quatro momentos

  • A rede sobe (30 s)make up E=n && make verificar E=n na tela. O verde é a prova de que o trabalho é reproduzível fora da máquina de vocês.
  • A evidência (2 min)uma prova, explicada de verdade: os dois .pcap no Wireshark, o serviço sobrevivendo à queda de duas réplicas, a rota se refazendo pelo desvio, ou a senha legível dentro do pacote. Uma bem explicada vale mais que cinco citadas de passagem.
  • A cartilha (2 min) — o que produziram, para quem, onde apresentaram e o que ouviram de volta. Mostrar o antes e o depois do material é o que separa 1,7 de 2,0 na Extensão.
  • Uma pergunta (1,5 min) — sorteada de uma lista pública desde a semana 6. Nenhuma pede decoreba: todas têm resposta nas medições que o próprio grupo fez.
O que prova: que o trabalho sobe na máquina de outra pessoa, e que quem apresenta entendeu o que mediu. São as duas coisas que nenhum relatório demonstra.
A rede sobe ao vivo e a verificação fica verde0,5
A evidência escolhida é explicada, não lida0,4
A cartilha: para quem foi, onde, e o que voltou0,3
A resposta à pergunta sorteada0,2

Se o Cloud Shell falhar por motivo alheio ao grupo — rede da faculdade, conta bloqueada —, mostrem o repositório e as evidências gravadas: a primeira linha cai pela metade, não a zero. O que não recupera ponto é chegar sem repositório.

[ -d ~/redes-lab ] || git clone https://github.com/LuizRMSilva1973/redes-lab ~/redes-lab; cd ~/redes-lab && cloudshell launch-tutorial entregas/APRESENTACAO.md

Cole no terminal: abre o roteiro e a lista de perguntas ao lado.

Regras do jogo

📦A entrega é o repositório, nunca o ambiente. A correção clona o repositório do grupo numa Cloud Shell limpa e roda make up e make verificar. Se não subir lá, não entregou.
🧾Evidência é obrigatória. make evidencias E=<n> grava a saída da verificação; os .pcap das entregas 2 e 5 vão junto. Nunca apaguem a pasta evidencias/.
🪶Imagem pequena. A máquina do Cloud Shell é efêmera e recicla o cache: só a pasta pessoal (5 GB) sobrevive. Anexo do formulário: até 4 arquivos e 20 MB — capturem com filtro, .pcap sem filtro estoura.
🚫Nada de varredura de rede. Os termos de uso do Cloud Shell proíbem varredura, e a conta que descumprir é desligada. Todo o trabalho aqui é captura passiva dentro da rede virtual do próprio grupo — o que é outra coisa, e é permitido.
Mão na massa · colaborativo

Trabalho semestral · Minha pequena internet

Identifiquem o grupo uma vez — fica salvo neste navegador e serve para as cinco entregas. Escolham qual entrega estão enviando, colem a URL do repositório e anexem as evidências.

👥 grupos de 3–4🔁 5 entregas📧 recibo por e-mail
Infraestruturasobe a topologia e mantém o compose
Redesendereçamento, rotas e capturas
Evidênciasorganiza pcap, logs e o README
Comunicaçãoescreve a cartilha e apresenta
📤 Entrega: link do repositório + evidencias/verificacao.txt + os .pcap quando a entrega pedir.