Mudanças entre as edições de "RES-2014-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(24 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 37: Linha 37:
 
{{Cl|12 |8/9 | 2 | A Web e o HTTP | Laboratório de Informática, Projeção, Computadores}}
 
{{Cl|12 |8/9 | 2 | A Web e o HTTP | Laboratório de Informática, Projeção, Computadores}}
 
{{Cl|13 |12/9 | 2 | Laboratório de HTTP | Laboratório de Informática, Projeção, Computadores, Wiki}}
 
{{Cl|13 |12/9 | 2 | Laboratório de HTTP | Laboratório de Informática, Projeção, Computadores, Wiki}}
{{Cl|14 |15/9 | 2 | Transferência de arquivos, correio eletrônico | Laboratório de Informática, Projeção, Computadores}}
+
{{Cl|14 |15/9 | 2 | Transferência de arquivos, correio eletrônico, DNS | Laboratório de Informática, Projeção, Computadores}}
 
{{Cl|15 |19/9 | 2 | Laboratórios de FTP e DNS | Laboratório de Informática, Projeção, Computadores, Wiki}}
 
{{Cl|15 |19/9 | 2 | Laboratórios de FTP e DNS | Laboratório de Informática, Projeção, Computadores, Wiki}}
 
{{Cl|16 |22/9 | 2 | Lista de exercícios e revisão para a prova | Laboratório de Informática, Projeção, Computadores, Wiki}}
 
{{Cl|16 |22/9 | 2 | Lista de exercícios e revisão para a prova | Laboratório de Informática, Projeção, Computadores, Wiki}}
Linha 176: Linha 176:
 
[[media:RES12502-2014-2-Capitulo_2-Camada_de_Aplicacao-_Kurose_Ross.pdf|Camada de Aplicação]]
 
[[media:RES12502-2014-2-Capitulo_2-Camada_de_Aplicacao-_Kurose_Ross.pdf|Camada de Aplicação]]
  
=== Laboratório com Wireshark ===
+
=== Laboratório com Wireshark para HTTP ===
  
 
Hoje, faremos um laboratório usando o aplicativo Wireshark para que possamos entender melhor o funcionamento do protocolo HTTP.
 
Hoje, faremos um laboratório usando o aplicativo Wireshark para que possamos entender melhor o funcionamento do protocolo HTTP.
 +
 +
Para fixar os conteúdos, faremos uma lista de exercícios, retirada do nosso livro do Kurose e Ross:
 +
{{Collapse top |Lista 2 de Exercícios}}
 +
 +
Seção 2.1
 +
# Relacione cinco aplicações da Internet não proprietárias e os protocolos de camada de aplicação que elas usam.
 +
# Qual é a diferença entre arquitetura de rede e arquitetura de aplicação?
 +
# Para uma sessão de comunicação entre um par de processos, qual processo é o cliente e qual é o servidor?
 +
# Que informação é usada por um processo que está rodando em um hospedeiro para identificar um processo que está rodando em outro hospedeiro?
 +
# Suponha que você queira fazer uma transação de um cliente para um servidor remoto da maneira mais rápida possível. Você usaria UDP ou TCP? Por quê?
 +
Seção 2.2-2.5
 +
# O que significa protocolo de apresentação (handshaking protocol)?
 +
# Por que o HTTP roda sobre TCP e não sobre UDP?
 +
# Considere um site de comércio eletrônico que quer manter um registro de compras para cada um de seus clientes. Descreva como isso pode ser feito com cookies?
 +
# Descreva como o cache Web pode reduzir o atraso na recepção de um objeto requisitado. O cache Web reduzirá o atraso para todos os objetos requisitados por um usuário ou somente para alguns deles? Por quê?
 +
# Por que se diz que o FTP envia informações de controle “fora da banda”?
 +
# O que são o modo passivo e o modo ativo para FTP?
 +
# Suponha que Alice envie uma mensagem para Bob por meio de uma conta de e-mail da Web (como o Outlook ou gmail) e que Bob acesse o e-mail dele pelo servidor de correio usando POP3. Descreva como a mensagem vai do hospedeiro de Alice até o hospedeiro de Bob. Não se esqueça de relacionar a série de protocolos de camada de aplicação usados para movimentar a mensagem entre dois hospedeiros.
 +
# Imprima o cabeçalho de uma mensagem de e-mail que tenha recebido recentemente. Quantas linhas de cabeçalho “Received:” há nela? Analise cada uma.
 +
# Examine seus e-mails recebidos e veja o cabeçalho de uma mensagem enviada de um usuário com um endereço eletrônico ifsc.edu.br. É possível determinar, pelo cabeçalho, o endereço IP do hospedeiro do qual a mensagem foi enviada? Faça o mesmo para uma mensagem enviada de uma conta do gmail.
 +
# É possível que o servidor Web e o servidor de correio de uma organização tenham exatamente o mesmo apelido para um nome de hospedeiro (por exemplo, ifsc.edu.br)? Qual seria o tipo RR que contém o nome de hospedeiro do servidor de correio?
 +
# Suponha que você clique com seu navegador Web sobre um ponteiro para obter uma página e que o endereço IP para o URL associado não esteja no ''cache'' de seu hospedeiro local. Portanto, será necessária uma consulta ao DNS para o obter o endereço IP. Considere que n servidores DNS sejam visitados antes que seu hospedeiro receba o endereço IP do DNS; as visistas sucessivas incorrem em um RTT (round-trip time -- tempo de viagem de ida e volta) igual a RTT_1, ..., RTT_n. Suponha ainda que a página associada ao ponteiro contenha exatamente um objeto que consiste em uma pequena quantidade de texto HTML. Seja RTT_0 o RTT entre o hospedeiro local e o servidor que contém o objeto. Admitindo que o tempo de transmissão seja zero, quanto tempo passará desde que o cliente clica o ponteiro até receber o objeto?
 +
 +
{{Collapse bottom}}
  
 
Siga os passos descritos no documento [[media:Cap02-Wireshark_HTTP_v6.pdf|Laboratório Wireshark: HTTP]].
 
Siga os passos descritos no documento [[media:Cap02-Wireshark_HTTP_v6.pdf|Laboratório Wireshark: HTTP]].
 +
 +
=== Laboratório de FTP ===
 +
Agora, faremos alguns exercícios para observar o funcionamento do FTP (File Transfer Protocol).
 +
{{Collapse top |Veja aqui os exercícios}}
 +
# Abra um terminal e digite os seguintes comandos:<code>
 +
man ftp
 +
</syntaxhighlight>
 +
# Escreva o primeiro parágrafo da descrição do manual.
 +
# Agora, utilize o comando ftp para estabelecer uma conexão com um servidor de FTP:<code>
 +
ftp ftp.unicamp.br
 +
</syntaxhighlight> No exemplo acima, deve ser usado como usuário ''anonymous'' e senha o seu e-mail.
 +
# Consulte a listagem de comandos disponíveis para o servidor de FTP:<code>
 +
help
 +
</syntaxhighlight>
 +
# Liste o conteúdo do servidor:<code>ls</syntaxhighlight>
 +
# Ocorreu algum erro?
 +
# Altere para o modo passivo e exiba a listagem:<code>
 +
passive
 +
ls
 +
</syntaxhighlight>
 +
