mestrado em telecomunicações

22
Mestrado em Telecomunicações COMUNICAÇÃO DE DADOS TE – 723 REDES DE COMPUTADORES Aluno: Vicente Mazzolla Morais Prof: Eduardo Parente Ribeiro Outubro de 2002

Upload: harken

Post on 23-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Mestrado em Telecomunicações. COMUNICAÇÃO DE DADOS TE – 723 REDES DE COMPUTADORES. Aluno: Vicente Mazzolla Morais Prof: Eduardo Parente Ribeiro. Outubro de 2002. Mestrado em Telecomunicações. TEMA DA APRESENTAÇÃO. Questões de Projeto da Camada de Enlace de Dados : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mestrado em Telecomunicações

Mestrado em Telecomunicações

COMUNICAÇÃO DE DADOS

TE – 723

REDES DE COMPUTADORES

Aluno: Vicente Mazzolla MoraisProf: Eduardo Parente Ribeiro

Outubro de 2002

Page 2: Mestrado em Telecomunicações

Redes de Computadores

TEMA DA APRESENTAÇÃOTEMA DA APRESENTAÇÃO

• Questões de Projeto da Camada de Enlace de Dados:

– Serviços Fornecidos à Camada de Rede;

– Enquadramento (Framing);

– Controle de Erros;

– Controle de Fluxos.

• Detecção e Correção de Erros:

– Códigos de Correção de Erros;

– Códigos de Detecção de Erros.

(parte 01)

Mestrado em Telecomunicações

Page 3: Mestrado em Telecomunicações

Redes de Computadores

Função: transferir dados da camada de rede da máquina de

origem para a camada de rede da máquina de destino.

• Alguns Serviços da Camada de Enlace:

– Montagem de quadros para transmissão;

– Controle de acesso ao meio físico;

– Transmissão seqüencial dos quadros;

– Recebimento dos quadros;

– Detecção / Correção de Erros;

– Retransmissão de quadros

– Controle de fluxos.

Mestrado em Telecomunicações

CAMADA DE ENLACECAMADA DE ENLACE

Page 4: Mestrado em Telecomunicações

Redes de Computadores

• Serviços Fornecidos à Camada de Rede:

1. Serviço sem conexão e sem confirmação– Apropriado às redes onde a taxa de erros no nível físico é muito baixa;

– Recuperação dos dados é realizada pelas camadas superiores;

– Utilizado para transmissão de voz em tempo real.

2. Serviço sem conexão com confirmação– Adequado quando um pequeno volume de dados deve ser transferido

de forma confiável; – Cada quadro enviado é individualmente confirmado;

– Este serviço é apropriado em canais não confiáveis (sistema sem fio).

3. Serviço orientado à conexão– Máquina de origem e destino estabelece conexão antes dos dados

serem transferidos;

– Nível de Enlace garante que os quadros transmitidos sejam entregues

ao receptor sem erros e na ordem que foram enviados (quadros são

numerados).

Mestrado em Telecomunicações

CAMADA DE ENLACECAMADA DE ENLACE

Page 5: Mestrado em Telecomunicações

Redes de Computadores

• Serviço orientado à conexão:

1. Primeira fase

Utilização de variáveis e contadores para controle de quadros

enviados x não-recebidos.

2. Segunda fase

Um ou mais quadros são realmente transmitidos.

3. Terceira fase

Desconexão, são liberados as variáveis, buffers e os demais

recursos .

Mestrado em Telecomunicações

CAMADA DE ENLACECAMADA DE ENLACE

Page 6: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENLACE PONTO A PONTOENLACE PONTO A PONTO

(1) Mensagem ENQ

Mensagem ACK (2) ou

Mensagem NACK (2)

ERP

(3) FRAME

Mensagem ACK (4) ou

Mensagem NACK (4)

ERP

(5) Mensagem EOT

(01) Questionamento enquiry para saber se o Host 2

está preparado para receber os dados.

(02) Reconhecimento positivo acknowledgement

para indicar que o Host 2 está preparado.

ERP – Procedimento de Recuperação de Erro

(03) Host 1 envia alguns dados (Frames) e realiza

uma pausa para esperar resultados.

(04) Reconhecimento positivo acknowledgement

para indicar recebimento bem sucedido.

ERP – Procedimento de Recuperação de Erro

(05) Mensagem de fim de transmissão.

Exemplo:

Estabelecimento da Conexão

Transferência de Dados

Desconexão

HOST 01 HOST 02

