Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10...

31
Carlos E. Pereira - UFRGS/DELET GCAR Camada Camada de Enlace de de Enlace de Dados Dados Carlos E. Pereira - UFRGS/DELET GCAR Camada Camada de Enlace de de Enlace de Dados Dados aborda algoritmos que permitem uma comunicação eficiente e confiável entre dois computadores adjacentes em nível da camada de enlace de dados (adjacentes no sentido de estarem fisicamente conectadas)

Transcript of Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10...

Page 1: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

CamadaCamada de Enlace de de Enlace de DadosDados

Carlos E. Pereira - UFRGS/DELET GCAR

CamadaCamada de Enlace de de Enlace de Dados Dados

● aborda algoritmos que permitem umacomunicação eficiente e confiável entre doiscomputadores adjacentes em nível dacamada de enlace de dados (adjacentes nosentido de estarem fisicamente conectadas)

Page 2: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

Tarefas da CamadaTarefas da Camadade Enlace de de Enlace de DadosDados

● Enquadramento (Delimitação de quadros)

● Controle de Erros

● Controle de Fluxo

● Gerenciamento de Enlace

Carlos E. Pereira - UFRGS/DELET GCAR

EnquadramentoEnquadramento

● Fluxo de bits é dividido em quadros, sendocalculado um ‘checksum’ (digito/código deverificação)

Page 3: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DelimitaçãoDelimitação de de Quadros Quadros

● 1. Contagem de Caracteres– um campo do cabeçalho é usado para determinar

número de caracteres do quadro

– problema: erros na transmissão (no campo com onúmero de caracteres)

Carlos E. Pereira - UFRGS/DELET GCAR

Contagem Contagem de de CaracteresCaracteres

Page 4: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DelimitaçãoDelimitação de de Quadros Quadros

● 2. Caracteres Iniciais e Finais com Inserçãode Caracteres (character stuffing)– DLE STX e DLE ETX (DLE = Data Link

Escape)

– em caso de transmissão de arquivos binários:inclusão de DLE em cada seqüencia DLE queaparecer no arquivo (estes caracteres sãoremovidos na recepção)

– desvantagem (perda de 8 bits a cada inserção)

Carlos E. Pereira - UFRGS/DELET GCAR

Delimitação Delimitação de de QuadrosQuadros

● Inserção de caracteres

Page 5: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DelimitaçãoDelimitação de de Quadros Quadros

● 3. Flags iniciais e finais (bit stuffing)– flag: símbolo inicial e final de quadro com um

número qualquer de bits (previamente definido)

– ex: 01111110 (protocolo HDLC) => natransmissão de arquivos binários uma seqüenciade cinco 1s consecutivos é sempre inserido um0 de forma a evitar o aparecimento do flag

– vantagem: somente 1 bit adicional em cadainserção

Carlos E. Pereira - UFRGS/DELET GCAR

Delimitação Delimitação de de QuadrosQuadros

● O que ocorre se 0111110 deve ser transmitido ?

● ex:– 011111101011001011111011(sinal a ser transmitido)

– 0111111010110010111110011 (após bit stuffing)

– 011111101011001011111011 (sinal recuperado)

Page 6: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Erros isolados: 1 bit em 1 quadro

● Erros em rajada: todo o quadro ou mais deum quadro é deturpado

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Detecção de err o: a partir do quadrorecebido conclui-se que houve erro natransmissão e solicita-se reenvio

● Correção de erro: o quadro contéminformações redundantes de forma apermitir a identificação de qual bit contémerro. Não necessita reenvio.

Page 7: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Palavra de código: mensagem contendo mbits de dados e r bits redundantes =>tamanho total n = m+r

● Distância de Hamming: número deposições de bits em que duas palavras decódigo diferem => indica o número de errosque deve ocorrer (inversão de bits) paratornar uma palavra de código em outraválida

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Em geral 2m mensagens são válidas, porémnem todas possíveis 2n palavras de códigosão válidas

● Dado um conjunto de símbolos (palavras decódigo) válidos, determina-se a distânciade Hammig do conjunto como sendo amenor distância de Hammig entre duaspalavras de código válidas do conjunto

Page 8: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Detecção de d erros: é possível caso adistância de Hamming do conjunto sejaigual a d+1

● ex: paridadeDistância de Hammig = 2, logo permite adetecção de err os em 1 único bit

● análise do código: 0000 0001 1000 1111

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Correção de d err os: é possível caso adistância de Hamming do conjunto sejaigual a 2d+1

● implica que, após a ocorrência de d erros apalavra recebida estará a uma distância deHamming d de somente uma palavra válida(estará no mínimo a uma distância d+1 deoutra).