# Qual é o objetivo do modo passivo? (Utilize o manual do Linux ou o comando help do ftp)
 +
# Baixe um arquivo para o seu computador:<code>
 +
cd /pub/debian-cd/
 +
hash
 +
get README.mirrors.txt
 +
</syntaxhighlight>
 +
# Para que serve o comando hash?
 +
 +
{{Collapse bottom}}
 +
=== Laboratório de DNS ===
 +
Também faremos algumas atividades utilizando os serviços de DNS (Domain Name System).
 +
{{Collapse top |Veja aqui as atividades}}
 +
# Entre no site http://registro.br/ e explique qual é a função dele. (Observe a página "Quem Somos")
 +
# Abra um terminal e digite os seguintes comandos:<code>
 +
man host
 +
</syntaxhighlight>
 +
# Através do manual, descreva brevemente o comando host.
 +
# Liste os endereços IPs do IFSC e do Registro:<code>
 +
host -t A ifsc.edu.br
 +
host -t A registro.br
 +
</syntaxhighlight>
 +
# Com os endereços IPs listados acima, calcule o reverso.
 +
# Obtenha mais informações sobre o domínio do IFSC<code>
 +
host -t ANY ifsc.edu.br
 +
</syntaxhighlight>
 +
# Obtenha apenas o nome do servidor de mail:<code>
 +
host -t MX ifsc.edu.br
 +
</syntaxhighlight>
 +
# A partir dessa resposta, obtenha os nomes dos servidores de mail e de nomes do IFSC.
 +
# Qual é o significado do número ao lado do servidor de mail?
 +
# Por que devem ser cadastrados ao menos dois servidores de nomes autoritativos?
 +
# Houve alguma alteração ao se executar consecutivamente o comando abaixo? Por quê?<code>
 +
host -t NS ifsc.edu.br
 +
host -t NS ifsc.edu.br
 +
host -t NS ifsc.edu.br
 +
host -t NS ifsc.edu.br
 +
</syntaxhighlight>
 +
{{Collapse bottom}}
 +
 +
 +
=== Prova 2 ===
 +
Nossa segunda prova está marcada para o dia 26/09, às 20h40, e abordará o tema do Capítulo 2 do livro do Kurose.
 +
 +
== Módulo 3 - Camada de Transporte ==
 +
Neste módulo, utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose:
 +
[[media:RES12502-2014-2-C3-Camada_de_transporte.pdf|Camada de Transporte]]
 +
 +
===Podcast Interessante===
 +
Ouça o podcast da CBN em que Max Gehringer fala sobre o mercado de trabalho:
 +
http://download.sgr.globo.com/sgr-mp3/cbn/2014/colunas/max_141020.mp3
 +
 +
 +
===Lista 3 de Exercícios===
 +
Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:
 +
{{Collapse top |Lista 3 de Exercícios}}
 +
 +
Seções 3.1-3.3
 +
 +
# Suponha que uma camada de rede forneça o seguinte serviço. A camada de rede no computador fonte aceita um segmento de tamanho máximo de 1200 bytes e um endereço de computador-alvo da camada de transporte. A camada de rede, então, garante encaminhar o segmento para a camada de transporte no computador-alvo. Suponha que muitos processos de aplicação de rede possam estar sendo executados no computador alvo.
 +
## Crie, da forma mais simples, o protocolo da camada de transporte possível que levará os dados da aplicação para o processo desejado no hospedeiro de destino. Suponha que o sistema operacional do hospedeiro de destino determinou um número de porta de 4 bytes para cada processo de aplicação em execução.
 +
##  Modifique este protocolo de modo que ele forneça um "endereço de retorno" para o processo-alvo.
 +
## Em seus protocolos, a camada de transporte "tem de fazer algo" no núcleo da rede de computadores?
 +
# O que significa comunicação lógica entre processos que rodam em hospedeiros diferentes?
 +
# Considere um planeta onde todos possuam uma família com seis membros, cada família viva em sua própria casa, cada casa possua um endereço único e cada pessoa em certa casa possua um único nome. Suponha que este planeta possua um serviço postal que entregue cartas da casa-fonte à casa-alvo. O serviço exige que (1) a carta esteja em um envelope e que (2) o endereço da casa-alvo (e nada mais) esteja escrito claramente no envelope. Suponha que cada família possua um membro representante que recebe e distribui cartas para outros membros da família. As cartas não apresentam necessariamente qualquer indicação dos destinatários das cartas.
 +
##  Utilizando a solução do problema 1 como inspiração, descreva um protocolo que os representantes possam utilizar para entregar cartas de um membro remetente de uma família para um membro destinatário de outra família.
 +
## Em seu protocolo, o serviço postal precisa abrir o envelope e verificar a carta para fornecer o serviço?
 +
# Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A tenham número de porta fonte x e o número de porta destino y. Quais são os números de porta da fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A?
 +
# Descreva por que um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre o TCP.
 +
# Por que o tráfego de voz e de vídeo é frequentemente enviado por meio do UDP e não do TCP na Internet de hoje? (Dica: A resposta que procuramos não tem nenhuma relação com o mecanismo de controle de congestionamento no TCP.)
 +
# É possível que uma aplicação desfrute de transferência confiável de dados mesmo quando roda sobre UDP? Caso a resposta seja afirmativa, como isso acontece?
 +
# Suponha que um processo no computador C possua um socket UDP com número de porta 6789 e que o computador A e o Computador B, individualmente, enviem um segmento UDP ao Computador C com número de porta de destino 6789. Esses dois segmentos serão encaminhados pelo mesmo socket no Computador C? Se sim, como o processo no computador C saberá que esses dois segmentos vieram de dois computadores diferentes?
 +
# Suponha que um servidor da Web seja executado no Computador C na porta 80. Esse servidor utiliza conexões continuas e, no momento, está recebendo solicitações de dois Computadores diferentes, A e B. Todas as solicitações estão sendo enviadas através do mesmo socket no Computador C? Se eles vão passando por diferentes sockets, dois desses sockets possuem a porta 80? Discuta e explique.
 +
# Como são chamados os pacotes da camada de transporte? Qual é a diferença deste pacote com o pacote gerado na camada acima (de aplicação)?
 +
# Por que o IP (Internet Protocol) é um serviço de melhor esforço e não confiável?
 +
# Explique sucintamente os processos de multiplexação e de demultiplexação.
 +
# Faça um desenho da estrutura do segmento UDP.
 +
# Para que serve a soma de verificação (checksum) na estrutura UDP?
 +
 +
Seção 3.4
 +
 +
# Nos nossos protocolos rdt, por que precisamos introduzir números de sequência?
 +
# Nos nossos protocolos rdt, por que precisamos introduzir temporizadores?
 +
# Suponha que o atraso de viagem de ida e volta entre o emissor e o receptor seja constante e conhecido para o emissor. Ainda seria necessário um temporizador no protocolo rdt 3.0, supondo que os pacotes podem ser perdidos? Explique.
 +
# Descreva brevemente o protocolo Go-Back-N (GBN).
 +
# O que é repetição seletiva?
 +
 +
Seção 3.5
 +
 +
# Falsou ou verdadeiro?
 +
