Mudanças entre as edições de "RED29004-2015-1"
Linha 742: | Linha 742: | ||
#Houve diferença no tempo de atualização das rotas quando comparado ao RIP? Por quê? | #Houve diferença no tempo de atualização das rotas quando comparado ao RIP? Por quê? | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Experimento 1: HUBs == | == Experimento 1: HUBs == |
Edição das 17h20min de 3 de fevereiro de 2015
Diário de aula de RED - 2015-1 - Prof. Odilson T. Valle
Dados Importantes
Professor: Odilson Tadeu Valle
Email: odilson@ifsc.edu.br
Atendimento paralelo: 3ª ????. Local: Lab. de Desenvolvimento.
- Avaliações
- 3 avaliações (P1, P2 e P3) mais um projeto final (PF).
- Cada uma das avaliações terá terá um conceito numérico: 1, 2, ..., 9, 10. Conceito mínimo para não necessitar reavaliação: 6.
- Um ou mais conceitos abaixo de 6 implica na realização da reavaliação: uma única a ser realizada no último dia de aula.
IMPORTANTE: o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação e aguardar o parecer da coordenação.
Plano de Ensino
Material de apoio
Applets do Kurose
Vários aplicativos com representação dinâmica de características das redes de computadores.
Listas de exercícios
Lista de exercícios 1 |
---|
|
Lista de exercícios 2 - Camada de Aplicação |
---|
|
Lista de exercícios 3 - Camada de Aplicação |
---|
|
Lista de exercícios 4 - Camada de Transporte |
---|
|
Lista de exercícios 5 - Camada de Rede | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Lista de exercícios 6 - Camada de Enlace |
---|
|
Transparências utilizadas durante as aulas
Slides do Kurose referentes ao capítulo 1
Slides do Kurose referentes ao capítulo 2, 6a. Ed.
Slides do Kurose referentes ao capítulo 2, 5a. Ed.
Slides do Prof. Emerson - DNS, FTP, Web, Email...
Slides do Kurose referentes ao capítulo 3, 6a. Ed.
Slides do Kurose referentes ao capítulo 4, 6a. Ed.
Slides do Kurose referentes ao capítulo 5, 6a. Ed.
Roteiros para laboratório
Laboratório 1 -- Ping, traceroute, Web e HTTP
Laboratório 2 -- Wireshark e HTTP
Laboratório 3 - Serviço de Nomes (DNS) |
---|
|
Laboratório 4 - Programação de sockets |
---|
Material original: Slides do Kurose referentes ao capítulo 2, 6a. Ed., pags 54 à 58 Programação de sockets: criando aplicações de rede
Descrição da aplicação a ser desenvolvida em UDP e TCP
Programação de sockets com UDPA aplicação cliente-servidor usando UDP tem a estrutura apresentada na Figura baixo. Utilizamos a linguagem Python por expor com clareza os principais conceitos de sockets. Quem desejar pode implementar em outras linguagens, por exemplo um modelo para programação de sockets utilizando a API Posix encontra-se aqui. Como fica evidente na Figura acima, os processos cliente e servidor rodam em máquinas distintas e se comunicam justamente enviando mensagens vis sockets, que abstrai qualquer necessidade de conhecimento das camadas subjacentes. Um exemplo de código bem simples para o lado Cliente: UDPClient.py
|
Laboratório 5 - TCP x UDP |
---|
Tempo aproximado: 1h Problemas observados: No experimento 2 diminuir o tamanho do arquivo: máximo 200 MB. O objetivo desses experimentos é evidenciar as diferenças entre os protocolos TCP e UDP. Experimento 1Ambos 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 feita dependendo do tipo de comunicação a ser feita pela aplicação. Por exemplo, o que aconteceria se um arquivo fosse transferido de um computador a outro com ambos protocolos ?
Experimento 2Transferências usando cada um desses protocolos podem apresentar características bem distintas. Neste segundo experimento, serão feitas transferências simultâneas de arquivos a partir de um mesmo servidor, comparando-se o resultado obtido com TCP e UDP. Essas transferência ocorrerão entre os computadores do laboratório e um servidor externo ao laboratório, como mostrado na figura abaixo: 172.18.16.38
Experimento 3Repita os experimentos 1 e 3 mas agora com o arquivo minimo.txt, anotando todos os tempos.
Tarefa extraUse o aplicativo NetCat (nc) para fazer transferências UDP e responda:
|
Laboratório 6 - Protocolos de roteamento |
---|
Analisar o funcionamento de protocolos de roteamento estático e dinâmico da Internet, em particular as tabelas estáticas de roteamento, o protocolo RIP e OSPF, a partir de uma estrutura física formada por roteadores e redes locais. Para isto utilizaremos o Netkit2. Leia aqui como o Netkit2 trabalha com roteadores. Em todos os experimentos será utilizado como base a seguinte arquitetura de rede: Experimento 1: tabelas estáticas de roteamentoTempo aproximado para execução e conferência: 1h
|
Experimento 1: HUBs
Tempo aproximado para execução e conferência: 30 min.
Neste experimento vamos testar a taxa de transferência simultânea entre várias máquinas interligadas por meio de um HUB. Para tal utilizaremos o NetKit como ferramenta base (formação da rede) e o iperf como gerador de tráfego.
- Salve em seu PC o arquivo abaixo com nome 10hostsHub.conf:
- Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
pc5[type]=generic
pc6[type]=generic
pc7[type]=generic
pc8[type]=generic
pc9[type]=generic
pc10[type]=generic
- Hosts' interfaces to HUB
pc1[eth0]=lan0:ip=192.168.0.1/24
pc2[eth0]=lan0:ip=192.168.0.2/24
pc3[eth0]=lan0:ip=192.168.0.3/24
pc4[eth0]=lan0:ip=192.168.0.4/24
pc5[eth0]=lan0:ip=192.168.0.5/24
pc6[eth0]=lan0:ip=192.168.0.6/24
pc7[eth0]=lan0:ip=192.168.0.7/24
pc8[eth0]=lan0:ip=192.168.0.8/24
pc9[eth0]=lan0:ip=192.168.0.9/24
pc10[eth0]=lan0:ip=192.168.0.10/24</syntaxhighlight>
- Com o NetKit2 execute (Load and Run) a rede criada acima. Verifique o diagrama da rede formada (Graph).
- Ajuste o pc1 para ser um servidor de rede e ficar ouvindo em uma determinada porta TCP:
iperf -s </syntaxhighlight>
- Use o pc2 como cliente fazendo uma transmissão a taxa máxima durante 100 s:
iperf -c 192.168.0.1 -t 100 </syntaxhighlight> Fique monitorando o pc2, quando terminar a transmissão pare o servidor (pc1).
- Qual a taxa média conseguida? Anote.
- Agora, inicie dois servidores, o pc1 e pc3, e, em seguida, dois clientes "simultaneamente" (pc2 e pc4).
- Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote.
- Vá aumentando um a um os pares comunicantes até os 10 PCs (5 pares) estarem em uso.
- Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote.
- Faça um gráfico das taxas médias obtidas por par comunicante em relação a variação do número de pares comunicantes.
Experimento 2: Switchs
Tempo aproximado para execução e conferência: 20 min.
Vamos repetir o experimento 1 com a única diferença proporcionada pela troca de um HUB por um Switch.
- Salve em seu PC o arquivo abaixo com nome 10hostsSwitch.conf:
- Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
pc5[type]=generic
pc6[type]=generic
pc7[type]=generic
pc8[type]=generic
pc9[type]=generic
pc10[type]=generic
- Switch definitions
sw[type]=switch
sw[eth0]=port0
sw[eth1]=port1
sw[eth2]=port2
sw[eth3]=port3
sw[eth4]=port4
sw[eth5]=port5
sw[eth6]=port6
sw[eth7]=port7
sw[eth8]=port8
sw[eth9]=port9
- Hosts' interfaces to sw
pc1[eth0]=port0:ip=192.168.0.1/24
pc2[eth0]=port1:ip=192.168.0.2/24
pc3[eth0]=port2:ip=192.168.0.3/24
pc4[eth0]=port3:ip=192.168.0.4/24
pc5[eth0]=port4:ip=192.168.0.5/24
pc6[eth0]=port5:ip=192.168.0.6/24
pc7[eth0]=port6:ip=192.168.0.7/24
pc8[eth0]=port7:ip=192.168.0.8/24
pc9[eth0]=port8:ip=192.168.0.9/24
pc10[eth0]=port9:ip=192.168.0.10/24 </syntaxhighlight>
- Com o NetKit2 execute (Load and Run) a rede criada acima. Verifique o diagrama da rede formada (Graph).
- Ajuste o pc1 para ser um servidor de rede e ficar ouvindo em uma determinada porta TCP:
iperf -s </syntaxhighlight>
- Use o pc2 como cliente fazendo uma transmissão a taxa máxima durante 100 s:
iperf -c 192.168.0.1 -t 100 </syntaxhighlight> Fique monitorando o pc2, quando terminar a transmissão pare o servidor (pc1).
- Qual a taxa média conseguida? Anote.
- Agora, inicie dois servidores, o pc1 e pc3, e, em seguida, dois clientes "simultaneamente" (pc2 e pc4).
- Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote.
- Vá aumentando um a um os pares comunicantes até os 10 PCs (5 pares) estarem em uso.
- Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote.
- Faça um gráfico das taxas médias obtidas por par comunicante em relação a variação do número de pares comunicantes.
|}
Softwares
- Netkit2: possibilita criar experimentos com redes compostas por máquinas virtuais Linux
- [1] Nesta página você pode encontrar vários laboratórios virtuais do NetKit, prontos para uso, que focam em serviços específicos de redes de computadores.
Curiosidades
Curiosidades
Seminários
Recomenda-se a confecção do relatório na própria Wiki. O professor criará a página para cada projeto que assim o desejar. Na página do projeto, os membros da equipe podem editar a qualquer hora, sem preocupação com a versão do mesmo. Também facilita o acompanhamento por parte do professor. Utilizando ou não a Wiki, usem esse modelo de relatório.
- Grupos e Temas para 2015-1:
- Avaliação
- Nota: 0,5 x Documento + 0,5 x Seminário
- Instruções sobre o Seminário de Redes I:
- Data para definição de grupos e temas: 10/3/15.
- 2 alunos por equipe.
- Os temas devem ser propostos pelas equipes em comum acordo com o professor ou então na data limite o professor apresenta alguns temas e as equipes escolhem.
- Data de entrega do documento: 2/6/15 (impreterivelmente).
- O relatório pode ser redigido como uma página da wiki.
- Duração da apresentação: 20 minutos + 5 minutos de perguntas.
- As apresentações podem ser realizadas seguindo o conteúdo do relatório (use bastante figuras no relatório, isto facilita a apresentação).
- Se preferirem usar slides, usem esse modelo.