Page 7: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENLACE PONTO A PONTOENLACE PONTO A PONTO

1. Hardware do roteador checa a soma de verificação (checksum) do quadro de

entrada e envia o quadro para o software da camada de enlace de dados;

2. Software da camada de enlace verifica se esse é o quadro esperado, então, passa o

pacote contido no campo de carga útil (playload) para o software de roteamento;

3. Software de roteamento seleciona a linha apropriada e envia o pacote para o

software da camada de enlace de dados.

Linha de Transmissão para um roteador

2 3 2

RoteadorRoteador

2 3

Protocolo de enlace de

dados

Processo da camada de

enlace de dados

Processo de roteamento

PacotesQuadros

2

Responsável pela confiabilidade da linha de comunicação

Page 8: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENQUADRAMENTOENQUADRAMENTO

Estratégia: dividir o fluxo de bits em quadros e calcular o checksum em

relação a cada quadro .

• Métodos para marcar o Início e o fim dos quadros:

1. Contagem de Caracteres

Utiliza um campo do cabeçalho para especificar o número de caracteres do quadro.

5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6

Quadro 15 caracteres

Quadro 25 caracteres

Quadro 38 caracteres

Contagem de Caracteres

5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6

Quadro 1 Quadro 2(Incorreto)

Contagem de caracteres (Agora)Erro de

Transmissão

• Checksum não dispõe de informação para identificar onde começa o quadro seguinte (perda da sincronização);

• Não resolve solicitar retransmissão, destinatário não reconhece quantos quadros deverão ser ignorados.

Page 9: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENQUADRAMENTOENQUADRAMENTO

2. Caracteres iniciais e finais com inserção de caracteres(character stuffing)

Este método contorna o problema de sincronização após um erro .

Cada quadro começa com a seqüência de caracteres ASCII DLE STX (Data Link

Escape Start of Text) e termina com DLE EXT (Data Link Escape End of Text).

DLE inserido (stuffing)

DLE STX A DLE B DLE ETXDLE

Dados depois que a camada de enlace de dados inclui caracteres (stuffing)

DLE STX A DLE B DLE ETX

Dados passados para camada de rede do receptor

• Distinguir um enquadramento DLE STX ou DLE ETX de uma seqüência de caracteres contidas nos dados com base na presença ou na ausência de uma única seqüência DLE;

• As seqüências DLE dos dados são sempre duplicadas;

• Desvantagem da utilização do método => Utiliza caracteres de 8 bits em geral caracteres ASCII.

DLE STX A DLE B DLE ETX

Dados enviados pela camada de rede

Page 10: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENQUADRAMENTOENQUADRAMENTO

3. Flags iniciais e finais com inserção de bits (bit stuffing)

Cada quadro começa e termina com um padrão de bits, 0111110, chamado Byte Flag.

011011111111111111110010Dados Originais

Transmissor da camada de enlace de dados insere um bit 0 a cada 5 bits 1 enviados.

011011111011111011111010010

bits inserido

011011111111111111110010Receptor remove (destuffing) o bit 0 e armazena na memória.

• A inserção de bits, assim como, a inserção de caracteres, é completamente transparente para a camada de rede;

Page 11: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

ENQUADRAMENTOENQUADRAMENTO

4. Violações de codificação da camada física

Este método se aplica a redes nas quais a decodificação do meio físico contém

algum tipo de redundância. Ex: codificação de 1 bit de dados utilizando 2 bits

físicos.

1 0 0 0 0 1 0 1 1 1 1Fluxo de bits

Cod. Manchester

Cod. binária

Cod. Manchester

diferencial

• Codificação Manchester IEEE 802.3 Ethernet: bit 1= nível alto no primeiro intervalo e baixo no segundo e o bit 0= nível baixo

no primeiro intervalo e alto no segundo;

• Codificação Manchester diferencial IEEE 802.3 Ethernet: bit 1= indicado pela ausência de uma transição e bit 0= indicado

pela presença de uma transição (no início do bit).

Page 12: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CONTROLE DE ERROSCONTROLE DE ERROS

Definição: mecanismo para detectar e corrigir erros na

transmissão de quadros.

Questão?

Como é possível certificar de que todos os quadros serão entregues na

camada de rede de destino, e na ordem correta?

• Tipos de Erros:

1. Quadro Perdido: o quadro não chega no receptor (ruído).

2. Quadro Danificado: quadro é recebido mas um erro é detectado