## O hospedeiro A está enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Suponha que o hospedeiro B não tenha dados para enviar para o hospedeiro A. O hospedeiro não enviará reconhecimentos para o hospedeiro A porque ele não pode dar carona aos reconhecimentos dos dados.
 +
## O tamanho de rwnd do TCP nunca muda enquanto dura a conexão.
 +
## Suponha que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. O número de bytes não reconhecidos que o hospedeiro A envia não pode exceder o tamanho do buffer de recepção.
 +
## Imagine que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Se o número de sequência para um segmento dessa conexão for m, então o número de sequência para o segmento subsequente será necessariamente m + 1.
 +
## O segmento TCP tem um campo em seu cabeçalho para Rwnd.
 +
## Imagine que o hospedeiro A envie ao hospedeiro B, por uma conexão TCP, um segmento com o número de sequência 38 e 4 bytes de dados. Nesse mesmo segmento, o número de reconhecimento será necessariamente 42.
 +
# Suponha que o hospedeiro A envie dois segmentos TCP um atrás do outro ao hospedeiro B sobre uma conexão TCP. O primeiro segmento tem número de sequência 90 e o segundo, número de sequência 110.
 +
## Quantos dados tem o primeiro segmento?
 +
## Suponha que o primeiro segmento seja perdido, mas o segundo chegue a B. No reconhecimento que B envia a A, qual será o número de reconhecimento?
 +
# Por que o TCP é dito orientado à conexão? Ele provê um serviço full-duplex?
 +
# Faça um desenho da estrutura do segmento TCP.
 +
# O que é o controle de fluxo?
 +
# Como é feito o controle de congestionamento no TCP?
 +
# O que é partida lenta?
 +
# Como se previne o congestionamento?
 +
# Explique a equidade em TCP? Existe equidade em UDP?
 +
 +
{{Collapse bottom}}
 +
 +
=== Prova 3 ===
 +
Nossa terceira prova foi adiada para o dia 31/10, às 20h40, e abordará o tema do Capítulo 3 do livro do Kurose.
 +
 +
 +
== Módulo 4 - Camada de Rede ==
 +
Neste módulo, também utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose:
 +
[[media:RES12502-2014-2-C4-CamadaRede.pdf|Camada de Rede]]
 +
 +
=== Trabalho ===
 +
 +
Este trabalho deverá ser individual e a solução deve ser apresentada em sala de aula no dia 17 de Novembro.
 +
 +
O trabalho consiste em criar sub-redes, uma para cada departamento de uma empresa. Por exemplo, se uma empresa possui dois departamentos com 200 funcionários cada, pode-se escolher duas sub-redes sendo uma 192.168.1.0/24 e outra 192.168.2.0/24. Assim, haverá sobra de IPs para outros equipamentos e visitantes, além de haver folga para novas contratações.
 +
 +
Haverá restrição da quantidade de IPs por empresa. Assim, só uma quantidade deles estará disponível.
 +
 +
Observe os detalhes de cada empresa:
 +
 +
* Empresa 1 (Caroline):
 +
** Com 7 departamentos;
 +
** 50 funcionários contratados com quantidade balanceada de funcionários por departamento;
 +
** Faixa de IPs disponível: 192.168.5.0 -- 192.168.6.255
 +
 +
* Empresa 2 (Danilo):
 +
** Com 15 departamentos;
 +
** 132 funcionários contratados com quantidade balanceada de funcionários por departamento;
 +
** Faixa de IPs disponível: 192.168.7.0 -- 192.168.10.255
 +
 +
* Empresa 3 (Gabriel):
 +
** Com 26 departamentos;
 +
** 150 funcionários contratados com quantidade balanceada de funcionários por departamento;
 +
** Faixa de IPs disponível: 192.168.0.0 -- 192.168.4.255
 +
 +
* Empresa 4 (Sidnei):
 +
** Com 3 departamentos;
 +
** 150 funcionários no primeiro departamento, 50 no segundo, 75 no terceiro;
 +
** Faixa de IPs disponível: 192.168.20.0 -- 192.168.22.255
 +
 +
Os trabalhos devem ser apresentados em sala de aula, indicando as sub-redes por departamento.
 +
 +
 +
===Lista 4 de Exercícios===
 +
Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:
 +
{{Collapse top |Lista 4 de Exercícios}}
 +
 +
Seções 4.1-4.2
 +
 +
# Vamos rever um pouco da terminologia usada. Lembre-se de que o nome de um pacote na camada de transporte é segmento e de que o nome na camada de enlace é quadro. Qual é o nome de um pacote na camada de rede? Lembre-se de que roteadores e comutadores da camada de enlace são denominados comutadores de pacotes. Qual é a diferença fundamental entre um roteador e um comutador da camada de enlace?
 +
# Quais são as duas funções mais importantes de camada de rede em uma rede de datagramas? Quais são as três funções mais importantes de camada de rede em uma rede com circuitos virtuais?
 +
# Qual é a diferença entre rotear e repassar?
 +
# Os roteadores nas redes de datagramas e nas redes de circuitos virtuais usam tabelas de repasse? Caso usem, descreva as tabelas de repasse para ambas as classes de redes.
 +
 +
Seção 4.3
 +
 +
# Descreva como pode ocorrer perda de pacotes em portas de entrada. Essa perda poderia ser impedida aumentando a velocidade de fábrica do comutador?
 +
# Descreva como pode ocorrer perda de pacotes em portas de saída. Essa perda poderia ser impedida aumentando a velocidade de fábrica do comutador?
 +
# O que é bloqueio HOL? Ele ocorre em portas de saída ou de entrada?
 +
 +
Seção 4.4
 +
 +
# Roteadores têm endereços IPs? Em caso positivo, quantos?
 +
# Qual é o equivalente binário de 32 bits para o endereço 223.1.2.27?
 +
# Suponha que haja três roteadores entre os hospedeiros de origem e destino. Ignorando a fragmentação, um datagrama IP enviado do hospedeiro de origem até o hospedeiro de destino transitará por quantas interfaces? Quantas tabelas de repasse serão indexadas para deslocar o datagrama desde a origem até o destino?
 +
# Suponha que uma aplicação gere blocos de 40 bytes a cada 20 ms e que cada bloco seja encapsulado em um segmento TCP e, em seguida, em um datagrama IP. Que porcentagem de cada datagrama será sobrecarga e que porcentagem será dados da aplicação?
 +
# Suponha que o hospedeiro A envie para o hospedeiro B um segmento TCP encapsulado em um datagrama IP. Quando o hospedeiro B recebe o datagrama, com sua camada de rede sabe que deve passar o segmento (isto é carga útil do datagrama) para o TCP e não para o UDP ou qualquer outra coisa?
 +
# Suponha que você compre um roteador sem fio e o conecte a seu modem a cabo. Suponha também que seu ISP designe dinamicamente um endereço IP a seu dispositivo conectado (isto é, seu roteador sem fio). Suponha ainda que você tenha cinco PCs em casa e que usa 802.11 para conectá-los sem fio ao roteador. Como são designados endereços IP aos cinco PCs? O roteador sem fio usa NAT? Por quê?
 +
 +
{{Collapse bottom}}
 +
 +
=== Prova 4 ===
 +
Nossa quarta prova foi adiada para o dia 24/11, às 20h40, na sala 4, e abordará o tema do Capítulo 4 do livro do Kurose.
 +
 +
