Curso Técnico Integrado de Telecomunicações - Redes de Computadores (RCO)
MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES
Informações Gerais
Edições
- RCO60803 2017-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva
- RCO60803 2017-1 - Prof. Juliano de Souza / Prof. Eraldo Silveira e Silva
- RCO60803 2016-2 - Prof. Juliano de Souza / Prof. Luciano Barreto
- RCO60803 2016-1 - Prof. Fernando Rodrigues Santos / Prof. Juliano de Souza
- RCO60803 2015-2 - Prof. Simara Sonaglio
- RCO60803 2015-1 - Prof. Arliones Hoeller / Prof. Túlio Ribeiro
- RCO60803 2014-2 - Prof. Arliones Hoeller / Prof. Tomás Grimm / Prof. José Clair
Laboratórios
Laboratório 1 - Ferramentas de Rede e Conceitos Básicos |
---|
Objetivos
Conceitos introdutórios para uso do laboratórioEstrutura do LaboratórioA rede do laboratório em uso segue o modelo apresentado no diagrama da Figura 1 (endereçamento pode ser diferente). Os Laboratórios de Redes de Computadores estão equipados com N+1 (N = número de computadores para alunos) computadores conectados em rede e com acesso a Internet, Figura 1. A rede local do laboratório tem endereço IP 192.168.1.0/24. A máscara de rede /24 indica que o último byte do endereço é utilizado para identificar cada máquina, por exemplo 192.168.1.1, 192.168.1.2, etc. Máquinas virtuaisO sistema operacional hospedeiro é o Linux Ubuntu. Como os laboratórios são utilizados por várias disciplinas/alunos/professores, os usuários não tem acesso a senha de root (administrador). Para possibilitar a execução de comandos exclusivos do administrador (usuário root), cada computador tem instaladas máquinas virtuais, as quais podem ser lançadas a partir do aplicativo VirtualBox. As máquinas virtuais pertencem a mesma rede local do laboratório e tem endereçamento 192.168.1.x, sendo o byte que identifica a máquina (x) deverá ser manualmente configurado com a seguinte regra: M1 – 101, M2 – 102,..., M9 – 109, M10 – 110,..., M14 – 114 . Por exemplo:, M1 ficará com o endereço 192.168.1.101. Roteiro de atividadesParte 1: Observando interfaces do sistema com ifconfigO 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.
|
Laboratório 2 - Wireshark, conceito de protocolo, encapsulamento |
---|
Objetivos
WireShark2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados
O entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. A ferramenta básica para observar as mensagens trocadas entre as entidades em execução é chamada de sniffer. Como o nome sugere, um sniffer captura mensagens sendo enviadas/recebidas pelo seu computador; ele também tipicamente armazena e/ou apresenta os conteúdos dos vários campos dos protocolos nestas mensagens capturadas. Um sniffer isoladamente é um elemento passivo. Ele observa as mensagens sendo enviadas e recebidas pelas aplicações e protocolos executando no seu computador, mas jamais envia pacotes. Similarmente, os pacotes recebidos nunca são explicitamente endereçados ao sniffer. Ao invés disso, um sniffer recebe uma cópia de pacotes que são enviados/recebidos para/de aplicações e protocolos executando no seu computador. A Figura 2 mostra a estrutura de um sniffer. À direita da Figura 2 estão os protocolos (neste caso, protocolos da Internet) e aplicações (tais como navegador web ou cliente FTP) que normalmente executam no seu computador. O sniffer, exibido dentro do retângulo tracejado na Figura 2 é uma adição aos softwares usuais no seu computador, e consiste de duas partes: a biblioteca de captura de pacotes e o analisador de pacotes. A biblioteca de captura de pacotes recebe uma cópia de cada quadro da camada de enlace que é enviado do ou recebido pelo seu computador. Lembre que mensagens trocadas por protocolos das camadas mais altas tais como HTTP, FTP, TCP, UDP, DNS ou IP, são todos eventualmente encapsulados em quadros que são transmitidos para o meio físico como um cabo Ethernet. Na Figura 2, assume-se que o meio físico é uma Ethernet, e desta forma, os protocolos das camadas superiores são eventualmente encapsulados em um quadro Ethernet. Capturar todos os quadros fornece todas as mensagens enviadas/recebidas de/por todos os protocolos e aplicações executando em seu computador. O 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. Por exemplo, suponha que estamos interessados em mostrar os vários campos nas mensagens trocadas pelo protocolo HTTP na Figura 5. 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 segmento TCP dentro do datagrama IP. Ele entende a estrutura do segmento TCP, para que possa extrair a mensagem HTTP contida no segmento. Finalmente, ele entende o protocolo HTTP e então, por exemplo, sabe que os primeiros bytes de uma mensagem HTTP contém a cadeia “GET”, “POST” ou “HEAD”. 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. Ele funciona em computadores ligados a uma Ethernet para conectar-se à Internet, bem como protocolos ponto a ponto, tal como PPP.
Quando você executar o programa Wireshark, a interface com o usuário exibida na Figura 3 aparecerá. Inicialmente, nenhum dado será apresentado nas janelas. A interface do Wireshark tem seis componentes principais:
Ferramenta para conversão ASCII <==> Hexadecimal
|
Laboratório 3 - Desvendando o HTTP com Wireshark - BÁSICO |
---|
Fonte base: Wireshark - HTTP Objetivos
PARTE 1 - Interação Básica GET/Resposta do HTTPVamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos. Faça o seguinte:
O exemplo da figura 1 mostra na janela de listagem de pacotes duas mensagens HTTP capturadas:
Responda às seguintes perguntas e imprima as mensagens GET e a resposta e indique em que parte da mensagem você encontrou a informação que responde às questões.
PARTE 2 - Interação Básica GET/Resposta do HTTP usando TELNET e REQUISIÇÃO MANUAL
Esta característica é a "persistência" do http versão 1.1, que permite reutilizar a mesma conexão para adquirir múltiplos recursos. |
Laboratório 4 - Desvendando o HTTP com Wireshark - AVANÇADO |
---|
Objetivos
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 baixam um objeto HTTP. Execute os seguintes passos:
Responda às seguintes questões:
PARTE 2 -Documentos HTML com Objetos IncluídosAgora que vimos como o Wireshark mostra o tráfego capturado para arquivos em HTML grandes, nós 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:
Responda às seguintes questões:
PARTE 3 -Segurança com HTTPSPara finalizar, vamos capturar sequências de mensagens HTTPS, somente a título de comparação. Execute os seguintes procedimentos:
Responda:
|
Laboratório 5 - Servidor Apache e Construção de Página HTML |
---|
Objetivos
Máquinas Virtuais UML / Netkit2Para esta aula de laboratório estaremos usando o netkit2 do Prof.Sobral, uma extensão do netkit da Universidade de Roma Tre. Trata-se de uma ferramenta que que permite criar máquinas virtuais leves sobre o linux. Estas máquinas podem ser ligadas em rede. Neste laboratório conectaremos uma máquina virtual na REDE do Laboratório através de uma bridge. O Servidor ApacheNeste laboratório vamos criar uma página html e hospedá-la em um máquina virtual com o Web Server Apache. Para maiores informações consulte Visão Geral do Apache . PARTE 1 - Colocando o servidor Apache no AR no Netkit
|
Laboratório 6 - Serviço de Nomes (DNS) |
---|
ObjetivosO Domain Name System (DNS) traduz nomes de hosts em endereços Internet Protocol (IP), preenchendo uma lacuna crítica na infraestrutura da Internet. Neste laboratório, observaremos mais de perto:
Lembre-se de que o papel do cliente no DNS é relativamente simples - um cliente envia uma consulta ao seu DNS, e obtém uma resposta. Muito pode acontecer “por baixo dos panos”, de forma invisível aos clientes DNS, enquanto os servidores DNS, organizados hierarquicamente, comunicam-se entre si para, ou recursivamente ou iterativamente, resolver uma consulta DNS de um cliente. Do ponto de vista do cliente DNS, contudo, o protocolo é bastante simples - uma consulta é feita ao seu servidor DNS e uma resposta é recebida deste servidor. PARTE 1: Consulta simples ao DNS gerada a partir de um comando pingO comando ping pode ser usado tanto com um endereço IP como com um nome de host. Em última instância, ele sempre enviará pacotes para um endereço IP. No caso de ser usado o endereço de host, ele tentará resolver (mapear) este nome em um endereço IP usando um servidor DNS (local). Ele gera uma pergunta para o servidor (ou para os servidores, caso exista mais de um configurado). Esta experiência mostra como verificar os servidores instalados e, através de uma captura de pacote mostra a estrutura dos cabeçalhos DNS.
PARTE 2 - Consultas DNS por meio de ferramentas especializadas
|
Laboratório 7 - Desvendando o UDP - Básico |
---|
Objetivos
Parte 1 - Experimento com UDP
udp.port==5000 || udp.port==5001
netcat -u -l -p 5000
netcat -u IP_DEST 5000
netcat -u IP_DEST 5001
Identifique no wireshark:
Anote estes dados e chame o professor.
PERGUNTAS baseadas na captura:
DESAFIO PARA CASA: capture e anote byte a byte o conteúdo de um pequeno pacote UDP (e dados IP) e calcule o CHECKSUM do mesmo (pesquise no google como fazer). Parte 2 - Experimento com UDP - MUX e DEMUXConceber um adendo ao experimento anterior para demonstrar a multiplexação e demultiplexação de informação. SUGESTÃO: Criar uma janela adicional onde a equipe que escuta passa a ser a que transmite e vice-versa. Usar uma outra porta para espera de mensagem (6000). Parte 3 - O professor espera transmissão na porta 4000O professor vai aguardar uma transmissão de dados na porta UDP 4000. Cada equipe deve transmitir uma mensagem que será uma resposta a uma pergunta que o professor fará. Cada equipe deve capturar o pacote UDP transmitido por ela e deve mostrar ao professor. |
Laboratório 8 - Desvendando o TCP - Básico |
---|
Objetivos
Configuração do LaboratórioO roteiro será executado sobre máquinas virtuais, através do uso do Netkit2. Copie o texto abaixo e crie um arquivo com nome TCP.conf. Salve-o na pasta /home/aluno.
|
Laboratório 9 - Desvendando o TCP - Número de Sequência, Controle de Erros e Funcionamento Full-Duplex |
---|
Objetivos
Configuração do LaboratórioO roteiro será executado sobre máquinas virtuais, através do uso do Netkit2. Copie o texto abaixo, abra o editor Gedit, cole o texto e salve o arquivo em /home/aluno/TCP.conf.
|
Laboratório 10 - Controle de congestionamento do TCP |
---|
Objetivos
|
Laboratório 11 - TCP x UDP |
---|
ObjetivosO objetivo desses experimentos é evidenciar as diferenças entre os protocolos TCP e UDP. Ambos protocolos de transporte podem ser usados por aplicações que precisem se comunicar. Porém cada um deles têm certas propriedades, então a escolha precisa ser realizada baseada no tipo de comunicação a ser feita pela aplicação. Experimento 1Antes de qualquer experimento deve-se desabilitar algumas funcionalidades do kernel do LINUX, para que os experimentos reflitam a teoria. Caso sua interface de rede não seja a eth0 adapte o comando, caso reiniciar a máquina repita-o:
|
Laboratório 12 - Interligação de duas redes locais via um roteador |
---|
Objetivos
Procedimento
|
Laboratório 13 - Sub-redes |
---|
Objetivos
|
Laboratório 14 - Roteamento Estático em Redes |
---|
Objetivo
PARTE 1 - Rede com 3 roteadores
|
Laboratório 15 - Sub-redes e Roteamento Estático em Redes |
---|
Objetivos
|
Transparências utilizadas durante as aulas
Capítulo 2 - Camada de Aplicação
Capítulo 3 - Camada de Transporte
Listas de Exercícios
Lista de exercícios 1 - Introdução |
---|
|
Lista de exercícios 2 - Camada de Aplicação |
---|
ADICIONAIS PARTE 2- HTTP
ADICIONAIS PARTE 3- DNS
|
Lista de exercícios 3 - Camada de Transporte |
---|
|
Lista de exercícios 4 - Camada de Rede | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Applets do Kurose
Vários aplicativos com representação dinâmica de características das redes de computadores.