(paridade, CRC).

Page 13: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CONTROLE DE ERROSCONTROLE DE ERROS

• Técnicas de Controle de Erro baseiam-se em:

1. ACK positivo: receptor reconhece quadro(s) sem erros.

2. Detecção de Erro - CRC

3. ACK negativo e retransmissão: receptor envia NACK, especificando número de seqüência do quadro sem erro.

4. Retransmissão após “timeout”: a estação fonte retransmite um quadro que não foi reconhecido após um determinado tempo.

• Estes mecanismos são chamados de:

Pedido Automático de RetransmissãoPedido Automático de Retransmissão

(ARQ – Automatic Repeat Request)

• Tipos:

1. Envia e Espera (Stop-and-Wait);

2. Retorna – n (Go-Back-n);

3. Retransmissão Seletiva (Selective-reject).

Page 14: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CONTROLE DE FLUXOCONTROLE DE FLUXO

Definição: técnica para assegurar que a estação transmissora não

envie dados numa taxa maior do que a estação receptora possa processar.

• Técnicas de Controle de Fluxo baseiam-se em:

1. Alocação de um “buffer”: o receptor irá alocar um buffer de dados com algum comprimento máximo.

2. Limpeza do “buffer”: o receptor irá realizar uma certa quantidade de procedimento até que possa limpar o buffer e estar preparado para receber mais dados.

Obs:na ausência de Controle de Fluxo poderá ocorrer sobrecarga (overflow) do buffer enquanto processa dados antigos.

• Métodos:

1. Envia e Espera (Stop-and-Wait): mais simples

2. Janela Deslizante (Sliding Window): mais eficiente

Page 15: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

DETECÇÃO E CORREÇÃO DE ERROSDETECÇÃO E CORREÇÃO DE ERROS

• Detecção de Erro: o quadro possui informações redundantes suficientes

para permitir que o receptor deduza que houve um erro, mas sem

identificar qual, e solicite retransmissão.

• Correção de Erro: o quadro possui informações redundantes de forma a

permitir a identificação de qual bit contém erro. Não necessita reenvio.

Quadro:

Consiste em m bits de dados (mensagem) e de r bits redundantes ou de verificação.

Palavra-código: n = m + rn = m + r

A propriedade de detecção e correção depende da distância de Hamming

Distância de Hamming:

Número de posições de bits em que duas palavras de código diferem.

Exemplo: palavra código de 7 bits

1101000 + 0110100 = 1011100 .: dHmín= 4

Page 16: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CORREÇÃO DE ERROSCORREÇÃO DE ERROS

• Código de Hamming:

– Se duas palavras-código estiverem a uma distância de Hamming

d, será necessário corrigir d erros de bits para converter uma

palavra na outra;

– Toda as 2m mensagens são válidas;

– Nem todas as 2n possíveis palavras-código são usadas;

– Para detectar d erros: ddHH = = dd + 1 + 1;

Capacidade de detecção do código: Cd = dCd = dHmínHmín - 1 - 1

– Para corrigir d erros: ddHH = 2. = 2.dd + 1 + 1.

Capacidade de correção do código: Cc = (dCc = (dHmínHmín – 1) / 2 – 1) / 2 Exemplo: 0000000000, 0000011111, 1111100000 e 1111111111. (10 bits)

dHmín = 5 Cd = dHmín – 1 = 4 Cc = (dHmín – 1) / 2 = 2

Page 17: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CORREÇÃO DE ERROSCORREÇÃO DE ERROS

• Código de Hamming: Erros Simples

– Os bits da palavra-código são numerados, começando no bit 1 da

extremidade esquerda;

– Os bits que são potências de 2 (1, 2, 4,etc) são de verificação;

– Os demais (3,5,6,etc) são preenchido com m bits de dados;

– Cada bit de verificação força a um conjunto de bits (incluindo

ele) a ser par ou ímpar.

Exemplo: Caractere Mensagem ASCII palavra-código

HH 1001000 7 btis 00110010000 11 btis

Cálculo dos bits de verificação de Paridade (PAR)

V1= b3 b5 b7 b9 b11 = 0 .: PAR

V2= b3 b6 b7 b10 b11 = 0 .: PAR

V4= b5 b6 b7 = 1 .: ÍMPAR

V8= b9 b10 b11 = 0 .: PAR

+ + + +

+ + + +

+ +

+ +

Page 18: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

CORREÇÃO DE ERROSCORREÇÃO DE ERROS