== Módulo 5 - Camada de Enlace ==
 +
Neste módulo, também utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose:
 +
[[media:RES12502-2014-2-C5-CamadaEnlace.pdf|Camada de Enlace]]
 +
 +
Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:
 +
{{Collapse top |Lista 5 de Exercícios}}
 +
 +
Seções 5.1-5.2
 +
# Quais alguns possíveis serviços um protocolo da camada de enlace pode fornecer para a camada de rede?
 +
 +
Seção 5.3
 +
# O que é CSMA/CD e qual é o objetivo dele?
 +
# Descreva os protocolos de polling (seleção) e de passagem de permissão.
 +
# Por que um protocolo de passagem de permissão seria ineficiente se uma LAN tivesse um perímetro muito grande?
 +
 +
Seção 5.4
 +
# Que tamanho tem o espaço de endereços MAC? E o espaço de endereços IPv4?
 +
# Suponha que cada um dos nós A, B e C esteja ligado à mesma LAN de difusão (por meio de seus adaptadores). Se A enviar milhares de datagramas IP a B com quadro de encapsulamento endereçado ao MAC de B, o adaptador de C processará esses quadros? Se processar, ele passará os datagramas IP desses quadros para C? O que mudaria em sua resposta se A enviasse quadros com o endereço MAC de difusão?
 +
# Por que uma pesquisa ARP é enviada dentro de um quadro de difusão? Por que uma resposta ARP é enviada em um quadro com endereço MAC de destino específico?
 +
# Qual é o número máximo de VLANs que podem ser configuradas em um comutador que suporta o protocolo 802.1Q? Por quê?
 +
# Faça um desenho com a estrutura do quadro Ethernet.
 +
# Descreva brevemente um comutador da camada de enlace. Descreva as capacidades de repasse e filtragem que ele possui. O que é a autoaprendizagem?
 +
 +
{{Collapse bottom}}
 +
 +
=== Prova 5 ===
 +
Nossa quinta prova está marcada para o dia 12/12, às 20h40, na sala 4, e abordará o tema do Capítulo 5 do livro do Kurose.
 +
 +
=== Prova de Recuperação ===
 +
A prova de recuperação está marcada para o dia 15/12, às 20h40, na sala 4, e abordará o tema dos Capítulos de 1 a 5 do livro do Kurose.
 +
 +
Lembre-se de que a nota obtida na prova de recuperação, sendo maior, deverá substituir a nota final. Ainda, lembre-se de que a nota final é calculada de 80% das médias das provas escritas e 20% de trabalho apresentado em sala e participação.

Edição atual tal como às 18h34min de 8 de dezembro de 2014

Diário de aula de Redes de Computadores (RES12502)

(Técnico em Telecomunicações com Ênfase em Redes - Turma 1250231)

Instrutor

Professor: Fábio Grezele
Email: fabio.grezele (arroba) ifsc.edu.br
Atendimento paralelo: Quartas-feiras 20:40 - 22:30 (Lab. de Desenvolvimento de Tele)

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. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação, e assim a reprovação na disciplina.

Bibliografia

  • Livro (mais utilizado da bibliografia sugerida no Plano da Disciplina)
    • KUROSE, James; ROSS, Keith. Redes de Computadores e a Internet: Uma Abordagem Top-Down, 6a edição. Pearson, 2013.

Plano de Ensino

Plano de Ensino
Aula Data Horas Conteúdo Recursos
1 31/7 2 Apresentação da disciplina, plano de ensino e metodologia Laboratório de Informática, Projeção, Computadores
2 4/8 2 Módulo 1: redes de computadores e a Internet: o que é a Internet? Laboratório de Informática, Projeção, Computadores
3 7/8 2 A periferia da Internet: redes de acesso, meios físicos Laboratório de Informática, Projeção, Computadores
4 11/8 2 O núcleo da rede: comutação de pacotes e comutação de circuitos Laboratório de Informática, Projeção, Computadores
5 15/8 2 Lista de exercícios Laboratório de Informática, Projeção, Computadores, Wiki
6 18/8 2 Atraso de fila e fim a fim, perda, vazão em redes de cumutação de pacotes Laboratório de Informática, Projeção, Computadores
7 22/8 2 Camada de protocolos e seus modelos de serviço: arquitetura de camadas e encapsulamento Laboratório de Informática, Projeção, Computadores
8 25/8 2 Redes sob ameaça, laboratório wireshark, lista de exercícios e revisão para a prova Laboratório de Informática, Projeção, Computadores, Wiki
9 29/8 2 Prova 1 sobre o Módulo 1 Laboratório de Informática ou Sala de Aula
10 1/9 2 Revisão da prova 1. Módulo 2: camada de aplicação, princípio de aplicações de rede, comunicação entre processos Laboratório de Informática, Projeção, Computadores
11 5/9 2 Serviços de tranporte e protocolos da camada de aplicação Laboratório de Informática, Projeção, Computadores
12 8/9 2 A Web e o HTTP Laboratório de Informática, Projeção, Computadores
13 12/9 2 Laboratório de HTTP Laboratório de Informática, Projeção, Computadores, Wiki
14 15/9 2 Transferência de arquivos, correio eletrônico, DNS Laboratório de Informática, Projeção, Computadores
15 19/9 2 Laboratórios de FTP e DNS Laboratório de Informática, Projeção, Computadores, Wiki
16 22/9 2 Lista de exercícios e revisão para a prova Laboratório de Informática, Projeção, Computadores, Wiki
17 26/9 2 Prova 2 sobre Módulo 2 Laboratório de Informática ou Sala de Aula
18 29/9 2 Revisão da prova 2. Módulo 3: camada de transporte, introdução, multiplexação e demultiplexação Laboratório de Informática, Projeção, Computadores
19 3/10 2 Transporte não orientado para conexão (UDP), princípios da tansferência confiável de dados Laboratório de Informática, Projeção, Computadores
20 6/10 2 Laboratório UDP Laboratório de Informática, Projeção, Computadores
21 10/10 2 Go-Back-N, repetição seletiva Laboratório de Informática, Projeção, Computadores
22 13/10 2 Transporte orientado para conexão (TCP), estrutura do segmento TCP, transferência confiável de dados, controle de fluxo e controle de congestionamento. Laboratório de Informática, Projeção, Computadores
23 17/10 2 Laboratório TCP Laboratório de Informática, Projeção, Computadores, Wiki
24 20/10 2 Lista de exercícios e revisão para a prova Laboratório de Informática, Projeção, Computadores, Wiki
25 24/10 2 Prova 3 sobre o Módulo 3 Laboratório de Informática ou Sala de Aula
26 27/10 2 Revisão da prova 3. Módulo 4: a camada de rede. Introdução. Redes de circuitos virtuais e de datagramas. Laboratório de Informática, Projeção, Computadores
27 31/10 2 Roteador: processamento de entrada. Elemento comutador. Processamento de Saída. Laboratório de Informática, Projeção, Computadores
28 3/11 2 Protocolo da Internet (IP): repasse e endereçamento IPv4. Formato do datagrama. Laboratório de Informática, Projeção, Computadores
29 7/11 2 ICMP. IPv6. Algoritmos de roteamento. Laboratório de Informática, Projeção, Computadores
30 10/11 2 Laboratóriio IPv4 Laboratório de Informática, Projeção, Computadores, Wiki
31 14/11 2 Lista de exercícios e revisão para a prova Laboratório de Informática, Projeção, Computadores, Wiki
32 17/11 2 Prova 4 sobre o Módulo 4 Laboratório de Informática ou Sala de Aula
33 21/11 2 Revisão da prova 4. Módulo 5: a camada de enlace. Introdução. Protocolos de divisão de canal. Laboratório de Informática, Projeção, Computadores
34 24/11 2 Protocolos de divisão de canal, protocolos de acesso aleatório, protocolos de revezamento. Laboratório de Informática, Projeção, Computadores
35 28/11 2 Endereçamento da camada de enlace e ARP. Ethernet. Comutadores na camada de enlace. Redes locais virtuais (VLAN) Laboratório de Informática, Projeção, Computadores
36 1/12 2 Multiprotocol Label Switiching (MPLS). DHCP Laboratório de Informática, Projeção, Computadores
37 5/12 2 Laboratório com Ethernet Laboratório de Informática, Projeção, Computadores, Wiki
38 8/12 2 Lista de exercícios e revisão para as provas 5 e de recuperação Laboratório de Informática, Projeção, Computadores, Wiki
39 12/12 2 Prova 5 sobre o Módulo 5 Laboratório de Informática ou Sala de Aula
40 15/12 2 Prova de Recuperação Laboratório de Informática ou Sala de Aula
TOTAL 80

