Mudanças entre as edições de "Predefinição:RCO 1110232 2015-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 99: Linha 99:
 
* Hosts, elementos finais e modelos de serviço.
 
* Hosts, elementos finais e modelos de serviço.
 
* Visão de serviços e componentes, borda da rede, núcleo da rede, protocolos
 
* Visão de serviços e componentes, borda da rede, núcleo da rede, protocolos
 
<!--
 
  
 
* Atividade em laboratório (Redes I)
 
* Atividade em laboratório (Redes I)
Linha 107: Linha 105:
 
** [[Roteiro Rápido do SS - Socket Statistics]]
 
** [[Roteiro Rápido do SS - Socket Statistics]]
  
 +
<!--
 
==20/02/15: Introdução à Redes de Computadores==
 
==20/02/15: Introdução à Redes de Computadores==
 
* Serviço orientado à conexão (TCP).
 
* Serviço orientado à conexão (TCP).
Linha 634: Linha 633:
 
* Viagem [http://www.ieee-iscc.org/ ISCC 2015] - Larnaca, Chipre
 
* Viagem [http://www.ieee-iscc.org/ ISCC 2015] - Larnaca, Chipre
 
* Conceitos finais: [http://www.sj.ifsc.edu.br/~tisemp/RED/conceitos_finais.pdf clique aqui]
 
* Conceitos finais: [http://www.sj.ifsc.edu.br/~tisemp/RED/conceitos_finais.pdf clique aqui]
 
+
-->
 
-->
 
-->

Edição das 11h58min de 8 de outubro de 2015

Diário de aula de RCO - 2015-2 - Prof. Tiago Semprebom

Professor

Professor: Tiago Semprebom
Email: tisemp@ifsc.edu.br
Atendimento paralelo: 5a feira 17:30h - 18:30 h (Lab. de Desenvolvimento de Tele)
Endereço web do grupo: http://groups.google.com/group/ifsc_res
Endereço de e-mail da disciplina: ifsc_res@googlegroups.com

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.

Plano de Ensino

Conceitos

Matrícula A1 A2 A3 Rel. Tec. Final
142003381-6 X X X X X
142002607-0 X X X X X
142006774-5 X X X X X
141005709-7 X X X X X
142001234-7 X X X X X
142001326-2 X X X X X
141000292-6 X X X X X
142003354-9 X X X X X
142002006-4 X X X X X

F: faltou
(X): conceito da recuperação
negrito: com direito a recuperação

Material de apoio

Curiosidades

Internet-map.png
Uma representação artística das interligações na Internet

Aulas

08/10/15: Apresentação da disciplina

  • Apresentação da disciplina, plano de aula, trabalhos e métodos de avaliação.
  • Internet: sistemas finais, borda da rede e núcleo da rede.

15/10/15: Viagem à Latinoware

  • Viagem a conferência Latino-Americana de Software Livre, (Latinoware).

22/10/15: Introdução à Redes de Computadores

  • Hosts, elementos finais e modelos de serviço.
  • Visão de serviços e componentes, borda da rede, núcleo da rede, protocolos


27/03/15: Avaliação 1

  • Conteúdos abordados: Arquitetura Internet (Cap. 1 Kurose) e Camada de Aplicação (Cap. 2 Kurose).
  • Revisão para avaliação (Lista 3).

03/04/15:

  • Feriado (sexta-feira santa)

10/04/15: Camada de Transporte

  • Vista de prova - Arquitetura Internet e Camada de Aplicação
  • Camada de Transporte (ver estes [slides])
  • Resolução de exercícios (Lista 4)
  • Resolução de exercícios (Lista 5)

Até o momento nos concentramos nos serviços de rede (Camada de Aplicação). Afinal, são elas que usamos para nos comunicarmos através das redes de computadores. No entanto, aplicações dependem de outros protocolos para poderem se comunicar, os quais cuidam dos detalhes envolvidos na transmissão e recepção de mensagens em uma rede vasta como a Internet.

As aplicações se comunicam por meio de mensagens. Cada protocolo de aplicação (HTTP, POP3, DNS, IMAP, SMTP, SIP, ...) tem seu formato de mensagem. Essas mensagens podem ser pequenas (ex: DNS, SIP) ou por vezes grandes (ex: SMTP, HTTP, POP3). De qualquer forma, a aplicação precisa que suas mensagens sejam transmitidas para o outro participante da comunicação, que está em um computador remoto. Para isso ela usa um protocolo de transporte.

Res-Camadas-protocolos.png
Algumas aplicações e protocolos de transporte na Internet

Como já discutido, mais de uma aplicação pode existir em um mesmo computador. Por isso, uma das principais atribuições de um protocolo de transporte é identificar de qual aplicação é uma mensagem a ser transmitida, e para qual aplicação se destina uma mensagem recebida. Deve-se ter em mente que uma aplicação é representada por um programa em execução em um computador, portanto um protocolo de transporte possibilita a comunicação entre processos que estão sendo executados usualmente em computadores diferentes. Em nossas discussões anteriores chamamos isso de classificação das mensagens, mas o termo usado para expressar essa capacidade dos protocolos de transporte é multiplexação. No caso específico dos protocolos de transporte da Internet (TCP e UDP), um número de port é usado para fazer essa distinção, e por isso essa função é denominada multiplexação baseada em port.

Uma comunicação entre aplicações é composta basicamente de duas informações principais: endereços dos hosts participantes 
e números de port dos processos. Os endereços são responsabilidade da Camada de Rede (onde há o protocolo IP), e os números 
de port são usados na Camada de Transporte (onde estão os protocolos TCP e UDP).

Mas por que existem dois protocolos de transporte ? Talvez ajude a esclarecer essa questão se compararmos as necessidades das aplicações:

Aplicação Tolerância a perdas Tolerância a atrasos Tamanhos de mensagens
HTTP baixa média variável ... podem ser muito grandes (de poucos bytes a centenas de megabytes ou mais)
SMTP baixa alta variável ... podem ser grandes (de centenas bytes a alguns megabytes)
DNS média baixa pequenas (algumas centenas de bytes)
POP3 baixa média variável ... podem ser grandes (de centenas bytes a alguns megabytes)
SIP média média pequenas (algumas centenas de bytes)
VoIP média baixa pequenas (tipicamente < 164 bytes)

Durante o projeto e aperfeiçoamento dos protocolos da Internet, convergiu-se para a definição de dois protocolos de transporte:

  • TCP (ver RFC 793): protocolo orientado a conexão, com garantia de entrega, controle de fluxo e controle de congestionamento.
  • UDP (ver RFC 768): protocolo orientado a datagrama (não há conexão), sem garantia de entrega ou qualquer outra verificação ou controle. Basicamente faz somente a multiplexação baseada em port.

Curiosidade: veja os anos em que foram publicados as especificações desses protocolos ...

As diferenças entre eles serão melhor detalhadas nas próximas aulas. Hoje farems alguns experimentos para ter uma ideia de como se comportam as comunicações feitas com esses protocolos.

17/04/15: Camada de Transporte

  • Camada de Transporte (ver estes [slides)
    • Construção de um protocolo de transferência confiável
    • Volta-N, Retransmissão Seletiva
  • Resolução de exercícios (Lista 6)
  • Resolução de exercícios (Lista 7)

24/04/15 Camada de Transporte

  • Avaliação de recuperação: Arquitetura Internet e Camada de Aplicação (17h - Sala 3)

Atividade

As atividades de hoje buscarão mostrar as características básicas de comunicações com protocolos de transporte.

Aplicações e protocolos de transporte

Faça uma rápida pesquisa e descubra que protocolos de transporte (e que ports) são usados por estas aplicações:

  • SSH
  • FTP
  • BitTorrent
  • emule
  • WINS
  • Compartilhamento de arquivos do Windows
  • Windows Terminal Service
  • NFS
  • Openvpn
  • RADIUS
  • DHCP
  • SNMP
  • NTP
  • LDAP
  • Mysql
  • Postgresql
  • Oracle RDBMS
  • Syslog
  • CUPS

Que protocolo de transporte predomina nesse conjunto ?

Tipos de protocolos de transporte: TCP x UDP

Nestes experimentos, serão evidenciadas diferenças entre os protocolos TCP e UDP.

Experimento 1

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 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 ?

  1. Abra um terminal e execute o seguinte comando para fazer o download de um arquivo a ser usado no experimento:
    wget http://tele.sj.ifsc.edu.br/~tisemp/RES/ubuntu.iso
    
  2. Observe o tamanho do arquivo transferido ... ele deve ter exatamente 832569344 bytes (cerca de 832 MB). Você pode fazer isso com o comando ls -l ubuntu.iso, ou executando o gerenciador de arquivos e visualizando as propriedades desse arquivo.
  3. Escolha um colega para fazer o experimento, em que o arquivo será transferido de um computador para o outro.
  4. A primeira transferência será feita usando o protocolo TCP da seguinte forma:
    • No computador receptor execute:
      nc -l 5555 > arquivo
      
    • No computador transmissor execute (X é o número do seu computador, visível em sua etiqueta):
      time nc 192.168.1.X 5555 < ubuntu.iso
      
    • Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original? E quanto tempo levou para transmiti-lo ?
  5. A segunda transferência será feita usando o protocolo UDP:
    • No computador receptor faça o download deste programa. Em seguida acrescente a ele permissão de execução (chmod +x receptor).
    • No computador receptor execute:
      ./receptor 5555 > arquivo
      
    • No computador transmissor faça o download deste programa. Em seguida acrescente a ele permissão de execução (chmod +x transmissor).
    • No computador transmissor execute (X é o número do seu computador, visível em sua etiqueta):
      ./transmissor 192.168.1.X 5555 < ubuntu.iso
      
    • Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original ? E quanto tempo levou para transmiti-lo ?
  6. Compare as transferências feitas com TCP e UDP. O que eles têm em comum ? Que diferenças lhe pareceram mais pronunciadas ? Como isso deve afetar as aplicações que usam esses protocolos ?

Experimento 2

Transferê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:

Res-Exp2-transporte.png

  1. Abra um terminal em seu computador, e nele execute este comando:
    wget http://tele.sj.ifsc.edu.br/~tisemp/RES/ubuntu.iso
    
  2. Observe a taxa de transferência (velocidade do download) obtida. Que valores ela apresenta ? Quanto tempo levou para o arquivo ser transferido ?
  3. Após todos terem copiado o arquivo, o professor irá se logar em um dos computadores do laboratório e repetir a transferência. Porém desta vez ele irá fazê-la sozinho. Que taxas ele obteve, e quanto tempo levou ?
  4. O professor irá repetir a transferência novamente, mas desta vez ele irá pedir que um aluno também a inicie logo em seguida. Qual foi a taxa obtida por ambos ?
  5. Finalmente, o professor irá repetir a transferência porém com mais dois alunos fazendo-a ao mesmo tempo. Que se pode concluir quanto a taxa de transferência obtida ?
  6. Para poder fazer uma comparação, as transferências serão feitas novamente porém usando UDP como protocolo de transporte. Para isso siga estes passos:
    1. Abra dois terminais. Em um deles execute este comando:
      watch -n 1 ls -l arquivo
      
      ... e no outro execute:
      ./receptor 5555 > arquivo
      
    2. O professor irá transmitir o arquivo a partir do servidor. Observe o tamanho do arquivo, que deverá aumentar.
    3. Em que valor o tamanho do arquivo parou de crescer ? Quanto tempo isso levou, aproximadamente ? E esse tamanho final é o mesmo do arquivo original ?
    4. Como se comparam as transferências usando TCP e UDP ?

01/05/15:

  • Feriado (dia do trabalho)

08/05/15: Camada de Transporte

  • Revisão da Camada de Transporte (30min da aula)
  • Avaliação Camada de Transporte

15/05/15: Camada de Rede

  • Vista de prova: Camada de Transporte
  • Introdução à Camada de Rede (Slides)
  • Realização de exercícios Camada de Rede (Lista 7)

22/05/15: Camada de Rede

  • Roteamento hierárquico
  • Endereçamento IP
  • Exercícios endereçamento IP (Sub-redes)

29/05/15: Camada de Rede (paralisação)

  • Exercícios endereçamento IP (Sub-redes)

05/06/15: Camada de Rede

  • Feriado Nacional (Corpus Christi)

12/06/15: Palestra sobre IEEE 802.11

  • Apresentação tecnologia Wi-Fi (padrão IEEE 802.11)
    • Horário: 19h - 20h:20min.
    • Palestrante: Prof. Emerson Melo - DTIC/IFSC
  • Resolução de exercícios Segmentação de redes (Lista 10)
  • Exercícios de revisão (parte teórica) (Lista 11)

19/06/15: Camada de Rede

  • Correção Lista de Exercícios (revisão)
  • Avaliação Camada de Rede

26/06/15: Camada de Rede

  • Vista de prova (Camada de Rede)
  • Avaliações de recuperação finais da disciplina (Camada Aplicação, Transporte e Rede)

03/07/15: Encerramento da Disciplina

--> -->