Page 9: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

– supondo um código com n=m+r bits, cada umadas 2m mensagens válidas tem n palavras decódigo inválidas a uma distância igual a 1(inversão de 1 único bit ou erros simples)

– logo, para permitir reconhecimento do erro,cada mensagem válida deve ter associado a ela(n+1) seqüencias de bits

– logo o limite teórico é (n+1)*2m <= 2n ou aindam+r+1<= 2r (logo, dado m posso saber r)

Carlos E. Pereira - UFRGS/DELET GCAR

DetecçãoDetecção e e Correção Correção de de Erros Erros

● Tabelam r1 24 38 416 532 6

Page 10: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

CódigoCódigo de Hamming de Hamming

● bits da palavra de código são numerados apartir da esquerda (início b1)

● todos os bits que são potências de 2 (1,2,4,...)são considerados bits de verificação (V)

● os outros bits (3,5,6,7,9,...) são preenchidoscomo bits de dados

● um bit de dados pode contribuir em diversosbits de verificação (ex: b5 contribui no 1 e 4)

Carlos E. Pereira - UFRGS/DELET GCAR

CódigoCódigo de Hamming de Hamming

● ex: mensagem 1001000 (m=7,

● V V 1 V 0 0 1 V 0 0 0b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11

b1= 0 (b3 xor b5 xor b7 xor b9 xor b11)b2= 0 (b3 xor b6 xor b7 xor b10 xor b11)b4= 1 (b5 xor b6 xor b7)b8= 0 (b9 xor b10 xor b11)

● logo código enviado seria 00110010000

Page 11: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Código Código de Hammingde Hamming

Carlos E. Pereira - UFRGS/DELET GCAR

CódigoCódigo de Hamming de Hamming

● inicializa-se um contador em zero

● verifica-se a paridade de cada bit deverificação

● se a paridade não estiver correta soma-se ovalor da posição do bit de verificação aocontador

● no final: contador em zero = transmissão OKcontador não zero = indica bit onde houve oerro

Page 12: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

CódigoCódigo de Hamming de Hamming

● Supondo erro em um bit na transmissão 00110010001 em vez de 00110010000

● checagem:00110010001 cálculo dos bits deverificação: b1= 1 b2= 1 b4= 1 b8= 1uma vez que b1, b2 e b8 diferem, temos queerro está no bit 11

Carlos E. Pereira - UFRGS/DELET GCAR

CódigoCódigo de Hamming de Hamming

● Aplicação para detecção de erro em rajada(vários bits afetados):– juntar k quadros formando uma matriz

– transmiti r a matriz por coluna

– reconstruir a matriz na recepção

● Se um quadro for destruído, apenas 1 bit decada quadro original é afetado,possibilitando sua correção

Page 13: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

CódigosCódigos de de DetecçãoDetecção de de ErrosErros● Correção de erros: usadas especialmente em

caso de longos tempos de propagação, namaioria dos casos prefere-se somente a detecçãoe o re-envio

● ex: taxa de erro 10-6 por bit (erros isolados) emum canal com tamanho de 1000 bitsHamming: exigiria 10 bits, o que numa transmissão de

1 MByte implicaria em overhead de 10000 bitsParidade: a cada 1000 blocos uma nova transmissãoseria necessária (1000 bits + 1 paridade + 1000paridade = overhead 2001 bits)

Carlos E. Pereira - UFRGS/DELET GCAR

CódigosCódigos de de Detecção Detecção de deErrosErros

● Código de Redundância Cíclica (CRC)– cadeias de bits são tratadas como polinômios

– k bits = polinômio xk + xk-1 + xk-2 + ... x0

– aritmética polinomial em módulo 2 (soma esubtração = XOR)

● transmissor e receptor devem concordar emrelação ao polinômio gerador G(x)

Page 14: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

AlgoritmoAlgoritmo de de cálculo cálculo do CRC do CRC

● definir r como o grau de G(x). Acrescentar r bitszero à extremidade de baixa ordem do quadro, demodo que ele passe a conter m+r bits ecorresponda ao polinômio xrM(x)

● dividir (módulo 2) G(x) por xrM(x)

● subtraia (em módulo 2) o resto da divisão eacrescente no polinômio original (formando T(x)polinômio a ser transmitido, que é divisível porG(x) )

Carlos E. Pereira - UFRGS/DELET GCAR

CálculoCálculo CRC CRC

● ex: G(x) = x4 + x + 1 mensagem 1101011011

1100001010

10011 11010110110000 10011

10011

10011

00001

00000

00010

00000 ... resto = 1110

Page 15: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

CálculoCálculodo CRCdo CRC

Carlos E. Pereira - UFRGS/DELET GCAR

UsoUso do CRC do CRC na recepçãona recepção

● no receptor T(x) é dividido por G(x). Casohaja erros T(x) passa a ser T(x) + E(x).=>o resultado da divisão será E(x)/G(x)

● para que erros possam ser detectadosE(X)/G(x) deve ser diferente de zero

Page 16: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

AbrangênciaAbrangência do do uso uso de CRC de CRC

● Exemplo: detecção de 2 erros simplesisolados E(x)=xi + xj onde i>jou ainda E(x) = xj (x i-j +1)

● para que todos os erros duplos sejamdetectados G(x) não deve dividir xk + 1para qualquer k até um máximo valor i<j(máximo tamanho do quadro)ex: x15+x14+1 não divide xk+1 para k<32768

Carlos E. Pereira - UFRGS/DELET GCAR

““CRCsCRCs - - padrões padrões””● CRC-12: x12 + x11 + x3 + x2+ x + 1

para caracteres de 6 bits

● CRC-16: x16 + x15 + x2+ 1CRC-CCITT: x16 + x12 + x5 + 1detectam todos os erros simples e duplos, todos oserros com número ímpar de bits, todos os erros emrajada com no máximo 16 bits, 99.997 % das rajadasde erro de 17 bits

● vantagem: um simples circuito de deslocamentopode ser usado para cálculos

Page 17: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolo Protocolo ““UtópicoUtópico””

➩ Camada de rede sempre tem dados paratransmitir

➩ transmissor fica sempre transmitindo

➩ receptor tem buffer infinito

➩ canal não possui erros de transmissão

Carlos E. Pereira - UFRGS/DELET GCAR

Page 18: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Controle Controle de de Erros Erros no Enlaceno Enlace

● Para garantir transmissões confiáveis atravésde retransmissão, o procedimento em geralutilizado é fazer com que o destinatário de umquadro envie ao remetente quadros com avisosde reconhecimento positivo ou negativo dosquadros recebidos

● reconhecimento pode ser enviado como quadrode controle do nível 2 ou ‘de carona’ emcampo de controle de quadro com informação

Carlos E. Pereira - UFRGS/DELET GCAR

ControleControle de de Erros Erros no Enlaceno Enlace

● O que fazer se confirmação em caso deproblemas na transmissão da mensagem ouda confirmação de recebimento ?

– uso de temporizadores: controle de time-out

Page 19: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolos ElementaresProtocolos Elementares de deEnlace deEnlace de Dados Dados

● simplex sem restr ições: transmissão somentenum sentido, camadas sempre prontas atransmitir e receber. Supõe que camada dedados não apresenta erros e que receptor podeprocessar dados de forma infinitamente rápida

● stop-and-wait simplex: receptor demora paraprocessar dados. Após processar o receptorenvia um quadro para avisar transmissor

Page 20: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

Algoritmo Algoritmo (‘simplex’)(‘simplex’)

➩ Transmissorwhile(true) DeCamadaRede(buffer) s.info = buffer ParaCamadaFísica(s)

➩ Receptorwhile (true) Esperar(evento) DaCamadaFísica(r) ParaCamadaRede(r.info)

Carlos E. Pereira - UFRGS/DELET GCAR

ControleControle de de Erros Erros no Enlace no Enlace

● Procedimentos mais util izados para controlede erro:– simplex pára-e-espera

● receptor com buffer finito

● canal ruidoso

– bit alternado (simplex para canal ruidoso)

– janela n com retransmissão integral

– janela n com retransmissão seletiv

Page 21: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolo Protocolo ‘‘párapára-e--e-espera’espera’➪ Receptor tem buffer finito (informa o

transmissor se está pronto ou não a receberos dados)

➪ Transmissor EnviaQuadro Aguarda

➪ Receptor RecebeQuadro Processa Envia sinal para continuar

Carlos E. Pereira - UFRGS/DELET GCAR

Page 22: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Canal Canal RuidosoRuidoso➪ Quadros podem chegar danificados

(necessidade de retransmissão)

➪ Procedimento:➪Transmissor envia quadro

➪Se quadro chegou corretamente, receptorconfirma para enviar outra mensagem, casocontrário é descartado sem confirmação

➪Caso não receba confirmação, transmissorretransmite quadro (após determinado tempo deespera)

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolos ElementaresProtocolos Elementares de deEnlace deEnlace de Dados Dados

● protocolo simplex para canal com ruído– somente uma confirmação por parte do receptor

não é suficiente (o que fazer se a comunicaçãoé perdida ??)

– solução: adiciona-se um número de seqüênciano cabeçalho de cada quadro enviado. Receptorinforma caso recepção seja OK. Número deseqüência pode ter comprimento de apenas 1 bit

Page 23: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Carlos E. Pereira - UFRGS/DELET GCAR

Page 24: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Algoritmo Algoritmo de bit de bit alternadoalternado

● Transmissor somente envia novo quadrodepois de receber o reconhecimento doquadro enviado anteriormente

● Uma vez que quadros podem serretransmitidos, é necessário numerá-los paraque o receptor possa distinguir se éretransmissão ou novo quadro

● Como transmissor somente envia quadroapós receber o último, 1 bit é suficiente

Carlos E. Pereira - UFRGS/DELET GCAR

AlgoritmoAlgoritmo de bit de bit alternado alternado

Page 25: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

AlgoritmoAlgoritmo de bit de bit alternado alternado

● Técnica simples porém ineficiente, poiscanal não é usado enquanto confirmação éesperada

Carlos E. Pereira - UFRGS/DELET GCAR

OtimizaçõesOtimizações

● receptor envia confirmação de recebimento nãoem um quadro de controle, mas de ‘carona’ emum quadro de dados (‘piggybacking’) =>melhor utilização da largura de banda do canal

● caso não tenha dados para enviar em umdeterminado intervalo, receptor enviaconfirmação como quadro de controle

Page 26: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

OtimizaçõesOtimizações

● Outra forma de aumentar a eficiência épermitir que transmissor envie váriasmensagens mesmo sem ter recebidoconfirmação

Carlos E. Pereira - UFRGS/DELET GCAR

ProtocolosProtocolos de de JanelaJanelaDeslizanteDeslizante

● transmissor mantém janela de transmissão ereceptor uma janela de recepção (nãoprecisam ter o mesmo tamanho)

● janela de transmissão contém quadrosenviados mas não confirmados (tamanhovariável)

● janela de recepção contém quadros járecebidos e sendo processados (verificaçãode CRC, etc.) => tamanho constante

Page 27: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolos Protocolos de de JanelaJanelaDeslizanteDeslizante

● Procedimento:Transmitir um número finito dequadros antes de parar e esperar pela confirmação:visa utili zar melhor o canal

● transmissor possui janela de tamanho variávelcontendo todos os quadros que pode transmiti r.Cada quadro recebe uma numeração emseqüência.

● Receptor possui uma janela de tamanho fixocontendo os códigos de seqüência dos códigos quepodem ser recebidos

Carlos E. Pereira - UFRGS/DELET GCAR

Como funciona Como funciona em em caso caso dedeerro erro de de transmissão transmissão ??

● ‘Go back n’ : ignora todos os quadros recebidosdepois do quadro com erro até que o quadrooriginalmente errado seja recebido corretamente

● Repetição seletiva: os quadros recebidoscorretamente após um quadro errado sãobufferizados pela camada de enlace. Quando oquadro errado for recebido corretamente, todo oconjunto de quadros bufferizados é passado para acamada de rede

Page 28: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Carlos E. Pereira - UFRGS/DELET GCAR

Page 29: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolos ElementaresProtocolos Elementares de deEnlace deEnlace de Dados Dados

● Go back n:– confirmação de um quadro n confirma

automaticamente todos os quadros de seqüênciamenor que n

Carlos E. Pereira - UFRGS/DELET GCAR

ControleControle de de Fluxo Fluxo

● Transmissor rápido (rodando em máquinarápida ou não sobrecarregada) quer enviardados para receptor lento (rodando emmáquina lenta ou sobrecarregada)– Problema pode ser contornado através do uso

do protocolo de janelas deslizantes

Page 30: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

Carlos E. Pereira - UFRGS/DELET GCAR

Protocolo Protocolo de de janela deslizantejanela deslizante

● Janela de Transmissão com largura T

● após enviar T quadros, transmissorsuspende envio e fica aguardandoconfirmação

● quadros numerados de 0 a T-1

Carlos E. Pereira - UFRGS/DELET GCAR

Page 31: Camada de Enlace de Dados - ece.ufrgs.brfetter/ele00012/enlace_dados.pdf · Hamming: exigiria 10 bits, o que numa transmissão de 1 MByte implicaria em overhead de 10000 bits Paridade:

��

Carlos E. Pereira - UFRGS/DELET GCAR

Desempenhos Desempenhos dos dos ProtocolosProtocolos

● Dedução em Tannembaum

Carlos E. Pereira - UFRGS/DELET GCAR

DesempenhoDesempenho