Redes de Computadores

Módulo 1 - Redes de Computadores e a Internet

Neste módulo, utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose: Redes de Computadores e a Internet

Para fixar os conteúdos, faremos uma lista de exercícios, retirada do nosso livro do Kurose e Ross:

Lista 1 de Exercícios

Seção 1.1

  1. Qual é a diferença entre um sistema hospedeiro e um sistema final? Cite os tipos de sistemas finais. Um servidor Web é um sistema final?
  2. A palavra protocolo é muito usada para descrever relações diplomáticas. Como a Wikipédia descrever um protocolo diplomático?
  3. Por que os padrões são importantes para os protocolos?

Seção 1.2

  1. Cite seis tecnologias de acesso. Classifique cada uma delas nas categorias acesso residencial, corporativo ou móvel.
  2. A taxa de transmissão HFC (rede híbrida fibra-coaxial) é compartilhada ou dedicada entre usuários?
  3. Cite as tecnologias de acesso residencial disponíveis em sua cidade. Para cada tipo de acesso, apresente a taxa de downstream, a taxa de upstream e o preço mensal anunciado.
  4. Qual é a taxa de transmissão de LANs Ethernet?
  5. Cite alguns meios físicos utilizados para instalar a Ethernet.
  6. Descreva as tecnologias de acesso sem fio mais populares atualmente. Faça uma comparação entre elas.
  7. Suponha que exista exatamente um comutador de pacotes entre um computador de origem e um de destino. As taxas de transmissão entre a máquina de origem e o comutador e entre este e a máquina de destino são R1 e R2, respectivamente. Admitindo que um roteador use comutação de pacotes do tipo armazena-e-reenvia, qual é o atraso total fim a fim para enviar um pacote de comprimento L? (Desconsidere formação de fila, atraso de propagação e atraso de processamento.)
  8. Qual é a vantagem de uma rede de comutação de circuitos em relação a uma de comutação de pacotes?
  9. Suponha que usuários compartilhem um enlace de 2Mbits/s e que cada usuário transmita continuamente a 1Mbit/s, mas cada um deles transmite apenas 20% do tempo.
    1. Quando a comutação de circuitos é utilizada, quantos usuários podem ser admitidos?
    2. Para o restante desse problema, considere comutação de pacotes. Por que não haverá atraso de fila antes de um enlace se dois ou menos usuários transmitirem ao mesmo tempo? Por que haverá atraso de fila se três ou mais transmitirem ao mesmo tempo?
    3. Determine a probabilidade de um usuário estar transmitindo.
  10. Por que dois ISPs (Internet Service Providers) no mesmo nível de hierarquia farão emparelhamento? Como um IXP (Internet Exchange Point) consegue ter lucro?
  11. Alguns provedores de conteúdo criaram suas próprias redes. Descreva a rede do Google. O que motiva os provedores de conteúdo a criar essas redes?

Seção 1.4

  1. Considere o envio de uma máquina de origem a uma máquina de destino por uma rota fixa. Relacione os componentes de atraso que formam o atraso fim a fim. Quais são constantes e quais são variáveis?
  2. Quanto tempo um pacote de 1.000 bytes leva para se propagar através de um enlace de 2.500 km de distância, com uma velocidade de propagação de 2,5 * 10^8 m/s e uma taxa de transmissão de 2Mbits/s?
  3. Suponha que o hospedeiro A queira enviar um arquivo grande para o hospedeiro B. O percurso de A para B possui três enlaces, de taxas R1 = 500 kbits/s, R2 = 2Mbits/s e R3 = 1 Mbit/s.
    1. Considerando que não haja nenhum outro tráfego na rede, qual é a vazão para a transferência de arquivo?
    2. Suponha que o arquivo tenha 4 milhões de bytes. Dividindo o tamanho do arquivo pela vazão, quanto tempo levará a transferência para o hospedeiro B?
    3. Repita os itens primeiro e segundo, mas agora com R2 reduzido para 100 kbits/s.

Seção 1.5

  1. Cite cinco tarefas que uma camada pode executar. É possível que uma ou mais dessas tarefas sejam realizadas por duas ou mais dessas camadas?
  2. Quais são as cinco camadas da pilha de protocolos da Internet? Quais as principais responsabilidades de cada uma dessas camadas?
  3. O que é uma mensagem de camada de aplicação? Um segmento de camada de transporte? Um datagrama da camada de rede? Um quadro da camada de enlace?
  4. Que camadas da pilha de protocolo da Internet um roteador processa? Que camadas um comutador de camada de enlace processa? Que camadas um sistema final processa?

Agora, faremos um laboratório, utilizando algumas ferramentas do Sistema Operacional instalado nos computadores do laboratório.

Laboratório 1

No terminal do seu computador com Ubuntu, digite:

ifconfig

O aplicativo ifconfig pode ser utilizado para visualizar a configuração ou configurar uma interface de hospedeiro em redes TCP/IP. Observe as seguintes saídas para a placa eth0:

  • Endereço de máquina;
  • Endereço IPv4;
  • Endereço de broadcast;
  • Máscara de rede;
  • MTU (Maximum Transmission Unit) - unidade máxima de transmissão do quadro da camada de enlace;
  • Número de pacotes de rede recebidos (RX) e transmitidos (TX).

Observe esta saída para um computador do laboratório:

eth1      Link encap:Ethernet  Endereço de HW 84:34:97:03:d4:c7  
          inet end.: 172.18.17.124  Bcast:172.18.63.255  Masc:255.255.192.0
          endereço inet6: fe80::8634:97ff:fe03:d4c7/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
          pacotes RX:24224 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:11322 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000 
          RX bytes:28911033 (28.9 MB) TX bytes:986241 (986.2 KB)
          IRQ:18

Agora, digite:

ping <Endereço IPv4 obtido de um colega>

ping -b <Endereço de broadcast>

O aplicativo ping permite a um usuário verificar se um hospedeiro remoto está ativo. É bastante utilizado para detectar problemas de comunicação na rede.

Agora, consulte o manual do Ubuntu para saber o que é o traceroute:

man traceroute

Execute o comando acima para alguns sites da Internet localizados no Brasil e também no exterior.

Aproveite e visite o site do Registro.BR, onde se pode executar a ferramenta via Web: http://registro.br/cgi-bin/nicbr/trt

Prova 1

Nossa primeira prova está marcada para o dia 29/08, às 20h40, e abordará o tema do Capítulo 1 do livro do Kurose.

A questão abaixo vale um ponto a ser somado com a nota da prova. Deve ser mostrado durante a aula do dia 8/9, às 20h40.

Questão para laboratório em casa
  • Execute o programa traceroute para verificar a rota entre uma origem e um destino, no mesmo continente, para três horários diferentes do dia.
    • Determine a média e o desvio-padrão dos atrasos de ida e volta para cada um dos três horários.
    • Determine o número de roteadores no caminho para cada um dos três. Os caminhos mudaram em algum dos horários?
    • Tente identificar o número de redes de ISP pelas quais o pacote do traceroute passa entre origem e destino. Roteadores com nomes semelhantes e/ou endereços IP semelhantes devem ser considerados parte do mesmo ISP. Em suas respostas, os maiores atrasos ocorrem nas interfaces de formação de pares entre ISPs adjacentes?
    • Faça o mesmo para uma origem e um destino em continentes diferentes. Compare os resultados dentro do mesmo continente com os resultados entre continentes diferentes.

Módulo 2 - Camada de Aplicação

Neste módulo, utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose: Camada de Aplicação

Laboratório com Wireshark para HTTP

Hoje, faremos um laboratório usando o aplicativo Wireshark para que possamos entender melhor o funcionamento do protocolo HTTP.

Para fixar os conteúdos, faremos uma lista de exercícios, retirada do nosso livro do Kurose e Ross:

Lista 2 de Exercícios

Seção 2.1

  1. Relacione cinco aplicações da Internet não proprietárias e os protocolos de camada de aplicação que elas usam.
  2. Qual é a diferença entre arquitetura de rede e arquitetura de aplicação?
  3. Para uma sessão de comunicação entre um par de processos, qual processo é o cliente e qual é o servidor?
  4. Que informação é usada por um processo que está rodando em um hospedeiro para identificar um processo que está rodando em outro hospedeiro?
  5. Suponha que você queira fazer uma transação de um cliente para um servidor remoto da maneira mais rápida possível. Você usaria UDP ou TCP? Por quê?

Seção 2.2-2.5

  1. O que significa protocolo de apresentação (handshaking protocol)?
  2. Por que o HTTP roda sobre TCP e não sobre UDP?
  3. Considere um site de comércio eletrônico que quer manter um registro de compras para cada um de seus clientes. Descreva como isso pode ser feito com cookies?
  4. Descreva como o cache Web pode reduzir o atraso na recepção de um objeto requisitado. O cache Web reduzirá o atraso para todos os objetos requisitados por um usuário ou somente para alguns deles? Por quê?
  5. Por que se diz que o FTP envia informações de controle “fora da banda”?
  6. O que são o modo passivo e o modo ativo para FTP?
  7. Suponha que Alice envie uma mensagem para Bob por meio de uma conta de e-mail da Web (como o Outlook ou gmail) e que Bob acesse o e-mail dele pelo servidor de correio usando POP3. Descreva como a mensagem vai do hospedeiro de Alice até o hospedeiro de Bob. Não se esqueça de relacionar a série de protocolos de camada de aplicação usados para movimentar a mensagem entre dois hospedeiros.
  8. Imprima o cabeçalho de uma mensagem de e-mail que tenha recebido recentemente. Quantas linhas de cabeçalho “Received:” há nela? Analise cada uma.
  9. Examine seus e-mails recebidos e veja o cabeçalho de uma mensagem enviada de um usuário com um endereço eletrônico ifsc.edu.br. É possível determinar, pelo cabeçalho, o endereço IP do hospedeiro do qual a mensagem foi enviada? Faça o mesmo para uma mensagem enviada de uma conta do gmail.
  10. É possível que o servidor Web e o servidor de correio de uma organização tenham exatamente o mesmo apelido para um nome de hospedeiro (por exemplo, ifsc.edu.br)? Qual seria o tipo RR que contém o nome de hospedeiro do servidor de correio?
  11. Suponha que você clique com seu navegador Web sobre um ponteiro para obter uma página e que o endereço IP para o URL associado não esteja no cache de seu hospedeiro local. Portanto, será necessária uma consulta ao DNS para o obter o endereço IP. Considere que n servidores DNS sejam visitados antes que seu hospedeiro receba o endereço IP do DNS; as visistas sucessivas incorrem em um RTT (round-trip time -- tempo de viagem de ida e volta) igual a RTT_1, ..., RTT_n. Suponha ainda que a página associada ao ponteiro contenha exatamente um objeto que consiste em uma pequena quantidade de texto HTML. Seja RTT_0 o RTT entre o hospedeiro local e o servidor que contém o objeto. Admitindo que o tempo de transmissão seja zero, quanto tempo passará desde que o cliente clica o ponteiro até receber o objeto?

Siga os passos descritos no documento Laboratório Wireshark: HTTP.

Laboratório de FTP

Agora, faremos alguns exercícios para observar o funcionamento do FTP (File Transfer Protocol).

Veja aqui os exercícios
  1. Abra um terminal e digite os seguintes comandos:

man ftp </syntaxhighlight>

  1. Escreva o primeiro parágrafo da descrição do manual.
  2. Agora, utilize o comando ftp para estabelecer uma conexão com um servidor de FTP:

ftp ftp.unicamp.br </syntaxhighlight> No exemplo acima, deve ser usado como usuário anonymous e senha o seu e-mail.

  1. Consulte a listagem de comandos disponíveis para o servidor de FTP:

help </syntaxhighlight>

  1. Liste o conteúdo do servidor:ls</syntaxhighlight>
  2. Ocorreu algum erro?
  3. Altere para o modo passivo e exiba a listagem:

passive ls </syntaxhighlight>

  1. Qual é o objetivo do modo passivo? (Utilize o manual do Linux ou o comando help do ftp)
  2. Baixe um arquivo para o seu computador:

cd /pub/debian-cd/ hash get README.mirrors.txt </syntaxhighlight>

  1. Para que serve o comando hash?

Laboratório de DNS

Também faremos algumas atividades utilizando os serviços de DNS (Domain Name System).

Veja aqui as atividades
  1. Entre no site http://registro.br/ e explique qual é a função dele. (Observe a página "Quem Somos")
  2. Abra um terminal e digite os seguintes comandos:

man host </syntaxhighlight>

  1. Através do manual, descreva brevemente o comando host.
  2. Liste os endereços IPs do IFSC e do Registro:

host -t A ifsc.edu.br host -t A registro.br </syntaxhighlight>

  1. Com os endereços IPs listados acima, calcule o reverso.
  2. Obtenha mais informações sobre o domínio do IFSC