• Código de Hamming: Erros em Rajada

– Seqüência de k palavras-código é organizada como uma

matriz. Uma palavra por linha;

– Os dados são transmitidos uma coluna por vez, começando

pela coluna mais à esquerda;

– No receptor a matriz é reconstruída, uma coluna de cada vez;

– Se ocorrer um erro em rajada de extensão k, no máximo 1 bit

de cada uma das k palavras-código será afetado;

– O código de Hamming poderá corrigir um erro por palavra-

código, possibilitando a recuperação do bloco inteiro.

• Este método utiliza kr bits de verificação para tornar blocos de km dados

imunes a um único erro em rajada que tenha uma extensão menor ou igual a k.

Page 19: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

DETECÇÃO DE ERROSDETECÇÃO DE ERROS

• bit de Paridade: é a forma mais simples de detecção de erros.

Inserção de 1 bit extra ao final de cada caractere de modo a deixar todos os

caracteres com um número par ou ímpar de bits 1.

Técnica de Paridade Par

Bit de paridade = 0, se o total de bit "1” for parBit de paridade = 1, se o total de bit "1” for ímpar Ex: Caractere + Paridade BYTE DE TRANSMISSÃO 1000010 0 o número total de Bits 1 é par 1000011 1 o número total de Bits 1 é ímpar Técnica de Paridade Ímpar

Bit de paridade = 1, se o total de bit "1” for parBit de paridade = 0, se o total de bit "1” for ímpar Ex: Caractere + Paridade BYTE DE TRANSMISSÃO 1000010 1 o número total de Bits 1 é par 1000011 0 o número total de Bits 1 é ímpar

• Caso um número par de bits tenha sido invertido não é possível detectar o erro.

Page 20: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

DETECÇÃO DE ERROSDETECÇÃO DE ERROS

• CRC – Cyclic Redundancy Check: forma mais eficiente de detecção de

erros.

– Cadeia de bits tratados como representações de polinômios;

– K bits = polinômio XXk-1k-1 + X + Xk-2 k-2 + X+ Xk-3k-3 + ... + X + ... + X00 ;

Ex: 110001 possui 6 bits .: XX55 + X + X4 4 + X+ X00

– Aritmética polinomial em módulo 2 (soma e subtração = XOR);

– Transmissor e Receptor devem concordar em relação ao

polinômio geradorpolinômio gerador GG(x) (x) ;

– Tanto o bit de mais alta ordem quanto o de mais baixa ordem

de GG(x)(x), devem ser = 1.

Page 21: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

DETECÇÃO DE ERROSDETECÇÃO DE ERROS

• CRC - Algoritmo para calcular o checksum:

Idéia: acrescentar um checksum no final do quadro, de forma que o polinômio

representado pelo quadro modificado seja divisível por GG(x).(x).

1. Definir r como o grau de GG(x)(x). Acrescentar r bits zero à

extremidade de baixa ordem do quadro, de modo que ele passe

a conter m + r bits e corresponda ao polinômio xxrr MM(x)(x);

2. Dividir (módulo 2 ) GG(x) (x) por xxrr MM(x)(x);

3. Subtraia (módulo 2) o resto da divisão e acrescente no

polinômio original, formando TT(x)(x) polinômio a ser transmitido.

Exemplo:

Quadro M(x)M(x): 1101011011 (10 bits)

Gerador: 10011 .: G(x) = X4 + X + 1

Mensagem xr M(x): 11010110110000

Quadro transmitido T(x) : 11010110111110 resto

Page 22: Mestrado em Telecomunicações

Redes de Computadores

Mestrado em Telecomunicações

DETECÇÃO DE ERROSDETECÇÃO DE ERROS

• CRC - Algoritmo para calcular o checksum:continuação

a. No receptor TT(x)(x) é dividido por GG(x)(x). Caso haja erro TT(x)(x) passa

a ser TT(x)(x) + + EE(x)(x);

b. O resultado da divisão será EE(x) (x) // GG(x)(x);

c. Para que os erros possam se detectados EE(x) (x) // GG(x) (x) deve ser

diferente de Zero;

• Padrões de Polinômios:

para caracteres de 6 bits

1. CRC-12 = X12 + X11 + X3 + X2 + X1 + 1 (checksum 12 bits)

para caracteres de 8 bits

1. CRC-16 = X16 + X15 + X2 + 1 (checksum 16 bits)

2. CRC- CCITT = X16 + X12 + X5 + 1 (checksum 16 bits)