Mudanças entre as edições de "RED29004-2015-1"
(→HTTPS) |
|||
Linha 65: | Linha 65: | ||
Vários [http://wps.aw.com/aw_kurose_network_4/63/16303/4173752.cw/index.html aplicativos] com representação dinâmica de características das redes de computadores. | Vários [http://wps.aw.com/aw_kurose_network_4/63/16303/4173752.cw/index.html aplicativos] com representação dinâmica de características das redes de computadores. | ||
− | == Listas de exercícios == | + | == Listas de exercícios - Introdução== |
{{Collapse top |Lista de exercícios 1}} | {{Collapse top |Lista de exercícios 1}} | ||
#Qual é a diferença entre um hospedeiro e um sistema final? Cite os tipos de sistemas finais. Um servidor web é um sistema final? | #Qual é a diferença entre um hospedeiro e um sistema final? Cite os tipos de sistemas finais. Um servidor web é um sistema final? | ||
− | #O que caracteriza um protocolo? Dê um exemplo de um protocolo. | + | #O que caracteriza um protocolo? Dê um exemplo de um protocolo. |
+ | #Por que os padrões são importantes para os protocolos? | ||
#O que é um programa cliente? O que é um programa servidor? Um programa servidor requisita e recebe serviços de um programa cliente? | #O que é um programa cliente? O que é um programa servidor? Um programa servidor requisita e recebe serviços de um programa cliente? | ||
#Quais são os dois tipos de serviços de transporte que a Internet provê às suas aplicações? Cite algumas características de cada um desses serviços. | #Quais são os dois tipos de serviços de transporte que a Internet provê às suas aplicações? Cite algumas características de cada um desses serviços. | ||
Linha 78: | Linha 79: | ||
#A taxa de transmissão HFC é dedicada ou compartilhada entre os usuários? É possível haver colisões na direção do provedor – usuário de um canal HFC? Por quê? | #A taxa de transmissão HFC é dedicada ou compartilhada entre os usuários? É possível haver colisões na direção do provedor – usuário de um canal HFC? Por quê? | ||
#Cite cinco tecnologias de acesso. Classifique cada uma delas nas categorias acesso residencial, acesso corporativo ou acesso móvel. | #Cite cinco tecnologias de acesso. Classifique cada uma delas nas categorias acesso residencial, acesso corporativo ou acesso móvel. | ||
− | # | + | #FTTH, HFC e ADSL são usados para acesso residencial. Para cada uma dessas tecnologias de acesso, cite uma faixa de taxas de transmissão e comente se a largura de banda é compartilhada ou dedicada. |
#Considere o envio de um pacote de uma máquina de origem a uma de destino por uma rota fixa. Relacione os componentes do atraso que formam o atraso fim-a-fim. Quais deles são constantes e quais são variáveis? | #Considere o envio de um pacote de uma máquina de origem a uma de destino por uma rota fixa. Relacione os componentes do atraso que formam o atraso fim-a-fim. Quais deles são constantes e quais são variáveis? | ||
#Porque dividimos a arquitetura da Internet em camadas? | #Porque dividimos a arquitetura da Internet em camadas? | ||
#Quais são as cinco camadas da pilha de protocolo da Internet? Quais as principais responsabilidades de cada uma dessas camadas? | #Quais são as cinco camadas da pilha de protocolo da Internet? Quais as principais responsabilidades de cada uma dessas camadas? | ||
− | #O que é uma mensagem de camada de aplicação? Um segmento da camada de transporte? Um datagrama da camada de rede? Um quadro de camada de enlace? | + | #O que é uma mensagem de camada de aplicação? Um segmento da camada de transporte? Um datagrama da camada de rede? Um quadro de camada de enlace? Qual a relação entre eles? |
#Que camadas da pilha de protocolo da Internet um roteador implementa? Que camadas um comutador de enlace implementa? Que camadas um sistema final implementa? | #Que camadas da pilha de protocolo da Internet um roteador implementa? Que camadas um comutador de enlace implementa? Que camadas um sistema final implementa? | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
Linha 98: | Linha 99: | ||
#O que são consultas recursivas e interativas em uma consulta DNS? | #O que são consultas recursivas e interativas em uma consulta DNS? | ||
#Por que se diz que o FTP envia informações de controle “fora da banda”? | #Por que se diz que o FTP envia informações de controle “fora da banda”? | ||
− | #Suponha que | + | #Suponha que Aline envie uma mensagem a Eduardo por meio de uma conta de e-mail da web (como o gmail), e que Eduardo acesse seu e-mail por seu servidor utilizando POP3. Descreva como a mensagem vai do hospedeiro Aline até o hospedeiro de Eduardo. Não se esqueça de relacionar a série de protocolos de camada de aplicação usados para movimentar as mensagens entre os hospedeiros. |
− | |||
− | |||
− | |||
#Em uma aplicação de compartilhamento de arquivos P2P, você concorda com a afirmação: ”não existe nenhuma noção de lados cliente e servidor de uma sessão de comunicação”? Por que sim ou por que não? | #Em uma aplicação de compartilhamento de arquivos P2P, você concorda com a afirmação: ”não existe nenhuma noção de lados cliente e servidor de uma sessão de comunicação”? Por que sim ou por que não? | ||
#Relacione alguns agentes de usuário de aplicação de rede que você utiliza no dia-a-dia. | #Relacione alguns agentes de usuário de aplicação de rede que você utiliza no dia-a-dia. | ||
Linha 109: | Linha 107: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Lista de exercícios | + | {{Collapse top |Lista de exercícios 3 - Camada de Transporte}} |
#Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A para o hospedeiro B tenham número de porta fonte x e número de porta destino y. Quais são os números de porta fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A? | #Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A para o hospedeiro B tenham número de porta fonte x e número de porta destino y. Quais são os números de porta fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A? | ||
#Descreva porque um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre TCP. | #Descreva porque um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre TCP. | ||
Linha 172: | Linha 170: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Lista de exercícios | + | {{Collapse top |Lista de exercícios 4 - Camada de Rede}} |
#Qual é o nome de um pacote da camada de rede? Os roteadores e comutadores da camada de enlace são denominados comutadores de pacotes. Qual é a diferença fundamental entre um roteador e um comutador de camada de enlace? Lembre-se de que usamos o termo roteadores tanto para redes de datagramas quanto para redes de circuitos virtuais. | #Qual é o nome de um pacote da camada de rede? Os roteadores e comutadores da camada de enlace são denominados comutadores de pacotes. Qual é a diferença fundamental entre um roteador e um comutador de camada de enlace? Lembre-se de que usamos o termo roteadores tanto para redes de datagramas quanto para redes de circuitos virtuais. | ||
#Quais são as principais características de uma rede de circuito virtual? | #Quais são as principais características de uma rede de circuito virtual? | ||
Linha 232: | Linha 230: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Lista de exercícios | + | {{Collapse top |Lista de exercícios 5 - Camada de Enlace}} |
#Quais são os serviços providos pela camada de enlace? | #Quais são os serviços providos pela camada de enlace? | ||
#Dentre os serviços de camada de enlace, quais obrigatoriamente precisam ser implementados por todos os protocolos de enlace? | #Dentre os serviços de camada de enlace, quais obrigatoriamente precisam ser implementados por todos os protocolos de enlace? |
Edição das 16h57min de 12 de março 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: 2ª das 17h35 às 18h30 e 6ª das 9h40 às 10h35. Local: Lab. de Desenvolvimento.
- Avaliações
- 3 avaliações (P1, P2 e P3) mais um seminário (S).
- 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
Planejamento de atividades | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 - Introdução
Lista de exercícios 1 |
---|
|
Lista de exercícios 2 - Camada de Aplicação |
---|
|
Lista de exercícios 3 - Camada de Transporte |
---|
|
Lista de exercícios 4 - Camada de Rede | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Lista de exercícios 5 - 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
Slides do Prof. Emerson - DNS, FTP, Web, Email...
Slides do Kurose referentes ao capítulo 3
Slides do Kurose referentes ao capítulo 4
Slides do Kurose referentes ao capítulo 5
Roteiros para laboratório
Laboratório 1 -- Ping, traceroute e Wireshark
Laboratório 2 - Devendandos o HTTP com Wireshark |
---|
Fonte base: Wireshark - HTTP ObjetivosBaseado na pequena introdução ao Wireshark apresentada no Laboratório 1, agora estamos prontos para utilizar o Wireshark para investigar protocolos em operação. Neste laboratório, exploraremos vários aspectos do protocolo HTTP: a interação básica GET/resposta do HTTP, formatos de mensagens HTTP, baixando arquivos grandes em HTML, baixando arquivos em HTML com objetos incluídos, e autenticação e segurança HTTP. A 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.
Repita as respostas e procedimentos para a mensagem de resposta do HTTP. Responda ainda:
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:
Baixando Documentos LongosNos exemplos até agora, os documentos baixados foram simples e pequenos arquivos em HTML. Vamos ver o que acontece quando baixamos um arquivo em HTML grande. Faça o seguinte:
Na janela de listagem de pacotes, você deve ver a sua mensagem HTTP GET, seguida por uma reposta em vários pacotes. Esta resposta em vários pacotes merece uma explicação. Lembre-se da seção 2.2 do livro (veja a figura 2.9) que a mensagem de resposta HTTP consiste de uma linha de status, seguida por zero ou mais linhas de cabeçalhos, seguida por uma linha em branco, seguida pela carga útil (Content-Length). No caso do nossa HTTP GET, a carga útil na resposta é o arquivo HTTP completo. No nosso caso aqui, o arquivo em HTML é bastante longo, e a informação de 11747 bytes é muito grande para caber em um segmento TCP. A resposta HTTP simples é então quebrada em vários pedaços pelo TCP, com cada pedaço sendo contido dentro de um segmento TCP separado. Cada segmento TCP é capturado em um pacote separado pelo Wireshark, clique sobre o 9 "Reassembled TCP Segments" no Wireshark. Responda às seguintes questões:
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:
Autenticação HTTPFinalmente, vamos tentar visitar um local na web que é protegido por senha e examinar a seqüência de mensagens HTTP trocadas com este local. O URL http://www.sj.ifsc.edu.br/~odilson/RED29004/Seguro/ é protegido por senha. O usuário é “red29004” (sem as aspas), e a senha é “seguro” (novamente, sem as aspas). Então vamos acessar o local protegido por senha. Faça o seguinte:
Agora vamos examinar a saída do Wireshark. Você pode querer primeiro ler sobre a autenticação HTTP revisando o material fácil de ler (em inglês) HTTP Access Authentication Framework Responda às seguintes questões:
O nome de usuário (red29004) e a senha (seguro) que você digitou foram codificados na cadeia de caracteres (cmVkMjkwMDQ6c2VndXJv) após o cabeçalho “Authorization: Basic” na mensagem HTTP GET (primeira). Parece que o nome e senha estão criptografados, mas na verdade estão simplesmente codificados em um formato denominado Base64. O nome do usuário e a senha não estão criptografados! Para ver isso, vá para https://www.base64decode.org/ e digite o texto cmVkMjkwMDQ6c2VndXJv e pressione DECODE. Voilá! Você traduziu de Base64 para ASCII, e desta forma consegue ver o nome de usuário e a senha! Sabendo que alguém pode baixar o Wireshark e capturar pacotes (não somente os próprios), e alguém pode traduzir de Base64 para ASCII (você acabou de fazê-lo!), deve estar claro para você que o uso de senhas apenas em locais na web não garantem segurança, a não ser que medidas adicionais sejam tomadas. Não tema! Há meios de fazer o acesso WWW ser mais seguro. Contudo, nós claramente precisamos de algo que vá além do framework básico de autenticação HTTP! HTTPSPara finalizar, vamos capturar sequências de mensagens HTTPS, somente a título de comparação. Execute os seguintes procedimentos:
Responda:
|
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
|
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
Seminários
- Objetivos:
- Aprofundamento teórico em algum tema atual e relevante
- Confecção de um relatório de trabalho no estilo científico
- Apresentação de um trabalho científico
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:
- Lucas e Mathias: HTTPS
- Letícia e Jessica: HTML 5 ou Hidden
- Helenluciany Maria Luiza: QoS
- Katharine e Kristhine: Ad-Hoc Network
- Angelo e Iago: HTTP2
- Thiago e Gabriel: VPN
- Cleiton e Gustavo: SNMP
- Anderson: P2P
- 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.
Diário de aulas
Aula 1 - 4/2/15: Apresentação da disciplina |
---|
|
Aula 2 - 10/2/15: Introdução às redes de computadores |
---|
Aula 3 - 11/2/15: Introdução às redes de computadores |
---|
Aula 4 - 24/2/15: Introdução às redes de computadores |
---|
Aula 5 - 25/2/15: Introdução às redes de computadores |
---|
Aula 6 - 3/3/15: Introdução às redes de computadores |
---|
Aula 7 - 4/3/15: Laboratório 1 - Ping Traceroute Wireshark |
---|
Aula 8 - 10/3/15: Camada de aplicação - Comunicação entre processos HTTP |
---|
Aula 9 - 11/3/15: Camada de aplicação - HTTP FTP SMTP |
---|
Aula 10 - 17/3/15: Camada de aplicação - DNS |
---|