host -t ANY ifsc.edu.br </syntaxhighlight>

  1. Obtenha apenas o nome do servidor de mail:

host -t MX ifsc.edu.br </syntaxhighlight>

  1. A partir dessa resposta, obtenha os nomes dos servidores de mail e de nomes do IFSC.
  2. Qual é o significado do número ao lado do servidor de mail?
  3. Por que devem ser cadastrados ao menos dois servidores de nomes autoritativos?
  4. Houve alguma alteração ao se executar consecutivamente o comando abaixo? Por quê?

host -t NS ifsc.edu.br host -t NS ifsc.edu.br host -t NS ifsc.edu.br host -t NS ifsc.edu.br </syntaxhighlight>


Prova 2

Nossa segunda prova está marcada para o dia 26/09, às 20h40, e abordará o tema do Capítulo 2 do livro do Kurose.

Módulo 3 - Camada de Transporte

Neste módulo, utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose: Camada de Transporte

Podcast Interessante

Ouça o podcast da CBN em que Max Gehringer fala sobre o mercado de trabalho: http://download.sgr.globo.com/sgr-mp3/cbn/2014/colunas/max_141020.mp3


Lista 3 de Exercícios

Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:

Lista 3 de Exercícios

Seções 3.1-3.3

  1. Suponha que uma camada de rede forneça o seguinte serviço. A camada de rede no computador fonte aceita um segmento de tamanho máximo de 1200 bytes e um endereço de computador-alvo da camada de transporte. A camada de rede, então, garante encaminhar o segmento para a camada de transporte no computador-alvo. Suponha que muitos processos de aplicação de rede possam estar sendo executados no computador alvo.
    1. Crie, da forma mais simples, o protocolo da camada de transporte possível que levará os dados da aplicação para o processo desejado no hospedeiro de destino. Suponha que o sistema operacional do hospedeiro de destino determinou um número de porta de 4 bytes para cada processo de aplicação em execução.
    2. Modifique este protocolo de modo que ele forneça um "endereço de retorno" para o processo-alvo.
    3. Em seus protocolos, a camada de transporte "tem de fazer algo" no núcleo da rede de computadores?
  2. O que significa comunicação lógica entre processos que rodam em hospedeiros diferentes?
  3. Considere um planeta onde todos possuam uma família com seis membros, cada família viva em sua própria casa, cada casa possua um endereço único e cada pessoa em certa casa possua um único nome. Suponha que este planeta possua um serviço postal que entregue cartas da casa-fonte à casa-alvo. O serviço exige que (1) a carta esteja em um envelope e que (2) o endereço da casa-alvo (e nada mais) esteja escrito claramente no envelope. Suponha que cada família possua um membro representante que recebe e distribui cartas para outros membros da família. As cartas não apresentam necessariamente qualquer indicação dos destinatários das cartas.
    1. Utilizando a solução do problema 1 como inspiração, descreva um protocolo que os representantes possam utilizar para entregar cartas de um membro remetente de uma família para um membro destinatário de outra família.
    2. Em seu protocolo, o serviço postal precisa abrir o envelope e verificar a carta para fornecer o serviço?
  4. Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A tenham número de porta fonte x e o número de porta destino y. Quais são os números de porta da fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A?
  5. Descreva por que um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre o TCP.
  6. Por que o tráfego de voz e de vídeo é frequentemente enviado por meio do UDP e não do TCP na Internet de hoje? (Dica: A resposta que procuramos não tem nenhuma relação com o mecanismo de controle de congestionamento no TCP.)
  7. É possível que uma aplicação desfrute de transferência confiável de dados mesmo quando roda sobre UDP? Caso a resposta seja afirmativa, como isso acontece?
  8. Suponha que um processo no computador C possua um socket UDP com número de porta 6789 e que o computador A e o Computador B, individualmente, enviem um segmento UDP ao Computador C com número de porta de destino 6789. Esses dois segmentos serão encaminhados pelo mesmo socket no Computador C? Se sim, como o processo no computador C saberá que esses dois segmentos vieram de dois computadores diferentes?
  9. Suponha que um servidor da Web seja executado no Computador C na porta 80. Esse servidor utiliza conexões continuas e, no momento, está recebendo solicitações de dois Computadores diferentes, A e B. Todas as solicitações estão sendo enviadas através do mesmo socket no Computador C? Se eles vão passando por diferentes sockets, dois desses sockets possuem a porta 80? Discuta e explique.
  10. Como são chamados os pacotes da camada de transporte? Qual é a diferença deste pacote com o pacote gerado na camada acima (de aplicação)?
  11. Por que o IP (Internet Protocol) é um serviço de melhor esforço e não confiável?
  12. Explique sucintamente os processos de multiplexação e de demultiplexação.
  13. Faça um desenho da estrutura do segmento UDP.
  14. Para que serve a soma de verificação (checksum) na estrutura UDP?

Seção 3.4

  1. Nos nossos protocolos rdt, por que precisamos introduzir números de sequência?
  2. Nos nossos protocolos rdt, por que precisamos introduzir temporizadores?
  3. Suponha que o atraso de viagem de ida e volta entre o emissor e o receptor seja constante e conhecido para o emissor. Ainda seria necessário um temporizador no protocolo rdt 3.0, supondo que os pacotes podem ser perdidos? Explique.
  4. Descreva brevemente o protocolo Go-Back-N (GBN).
  5. O que é repetição seletiva?

Seção 3.5

  1. Falsou ou verdadeiro?
    1. O hospedeiro A está enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Suponha que o hospedeiro B não tenha dados para enviar para o hospedeiro A. O hospedeiro não enviará reconhecimentos para o hospedeiro A porque ele não pode dar carona aos reconhecimentos dos dados.
    2. O tamanho de rwnd do TCP nunca muda enquanto dura a conexão.
    3. Suponha que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. O número de bytes não reconhecidos que o hospedeiro A envia não pode exceder o tamanho do buffer de recepção.
    4. Imagine que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Se o número de sequência para um segmento dessa conexão for m, então o número de sequência para o segmento subsequente será necessariamente m + 1.
    5. O segmento TCP tem um campo em seu cabeçalho para Rwnd.
    6. Imagine que o hospedeiro A envie ao hospedeiro B, por uma conexão TCP, um segmento com o número de sequência 38 e 4 bytes de dados. Nesse mesmo segmento, o número de reconhecimento será necessariamente 42.
  2. Suponha que o hospedeiro A envie dois segmentos TCP um atrás do outro ao hospedeiro B sobre uma conexão TCP. O primeiro segmento tem número de sequência 90 e o segundo, número de sequência 110.
    1. Quantos dados tem o primeiro segmento?
    2. Suponha que o primeiro segmento seja perdido, mas o segundo chegue a B. No reconhecimento que B envia a A, qual será o número de reconhecimento?
  3. Por que o TCP é dito orientado à conexão? Ele provê um serviço full-duplex?
  4. Faça um desenho da estrutura do segmento TCP.
  5. O que é o controle de fluxo?
  6. Como é feito o controle de congestionamento no TCP?
  7. O que é partida lenta?
  8. Como se previne o congestionamento?
  9. Explique a equidade em TCP? Existe equidade em UDP?

Prova 3

