Mudanças entre as edições de "RCO2-2010-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 17: Linha 17:
 
Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula1.pdf transparências]. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.
 
Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula1.pdf transparências]. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.
  
== 19/02: ==
+
== 19/02: Camada de enlace: introdução e serviços ==
 
 
Camada de enlace: objetivos e serviços.
 
  
 
[[Image:Data-link.png]]
 
[[Image:Data-link.png]]

Edição das 21h42min de 4 de março de 2010

Redes de Computadores II: Diário de Aula 2010-1

Professor: Marcelo Maia Sobral (msobral@gmail.com)
Lista de email (forum): rco2@googlegroups.com
Atendimento paralelo: 2a e 4a de 10h às 12 h, 4a de 16h às 17h.

Bibliografia

10/02: Apresentação

Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.

12/02: Introdução

Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em transparências. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.

19/02: Camada de enlace: introdução e serviços

Data-link.png

Os serviços identificados na figura acima estão descritos abaixo. A eles foram acrescentados outros dois:

  • Encapsulamento (ou enquadramento): identificação das PDUs (quadros) de enlace dentro de sequências de bits enviadas e recebidas da camada física
  • Controle de erros: garantir que quadros sejam entregues no destino
    • Detecção de erros: verificação da integridade do conteúdo de quadros (se foram recebidos sem erros de bits)
  • Controle de fluxo: ajuste da quantidade de quadros transmitidos, de acordo com a capacidade do meio de transmissão (incluindo o atraso de transmissão) e do receptor
  • Endereçamento: necessário quando o enlace for do tipo multi-ponto, em que vários equipamentos compartilham o meio de transmissão (ex: redes locais e redes sem-fio)
  • Controle de acesso ao meio (MAC): também necessário para meios compartilhados, para disciplinar as transmissões dos diversos equipamentos de forma a evitar ou reduzir a chance de haver colisões (transmissões sobrepostas)
  • Gerenciamento de enlace: funções para ativar, desativar e manter enlaces

Nesta aula se criarão enlaces ponto-a-ponto entre computadores, usando o protocolo PPP. A partir de alguns experimentos se discutem os serviços da camada de enlace, em particular o enquadramento e detecção de erros.

Roteiro do primeiro laboratório

Foi apresentado como funciona o enquadramento (ou sincronização de quadro) do tipo sentinela (usado pelo PPP e HDLC). Nesse caso, usa-se uma flag delimitadora para informar o início e fim de quadro. Há uma segunda flag, chamada de escape (ESC), para evitar que um byte com o valor de flag delimitadora, o qual apareça em algum campo do quadro (ex: dados ou campos de controle) seja erroneamente interpretado como fim de quadro.

O roteiro foi executado até a análise de enquadramento do PPP. A detecção de erros ficou para a aula seguinte.

24/02: Camada enlace: detecção de erros

Finalização do roteiro 1, iniciado na aula de 19/02: fazer a injeção de erros (quadros corrompidos) no enlace.

Probabilidade de erros de transmissão (BER - Bit Error Rate), códigos de detecção de erro e CRC.

Há um resumo nas transparências.

O experimento com o gerador de CRC-16 do PPP pode ser repetido em casa. Ele é capaz de verificar um quadro PPP, que pode ser conseguido usando-se a opção record do pppd. Essa opção grava em um arquivo de log os conteúdos dos quadros PPP enviados e recebidos, que podem depois serem visualizados (ou terem seu bytes extraídos) com o utilitário pppdump. Porém o gerador de CRC-16 fornecido inclui dois arquivos contendo quadros PPP previamente coletados: quadro_correto.raw e quadro_errado.raw. Eles podem ser verificados com o programa fcs (o verificador de CRC-16):

# descompacta o arquivo do gerador de CRC-16
tar czf fcs-rfc.tgz
cd fcs

# Testa o quadro correto
./fcs quadro_correto.raw

# Testa o quadro_errado
./fcs quadro_errado.raw

Há um testador que modifica aleatoriamente uma certa quantidade de bits do quadro_correto.raw, até que encontre um caso em que o erro não seja detectado. Para usá-lo deve-se executar o programa testa.py:

# executa testa.py com 4 erros de bit por quadro gerados aleatoriamente
./testa.py 4

O código fonte do gerador de CRC-16 está no arquivo fcs-rfc.c, o qual foi obtido diretamente da RFC 1662.

26/02: Enlaces ponto-a-ponto entre roteadores

Nesta aula serão configurados enlaces entre dois roteadores Cisco usando os protocolos PPP e HDLC. O objetivo é ter um contato com esse tipo de equipamento, e ver os protocolos em ação. Além disto, será feita uma medição de vazão (throughput) com cada um dos protocolos.

03/03: Controle de erros e de fluxo

Ver capítulo 11 do livro "Comunicação de Dados e Redes de Computadores", de Behrouz Forouzan (há uma cópia no xerox).

Resolver a 1a lista de exercícios.

Controle de erros implica garantir a entrega de quadros no destino. Assim, quadros recebidos com erros (i.e., quadros identificados pela detecção de erros como corrompidos) ou quadros extraviados (não recebidos) devem ser retransmitidos. Serviço implementado com protocolos do tipo ARQ (Automatic Repeat Request), tais como:

  • Stop-and-Wait: só transmite o próximo quadro quando receber uma confirmação (ACK) do último quadro enviado. Retransmite o último quadro enviado se um tempo máximo de espera pelo ACK (ou timeout) for excedido.
  • Go-Back-N: transmite até N quadros sem receber confirmação, quando então espera os ACK antes de enviar mais quadros. Caso exceda o timeout de um dos quadros enviados, retransmite todos os quadros a partir desse quadro.
  • Selective Repeat: transmite até N quadros sem receber confirmação, quando então espera os ACK antes de enviar mais quadros. Caso exceda o timeout de um dos quadros enviados, retransmite somente esse quadro.

A rigor Stop-and-Wait ARQ já provê controle de erros, porém tem o potencial de causar uma baixa utilização do meio de transmissão. Os outros mecanismos, Go-Back-N e Selective Repeat, buscam melhorar o aproveitamento do meio, e assim estão também relacionados com o controle de fluxo. Esse serviço tem duas motivações principais:

  1. Evitar que um transmissor mais rápido sobrecarregue um receptor
  2. Melhorar o aproveitamento do meio de transmissão, quando há necessidade de confirmação de quadros e o meio apresentar um atraso de propagação significativo.

Conceitos relacionados:

  • Atraso de propagação (Ap)
  • Tempo de transmissão (At)
  • Tempo de envio (Ae = At + Ap)
  • Tempo de entrega (A)
  • Utilização do meio (U)
  • Taxa nominal de transmissão, ou taxa de bits (B)
  • Taxa efetiva de transmissão (E)
  • Timeout (To)

05/03: Controle de erros e de fluxo

Análise dos mecanismos ARQ Go-Back-N e Selective Repeat. Demonstração da melhoria da utilização do meio usando esses mecanismos, comparado ao Stop-and-Wait.