Nossa terceira prova foi adiada para o dia 31/10, às 20h40, e abordará o tema do Capítulo 3 do livro do Kurose.


Módulo 4 - Camada de Rede

Neste módulo, também utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose: Camada de Rede

Trabalho

Este trabalho deverá ser individual e a solução deve ser apresentada em sala de aula no dia 17 de Novembro.

O trabalho consiste em criar sub-redes, uma para cada departamento de uma empresa. Por exemplo, se uma empresa possui dois departamentos com 200 funcionários cada, pode-se escolher duas sub-redes sendo uma 192.168.1.0/24 e outra 192.168.2.0/24. Assim, haverá sobra de IPs para outros equipamentos e visitantes, além de haver folga para novas contratações.

Haverá restrição da quantidade de IPs por empresa. Assim, só uma quantidade deles estará disponível.

Observe os detalhes de cada empresa:

  • Empresa 1 (Caroline):
    • Com 7 departamentos;
    • 50 funcionários contratados com quantidade balanceada de funcionários por departamento;
    • Faixa de IPs disponível: 192.168.5.0 -- 192.168.6.255
  • Empresa 2 (Danilo):
    • Com 15 departamentos;
    • 132 funcionários contratados com quantidade balanceada de funcionários por departamento;
    • Faixa de IPs disponível: 192.168.7.0 -- 192.168.10.255
  • Empresa 3 (Gabriel):
    • Com 26 departamentos;
    • 150 funcionários contratados com quantidade balanceada de funcionários por departamento;
    • Faixa de IPs disponível: 192.168.0.0 -- 192.168.4.255
  • Empresa 4 (Sidnei):
    • Com 3 departamentos;
    • 150 funcionários no primeiro departamento, 50 no segundo, 75 no terceiro;
    • Faixa de IPs disponível: 192.168.20.0 -- 192.168.22.255

Os trabalhos devem ser apresentados em sala de aula, indicando as sub-redes por departamento.


Lista 4 de Exercícios

Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:

Lista 4 de Exercícios

Seções 4.1-4.2

  1. Vamos rever um pouco da terminologia usada. Lembre-se de que o nome de um pacote na camada de transporte é segmento e de que o nome na camada de enlace é quadro. Qual é o nome de um pacote na camada de rede? Lembre-se de que roteadores e comutadores da camada de enlace são denominados comutadores de pacotes. Qual é a diferença fundamental entre um roteador e um comutador da camada de enlace?
  2. Quais são as duas funções mais importantes de camada de rede em uma rede de datagramas? Quais são as três funções mais importantes de camada de rede em uma rede com circuitos virtuais?
  3. Qual é a diferença entre rotear e repassar?
  4. Os roteadores nas redes de datagramas e nas redes de circuitos virtuais usam tabelas de repasse? Caso usem, descreva as tabelas de repasse para ambas as classes de redes.

Seção 4.3

  1. Descreva como pode ocorrer perda de pacotes em portas de entrada. Essa perda poderia ser impedida aumentando a velocidade de fábrica do comutador?
  2. Descreva como pode ocorrer perda de pacotes em portas de saída. Essa perda poderia ser impedida aumentando a velocidade de fábrica do comutador?
  3. O que é bloqueio HOL? Ele ocorre em portas de saída ou de entrada?

Seção 4.4

  1. Roteadores têm endereços IPs? Em caso positivo, quantos?
  2. Qual é o equivalente binário de 32 bits para o endereço 223.1.2.27?
  3. Suponha que haja três roteadores entre os hospedeiros de origem e destino. Ignorando a fragmentação, um datagrama IP enviado do hospedeiro de origem até o hospedeiro de destino transitará por quantas interfaces? Quantas tabelas de repasse serão indexadas para deslocar o datagrama desde a origem até o destino?
  4. Suponha que uma aplicação gere blocos de 40 bytes a cada 20 ms e que cada bloco seja encapsulado em um segmento TCP e, em seguida, em um datagrama IP. Que porcentagem de cada datagrama será sobrecarga e que porcentagem será dados da aplicação?
  5. Suponha que o hospedeiro A envie para o hospedeiro B um segmento TCP encapsulado em um datagrama IP. Quando o hospedeiro B recebe o datagrama, com sua camada de rede sabe que deve passar o segmento (isto é carga útil do datagrama) para o TCP e não para o UDP ou qualquer outra coisa?
  6. Suponha que você compre um roteador sem fio e o conecte a seu modem a cabo. Suponha também que seu ISP designe dinamicamente um endereço IP a seu dispositivo conectado (isto é, seu roteador sem fio). Suponha ainda que você tenha cinco PCs em casa e que usa 802.11 para conectá-los sem fio ao roteador. Como são designados endereços IP aos cinco PCs? O roteador sem fio usa NAT? Por quê?

Prova 4

Nossa quarta prova foi adiada para o dia 24/11, às 20h40, na sala 4, e abordará o tema do Capítulo 4 do livro do Kurose.

Módulo 5 - Camada de Enlace

Neste módulo, também utilizaremos o material disponibilizado pela Editora Pearson para o livro do Kurose: Camada de Enlace

Faremos uma lista de exercícios para revisar o conteúdo, alguns foram retirados do nosso livro do Kurose e Ross:

Lista 5 de Exercícios

Seções 5.1-5.2

  1. Quais alguns possíveis serviços um protocolo da camada de enlace pode fornecer para a camada de rede?

Seção 5.3

  1. O que é CSMA/CD e qual é o objetivo dele?
  2. Descreva os protocolos de polling (seleção) e de passagem de permissão.
  3. Por que um protocolo de passagem de permissão seria ineficiente se uma LAN tivesse um perímetro muito grande?

Seção 5.4

  1. Que tamanho tem o espaço de endereços MAC? E o espaço de endereços IPv4?
  2. Suponha que cada um dos nós A, B e C esteja ligado à mesma LAN de difusão (por meio de seus adaptadores). Se A enviar milhares de datagramas IP a B com quadro de encapsulamento endereçado ao MAC de B, o adaptador de C processará esses quadros? Se processar, ele passará os datagramas IP desses quadros para C? O que mudaria em sua resposta se A enviasse quadros com o endereço MAC de difusão?
  3. Por que uma pesquisa ARP é enviada dentro de um quadro de difusão? Por que uma resposta ARP é enviada em um quadro com endereço MAC de destino específico?
  4. Qual é o número máximo de VLANs que podem ser configuradas em um comutador que suporta o protocolo 802.1Q? Por quê?
  5. Faça um desenho com a estrutura do quadro Ethernet.
  6. Descreva brevemente um comutador da camada de enlace. Descreva as capacidades de repasse e filtragem que ele possui. O que é a autoaprendizagem?

Prova 5

Nossa quinta prova está marcada para o dia 12/12, às 20h40, na sala 4, e abordará o tema do Capítulo 5 do livro do Kurose.

Prova de Recuperação

A prova de recuperação está marcada para o dia 15/12, às 20h40, na sala 4, e abordará o tema dos Capítulos de 1 a 5 do livro do Kurose.

Lembre-se de que a nota obtida na prova de recuperação, sendo maior, deverá substituir a nota final. Ainda, lembre-se de que a nota final é calculada de 80% das médias das provas escritas e 20% de trabalho apresentado em sala e participação.