52
REDES DE COMPUTADORES © UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 1 2.2 CAMADA DE ENLACE DE DADOS v Desempenha basicamente quatro funções: Fornece interface bem definida para a camada de rede; Organiza os dados recebidos da camada de rede em quadros (frames ) a serem transmitidos na rede física (e vice-versa); Trata erros de transmissão; e Realiza controle de fluxo para evitar que receptores lentos (ou muito ocupados) sejam inundados de quadros por emissores rápidos (ou pouco ocupados).

REDES DE COMPUTADORES - dsc.ufcg.edu.br

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 1

2.2 CAMADA DE ENLACE DE DADOS

v Desempenha basicamente quatro funções:

♦ Fornece interface bem definida para a camada de rede;

♦ Organiza os dados recebidos da camada de rede em quadros(frames) a serem transmitidos na rede física (e vice-versa);

♦ Trata erros de transmissão; e

♦ Realiza controle de fluxo para evitar que receptores lentos (oumuito ocupados) sejam inundados de quadros por emissoresrápidos (ou pouco ocupados).

Page 2: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 2

Serviços fornecidos para a camada de rede

v O principal serviço é a transferência de dados da camada de redede uma máquina 1 para a camada de rede de uma máquina 2(diretamente conectada à máquina 1).

4

3

2

1

máquina 1 máquina 2

Enlacevirtual

4

3

2

1

máquina 1 máquina 2

Enlacereal

(a) (b)

Figura 1. (a) Comunicação virtual; (b) Comunicação real

Page 3: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 3

v Serviços possíveis:

♦ Sem conexão, sem confirmação: usado quando se dispõe decanais de comunicação com alta confiabilidade, como em redeslocais;

♦ Sem conexão, com confirmação: usado quando se dispõe decanais de comunicação com razoável confiabilidade, como nastransmissões sem fio;

♦ Com conexão, com confirmação: usado quando se dispõe decanais de comunicação com baixa confiabilidade, como emredes telefônicas.

Tratamento de Quadros

v Dados recebidos da camada de rede (blocos de bytes) precisam serenviados pelo canal de enlace de uma máquina A para umamáquina B diretamente conectada à primeira, usando-se a camadafísica que transmite seqüências de bits agrupadas em blocos ditosquadros (frames).

v Cada quadro é precedido de um cabeçalho (sinalizadores - flags -de controle) e acrescido de um campo de verificação (checksum)que permite a detecção (e, eventualmente, a correção) de erros noquadro ao chegar no destino (imediato).

Page 4: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 4

v A geração de quadros pode ser:

♦ Por temporização de intervalos entre quadros, quando sãoinseridos intervalos de tempo entre um quadro e outro; não émuito confiável porque as redes de transmissão não garante atemporização do sistema para o usuário final;

♦ Por contagem de bytes, quando se usa um cabeçalho noquadro indicando a quantidade de bytes no mesmo; apresentaum problema sério quando os contadores dos quadros sãoalterados por erros de transmissão.

4 1 2 3 4 3 3 2 1 5

quadro 1 quadro 2

1 3 5 7 8

quadro 3

(a)

4 1 2 3 4 5 3 2 1 5

quadro 1 quadro 2

1 3 5 7 8

quadro 3

(b)

Figura 2. Enquadramento por contagem de bytes(a) sem erros, (b) com erros

Page 5: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 5

♦ Por utilização de byte de início e fim de quadro, com inserçãode caracter de escape1, quando se usa um ou mais bytes paramarcar o início e o fim de um quadro, inserindo-se bytes deescape quando a seqüência de início e/ou fim aparece dentro dosdados transmitidos.

L U ADado atransmitir:

DLE STX L U A DLE ETXEnquadramento:

L DLE ADado atransmitir:

DLE STX L DLE A DLE ETXEnquadramento: DLE

DLE = Data Link Escape, STX = Start of Text, ETX = End of Text

Figura 3. Enquadramento com byte de início e fim

1 Método muito usado para a transmissão de caracteres de 8 bits.

Page 6: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 6

♦ Por utilização de seqüência de início e fim de quadro, cominserção de bit de escape, quando se usa um padrão de bitspara indicar o início e o fim de um quadro, inserindo-se bits deescape quando a seqüência de início e/ou fim aparece dentrodos dados transmitidos.

0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0Dado atransmitir:

0 1 1 1 1 1 1 0

Enquadramento:

A cada sequência de 5 bits 1 consecutivos nos dados a transmitir é inseridoum bit de escape (0), para que nunca haja confusão com a sequência desinalização.

Sinalização:

01111110 011011111 0 11111 0 11111 0 10010 01111110

Figura 4. Enquadramento com seqüência de bits de início e fim

Page 7: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 7

♦ Por violação de codificação na camada física, usado emalgumas redes locais (IEEE 802, p.ex.) onde cada bit de dadosé codificado como 2 bits físicos(0 = 01, 1 = 10, 00 e 11 são codificações inválidas para dados,podendo ser usadas para início e/ou fim de quadro).

01 1 1 10 0 0

Codificaçõesinválidas

Figura 5. Enquadramento por violação de codificação

Page 8: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 8

Detecção e Correção de Erros

v Na transmissão de dados, erros podem ocorrer por diversasrazões: indução eletromagnética, falha de sincronização entreemissor e receptor, defeito de componentes, etc.

v A camada de enlace de dados deve garantir uma transmissão livrede erros entre duas máquinas diretamente conectadas.

Recepção docaracter ou

quadro

Tem Erro?

Técnica dedetecção de erro

Pronto p/ recebernovo caracter ou

quadro

Equipamento nãocorrige erro; pede

retransmissão

Equipamentocorrige erro

Sim

Não

Figura 6. Esquema de detecção e recuperação de erros na transmissão

Page 9: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 9

Paridade de Caracteres

v Quando se usa codificação de 7 bits em bytes de 8 bits, é possívela utilização do oitavo bit como sinalizador de paridade, de modoque a quantidade de bits 1 no byte seja par (no caso de paridadepar) ou ímpar (no caso de paridade ímpar).

Caracter Bit de paridade par Seqüência a transmitir1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 01 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1

Caracter Bit de paridade impar Seqüência a transmitir1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 11 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0

Figura 7. Paridade de Caracter

v Este esquema permite detectar, mas não corrigir erros.

Page 10: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 10

Paridade Combinada

v Nesse esquema, além da paridade de caracter, instala-se umaparidade para o bloco de caracteres, permitindo-se a detecção erecuperação de 1 erro por caracter, a detecção de dois erros porcaracter, e havendo falha de detecção no caso de errosquádruplos, como o indicado no exemplo.

M E N S A G E M BCCBit 1 1 1 0 1 1 1 1 1 1

2 0 0 1 1 0 1 0 0 13 1 1 1 0 0 1 1 1 04 1 0 1 0 0 0 0 1 1 LRC5 0 0 0 1 0 0 0 0 16 0 0 0 0 0 0 0 0 0

Bit 7 1 1 1 1 1 1 1 1 0VRC 0 1 0 0 0 0 1 0 0

Figura 8. Paridade combinada - dados corretos

VRC = Vertical Redundancy CheckingLRC = Longitudinal Redundancy CheckingBCC = Block Check Caracter

Page 11: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 11

M E N S A G E M BCCBit 1 1 1 0 1 1 1 1 1 1

2 0 0 (0) 1 0 1 0 0 (0)3 1 1 1 0 0 1 1 1 04 1 0 1 0 0 0 0 1 1 LRC5 0 0 0 1 0 0 0 0 16 0 0 0 0 0 0 0 0 0

Bit 7 1 1 1 1 1 1 1 1 0VRC 0 1 (1) 0 0 0 1 0 0

Figura 9. Paridade combinada - dados com erro simples(erro recuperável)

M E N S A G E M BCCBit 1 1 1 0 1 1 1 1 1 1

2 0 0 1 (0) 0 1 0 0 (0)3 1 1 1 0 0 1 1 1 04 1 0 1 0 0 0 0 1 1 LRC5 0 0 0 1 0 0 0 0 16 0 0 0 0 0 0 0 0 0

Bit 7 1 1 1 (0) 1 1 1 1 (1)VRC 0 1 0 0 0 0 1 0 0

Figura 10. Paridade combinada - dados com erro duplo(erro detectável)

Page 12: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 12

M E N S A G E M BCCBit 1 1 1 0 1 1 1 1 1 1

2 0 0 1 1 0 1 0 0 13 1 1 1 0 0 1 1 1 04 1 0 (0) (1) 0 0 0 1 1 LRC5 0 0 (1) (0) 0 0 0 0 16 0 0 0 0 0 0 0 0 0

Bit 7 1 1 1 1 1 1 1 1 0VRC 0 1 0 0 0 0 1 0 0

Figura 11. Paridade combinada - dados com erro quádruplo(não detectável)

Page 13: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 13

Verificação de Redundância Cíclica (Cyclic Redundancy Checking - CRC)

v É um método de detecção polinomial que permite a detecção depraticamente toda ocorrência de erros.

v Idéia: os bits do quadro a ser transmitido serão coeficientes de umpolinômio D(x). Esse polinômio é multiplicado pelo termo de maiorgrau de um polinômio gerador G(x), resultando em um polinômioD'(x), que é dividido pelo polinômio gerador G(x). O resto dessadivisão é o CRC do quadro. Na recepção, é feita a divisão, usando-se o mesmo polinômio gerador G(x), e se o resto da divisão não for0 (zero), ocorreu erro de transmissão.

v Três polinômios geradores tornaram-se padrões internacionais:

CRC-12 X12+x11+x3+x2+x1+1 Usado com caracteres de 6 bitsCRC-16 X16+x15+x2+1 Usado com caracteres de 8 bitsCRC-CCITT X16+x12+x5+1 Usado com caracteres de 8 bits

v A utilização de geradores de 16 bits tais como CRC-16 e CRC-CCITT, detecta todos os erros de 1 ou 2 bits, todos os erros comnúmero ímpar de bits, todos os erros em rajada de tamanho igualou inferior a 16 bits, 99,997 % de erros em rajada de 17 bits, e99,998 % de erros em rajada de 18 ou mais bits.

Page 14: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 14

Exemplo:

Dado a transmitir = 1 0 1 1 1 0 1 1

G(x) = x3 + x2 + x

D(x) = 1x7 + 0x6 + 1x5 + 1x4 + 1x3 + 0x2 + 1x1 + 1x0 =

x7 + x5 + x4 + x3 + x + 1

D(x) * termo de maior grau de G(x) =

(x7 + x5 + x4 + x3 + x + 1) * x3 =

x10 + x8 + x7 + x6 + x4 + x3 = D'(x)

D'(x) % G(x) = x2 + x = 1 1 0 = R(x) = CRC

Dado transmitido = 1 0 1 1 1 0 1 1 1 1 0

v A aplicação de CRC é normalmente feita através de hardware.

Page 15: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 15

Medição de Erros em Canais de Comunicação

v Taxa de Erro de Bit (Bit Error Rate - BER)

BER =Número de bits errados

---------------------------------------Número de bits transmitidos

v Taxa de Erro de Quadro (Frame Error Rate - FER)

FER =Número de quadros errados

------------------------------------------Número de quadros transmitidos

Errosaleatórios

10E01 1000E E1010 10E01 00E01 10E11

BER = 6 / 30 FER = 6 / 6

Erros emgrupo

10101 1000E E1010 10101 EEE0E 10111

BER = 6 / 30 FER = 3 / 6Figura 12.

Figura 13. Erros aleatórios versus Erros em grupo (burst)

Page 16: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 16

v Testes nos canais de comunicação são realizados com o uso desoftware e/ou hardware (TEST-SET) geradores de padrões de bitsque são transmitidos, recuperados e verificados quanto à suaintegridade.

Modem B

Modem B

Linha TX

Linha RX

Loop

Padrão deteste

Test-set

Padrão deteste

Figura 14. Teste de canal de comunicação

Page 17: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 17

Controle de Fluxo

v Regula o fluxo de quadros entre emissor e receptor, nãopermitindo que um emissor rápido (ou pouco ocupado) inunde umreceptor lento (ou muito ocupado).

v Essa regulagem normalmente requer algum mecanismo derealimentação do emissor por parte do receptor, de acordo comregras bem definidas.

Controle de fluxo baseado em Confirmação Positiva comRetransmissão (Positive Acknowledgment - PAR)

v Cada quadro enviado deve ser confirmado pelo receptor.

v O emissor reenvia automaticamente um quadro se não receber aconfirmação dentro de um intervalo de tempo (timeout).

v Para o receptor não confundir um quadro já recebido com umacópia retransmitida, usa-se um campo de seqüência no cabeçalhodo quadro (que, nesse caso específico, somente necessita de umbit).

Page 18: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 18

Emissor

envia( Q1, Seq 0)=== liga temporizador ===

recebe( ACK, Seq 0)envia( Q2, Seq 1 )

=== liga temporizador ===

(deveria ter recebido ACK)

=== timeout ===

re-envia( Q2, Seq 1 )

Receptor

recebe( Q1, Seq 0 )envia( ACK, Seq 0 )

recebe( Q2, Seq 1 )envia( ACK, Seq 1 )

recebe( Q2, Seq 1 )

=== descarta Q2 ===

envia( ACK, Seq 1 )recebe( ACK, Seq 1)

Figura 15. Controle de fluxo tipo PAR

v Problema 1: Gera um quadro completo (vários bits) para transmitirsomente um ACK 0 ou um ACK 1 (dois bits seriam suficientes).

v Problema 2: Desperdiça muita banda de transmissão porque atransmissão é half-duplex.

Page 19: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 19

Banda = 50 KbpsAtraso de transmissão (ida e volta) = 500 mseg (típico de satélite)Tamanho do quadro = 1000 bitsTempo de sinalização do quadro = 1000 / 50000 = 0,020 seg = 20 msegTempo de transmissão = 250 msegTempo de entrega no receptor = 20 + 250 = 270 msegTempo de confirmação no emissor = 270 + 250 = 520 msegTempo de espera do emissor = 500 / 520 ≅≅ 96 %

Controle de fluxo baseado em Janela Deslizante (Sliding Window)

v Melhora 1: envia confirmação do quadro anterior da máquina Apara a máquina B junto com um quadro da máquina B para amáquina A. Se não houver nada a ser transmitido de B para A,envia um ACK isolado. Essa técnica é chamada de piggybacking.

v Melhora 2: envia vários quadros (N) antes de obter a confirmação;conforme forem sendo confirmados, continua a transmitir, demodo que em um dado instante possa existir N quadros pendentesde confirmação.

Page 20: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 20

Máquina Aenvia( Q1A, Seq 1, Ack 0 )

=== liga temporizador Q1A ===

Máquina B

recebe( Q1A, Seq 1, Ack 0 )envia( Q1B, Seq 1, Ack 1 )

=== liga temporizador Q1B ===envia( Q2A, Seq 2, Ack 0 )=== liga temporizador Q2A ===

envia( Q3A, Seq 3, Ack 0 )=== liga temporizador Q3A ===

recebe( Q2A, Seq 2, Ack 0 )envia( Q2B, Seq 2, Ack 2 )

=== liga temporizador Q2B ===recebe( Q3A, Seq 3, Ack 0 )envia( Q3B, Seq 3, Ack 3 )

=== liga temporizador Q3B ===recebe( Q1B, Seq 1, Ack 1 )envia( Q4A, Seq 4, Ack 1 )

=== liga temporizador Q4A ===recebe( Q2B, Seq 2, Ack 2 )envia( Q5A, Seq 5, Ack 2 )

=== liga temporizador Q5A ===recebe( Q3B, Seq 3, Ack 3 )envia( Q6A, Seq 6, Ack 3 )

=== liga temporizador Q6A ===

Figura 16. Controle de fluxo por Janela Deslizante (N=3)

Page 21: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 21

Banda = 50 KbpsAtraso de transmissão (ida e volta) = 500 msegTamanho do quadro = 1000 bitsTempo de sinalização de 10 quadros = 10*1000/50000=0,200seg=200 msegTempo de transmissão = 250 msegTempo de entrega no receptor (1o. quadro) = 20 + 250 = 270 msegTempo de confirmação no emissor (1o. quadro) = 270 + 20 + 250 = 540 msegTempo de espera do emissor = 340 / 540 ≅≅ 63 %

v É fácil concluir que a combinação [grande atraso de transmissão,banda larga e quadro pequeno] é desastrosa em termos deutilização de um canal de comunicação.

v Com a escolha apropriada da quantidade de quadros a transmitirsem confirmação (N), pode-se ter o emissor transmitindocontinuamente (basta que o emissor receba a confirmação doprimeiro quadro da janela logo após terminar de sinalizar o últimoquadro. Quanto seria N para esse exemplo?).

v Essa técnica é chamada de pipelining.

Page 22: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 22

v No caso da ocorrência de erro em algum quadro, pode-se:

♦ Ignorar toda a seqüência de quadros a partir do errado; nãoconfirmar a recepção; aguardar a retransmissão de todos osquadros a partir do errado (técnica go back n). É umprocedimento ruim para canais de comunicação com muitoerro.

♦ Guardar os quadros da seqüência após o quadro errado; nãoconfirmar o quadro errado; aguardar a retransmissão domesmo (técnica seletive repeat). É um procedimento bem maiseficiente em termos de aproveitamento de banda, mas requermais memória no nível de enlace do receptor.

v Vamos ver a seguir um exemplo de um protocolo de enlace tipoPAR muito simples usado em canais unidirecionais.

v Vamos supor que SEQUENCIA, QUADRO, PACOTE e EVENTO sãotipos de dados pré-definidos.

Page 23: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 23

void emissor( void ) {SEQUENCIA prox_quadro_a_enviar;QUADRO quadro;PACOTE pacote;EVENTO evento;

prox_quadro_a_enviar = 0;Obtenha( pacote, Camada_de_Rede );

while( true ) {quadro.info = pacote;quadro.seq = prox_quadro_a_enviar;

Envie( quadro, Camada_Fisica );Inicialize_temporizador( quadro.seq );Espere_evento( evento ); // chegada de quadro, erro crc, timeoutIf( evento == chegada_de_quadro ) {

Receba( quadro, Camada_Fisica );If( quadro.ack == prox_quadro_a_enviar ) {

Obtenha( pacote, Camada_de_Rede );Incremente( prox_quadro_a_enviar, MOD_1 );

}}

}}

Page 24: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 24

void receptor( void ) {SEQUENCIA quadro_a_receber;QUADRO quadro, q_ack;PACOTE pacote;EVENTO evento;

quadro_esperado = 0;

while( true ) {Espere_evento( evento ); // chegada de quadro ou erro crc

If( evento == chegada_de_quadro ) {Receba( quadro, Camada_Fisica );

If( quadro.seq == quadro_esperado ) {Pacote = quadro.info;Entregue( pacote, Camada_de_Rede );

q_ack.ack = quadro_esperado;Incremente( quadro_esperado, MOD_1 );

}

Envie( q_ack, Camada_Fisica );}

}}

Page 25: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 25

EXEMPLOS DE PROTOCOLOS DE ENLACE DE DADOS

HDLC - High-level Data Link Control

v Protocolo derivado do SDLS (Syncronous Data Link Control) usadona arquitetura SNA da IBM.

v Foi adotado e modificado pelo CCITT para produzir o LAP (LinkAccess Procedure) usado como parte da arquitetura de rede X.25.

v Todos são protocolos orientados a bit, usando inserção de bit(insere um bit 0 após cada seqüência de cinco bits 1) para atransparência de dados.

v Todos usam a estrutura de quadro indicada na figura abaixo.

Page 26: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 26

Bits 8 8 8 >= 0 16 801111110 Endereço Controle Dados CRC 01111110

Figura 17. Quadro HDLC

v Endereço: em canais compartilhados, é usado para identificaremissor/receptor. Em canais ponto-a-ponto, pode ser usado paradiferenciar comandos de respostas.

v Controle: é usado para o envio de números de seqüência,reconhecimento (ACK) e outras informações.

v Dados: contem os dados (pacote da camada de rede) a seremtransportados. Pode ser vazio.

v CRC: contêm verificação de erros, usando Cyclic Redundance Checkcom polinômio gerador CRC-CCITT.

v 01111110: seqüência delimitadora do quadro.

Page 27: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 27

SLIP - Serial Line Internet Protocol

v Criado por Rick Adamns em 1984 para conectar estações detrabalho SUN na Internet através de uma linha telefônica.

v É um protocolo orientado a caracter, com inserção de byte (0xDB,0xDC) para transparência de dados.

v Tem uma estrutura de quadro muito simples.

Bytes 1 >= 1 10xC0 Dados 0xC0

Figura 18. Quadro SLIP

v Embora ainda seja bastante usado, tem vários problemas:♦ Não detecta e/ou corrige erro;♦ Só transporta datagramas IP (Internet);♦ Não negocia endereçamento (cada lado precisa conhecer seu

parceiro antecipadamente);♦ Não tem nenhum mecanismo de autenticação;♦ Não é um padrão aprovado pela Internet (existem várias

versões incompatíveis).

Page 28: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 28

PPP - Point to Point Protocol

v É um protocolo de enlace proposto IETF para suprir as deficiênciasdo SLIP. O PPP fornece:

♦ Um método de enquadramento que delimita o início/fim decada quadro com um padrão de bits;

♦ Um controle de enlace para "ativar" a linha de comunicação,testá-la, negociar opções e "desativá-la" quando não maisnecessária. Isso é feito pelo subprotocolo LCP (Link ControlProtocol);

♦ Um mecanismo de negociação de opções de rede, de modoindependente do protocolo de rede adotado. Isso éimplementado por um NCP (Network Control Protocol) paracada nível de rede suportado.

Page 29: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 29

v Um exemplo típico de uso é o acesso a provedores de acessoInternet por usuários domésticos:

♦ Discagem ao provedor via modem;

♦ Estabelecimento de conexão física entre modems;

♦ Seqüência de pacotes LCP é enviada em um ou mais quadrosPPP para estabelecer parâmetros para a conexão física(velocidade máxima, tamanho de quadro, tamanho de janela,etc.);

♦ Seqüência de pacotes NCP é enviada para configurar o nível derede. Tipicamente, é usada para obter endereço IP do usuário,obter endereço IP do provedor, obter endereço IP do servidorde nomes, etc.;

♦ Liberação do tráfego IP;

Page 30: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 30

v PPP é muito semelhante em estrutura ao HDLC, sendo orientado abyte. A estrutura de um quadro PPP vista na figura 40 a seguir.

Bytes 1 1 1 1 ou 2 variável 1 ou 2 101111110 Endereço Controle Protocolo Dados CRC 01111110

Figura 19. Quadro PPP

v Onde:

♦ Endereço: sempre fixo em 11111111;

♦ Controle: normalmente fixo em 00000011, indicando quadronão numerado;

♦ Protocolo: LCP, NCP, IP, IPX, AppleTalk, etc.;

♦ Dados: carga útil (default=1500 bytes);

♦ CRC: verificação de erros.

Page 31: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 31

2.3.1 SUBCAMADA DE ACESSO AO MEIO - REDES DE DIFUSÃO

v Trata dos problemas e protocolos para acesso ao meio (ou canal)de comunicação em redes de difusão, onde múltiplos usuários(estações) tem de competir entre si para usar o meio detransmissão.

v Os protocolos usados para determinar quem usa a rede na próximavez pertencem à subcamada de acesso ao meio, chamada decontrole de acesso ao meio (MAC - Medium Access Control).

Problema da Alocação do Canal

v Como controlar o acesso a um canal de transmissão compartilhadopor N usuários?

Page 32: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 32

Alocação Estática de Canal em LANs e MANs

v Idéia: dividir a banda passante (W) em N faixas, usando FDM.

v Problemas:

1) Diminui a taxa de transmissão disponível para cada usuário(banda passante de cada usuário passa a ser W/N), logo ataxa de transmissão é menor;

2) Quando um usuário não transmite, o canal é desperdiçado (vaiacontecer muito porque o tráfego típico em LAN/MAN é emrajada).

Page 33: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 33

Alocação Dinâmica de Canal em LANs e MANs

v Definições:

♦ Modelo de Estações (Station Model): N estaçõesindependentes, cada uma com um programa/usuário gerandoquadros para transmissão;

♦ Presunção de Canal Único (Single Channel Assumption): umúnico canal está disponível para transmissão/recepção das Nestações;

♦ Presunção de Colisão (Collision Assumption): dois quadrostransmitidos ao mesmo tempo colidem e são deteriorados,exigindo retransmissão;

Page 34: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 34

♦ Transmissão em Tempo Contínuo (Continous Time): um quadropode ser transmitido a qualquer tempo. Não existe um relógiomestre dividindo o tempo em intervalos discretos (fatias);

♦ Transmissão em Tempo Fatiado (Slotted Time): um quadro sópode ser transmitido em uma fatia de tempo. Uma fatia detempo pode conter 0, 1 ou mais quadros, indicando uma fatiavazia, com um quadro ou colisão, respectivamente;

♦ Transmissão com Teste de Portadora (Carrier Sense): umaestação pode testar se o canal está livre para, somente nessecaso, iniciar sua transmissão;

♦ Transmissão sem Teste de Portadora (No Carrier Sense): umaestação não pode testar se o canal está livre.

Page 35: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 35

PROTOCOLOS DE ACESSO MÚLTIPLO

ALOHA (1970)

v Um dos primeiros a ser desenvolvido. Princípio de funcionamentode uma estação que quer transmitir um quadro:

♦ Estação transmite quadro;

♦ Estação escuta o canal para receber o quadro que ela mesmatransmitiu;

♦ Se receber o quadro, a transmissão foi um sucesso;

♦ Se não receber, houve colisão. Espera um tempo aleatório(crescente) e retransmite.

v Esse sistema é chamado de transmissão com contenção.

v Eficiência: aproximadamente 18 %

Page 36: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 36

ALOHA Fatiado (1972)

v Princípio de funcionamento de uma estação que quer transmitirum quadro:

♦ Estação aguarda marca de tempo para poder transmitir oquadro;

♦ O restante do comportamento é igual ao ALOHA.

v Eficiência: aproximadamente 36 %

CSMA - Carrier Sense Multiple Access (1-persistente)

v Princípio de funcionamento de uma estação que quer transmitirum quadro:

♦ Estação testa o canal para ver se está livre;♦ Se estiver ocupado, aguarda ficar livre testando

continuamente;♦ O restante do comportamento é igual ao ALOHA.

v Eficiência: aproximadamente 50 %

Page 37: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 37

CSMA (Não persistente)

v Princípio de funcionamento semelhante ao CSMA, só que quando ocanal está ocupado, aguarda um tempo aleatório (crescente) antesde tentar de novo.

v Eficiência: aproximadamente 85% (mas com atraso alto).

CSMA (p-persistente)

v Usado em canais fatiados no tempo. Princípio de funcionamento:

♦ Estação aguarda fatia de tempo para transmitir, e transmitecom probabilidade p. Com probabilidade q = 1 - p, deixa paratransmitir na próxima fatia de tempo (não tem o quetransmitir).

♦ Quando ocorre colisão, aguarda tempo aleatório (crescente)para retransmitir.

v Eficiência: aproximadamente 70% com p = 0,5, 90% com p=0,1 e95% com p=0,01.

Page 38: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 38

CSMA-Collision Detection

v Idéia: além de não iniciar a transmissão com o canal ocupado,interrompe uma transmissão tão logo seja detectada colisão.

v Quando ocorre colisão, aguarda um tempo aleatório (crescente)para retransmitir.

v É a base do IEEE 802.3 (Ethernet).

Page 39: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 39

Protocolos Livres de Colisão

Protocolo Bit-Map

v Cada estação i = 1, 2, ... N manifesta seu desejo de transmitirassinalando a i-ésima entrada de um "quadro de controle" de Nbits com um bit 1.

v Após as N estações indicarem seu desejo de transmitir, elas sãoliberadas para transmitir em ordem numérica, de acordo com oquadro de controle.

v Se uma estação ficar pronta para transmitir após a passagem doquadro de controle, azar o dela. Deve aguardar o próximo quadrode controle.

v Protocolos desse tipo são chamados de protocolos de reserva.

Page 40: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 40

. 1 1 .

0 1 2 3

1 2

quadro dedados

quadro decontrole

. 1 1 1

0 1 2 3

1 2 3

tempo

Figura 20. Protocolo Bit-Map

Page 41: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 41

Protocolo Binary Countdown

v Cada estação que quiser transmitir faz uma difusão de seuendereço (um bit por vez). Os vários endereços difundidos sãooperados logicamente com OR.

v Processados da esquerda para a direita (mais alta ordemprimeiro), toda vez que uma estação com bit 0 for superada poruma estação com bit 1, desiste de usar.

v A estação que permanecer no páreo sozinha ganha o direito detransmitir, transmite, e inicia-se outro ciclo de disputa.

Estação Endereço T0 T1 T2 T3A 2 (0 0 1 0) 0 - - -B 4 (0 1 0 0) 0 - - -C 9 (1 0 0 1) 1 0 0 -D 10 (1 0 1

0)1 0 1 0

1 0 1 0 D vence e transmite

Page 42: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 42

Padrão IEEE 802 para LANs e MANs

v O IEEE 802 é uma série de padrões internacionais para protocolosde acesso ao meio em LANs e MANs. Os principais são:

♦ 802.1, que descreve o conjunto como um todo, definindo asprimitivas de interface;

♦ 802.2, que descreve a parte superior do nível de enlace,usando o protocolo LLC (Logical Link Control);

♦ 802.3, que descreve o padrão CSMA/CD (base do Ethernet);

♦ 802.4, que descreve o padrão token bus; e

♦ 802.5, que descreve o padrão token ring.

Page 43: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 43

IEEE 802.2

v Os padrões IEEE 802 para LANs e MANs oferecem o serviço demelhor esforço de entrega, sem garantia, que pode ser usado semproblemas em redes TCP/IP (porque os níveis superiores temmecanismos de controle de erro). Algumas redes, porém, podemnecessitar de um enlace de dados com algum controle de erro efluxo.

v Para elas, foi definido o padrão 802.2, que implementa taiscontroles através do protocolo LLC (Logical Link Control) que,inclusive, esconde do nível de rede as características específicasde cada tecnologia de transporte de dados. O LLC oferece osserviços: sem conexão/não confiável, sem conexão/confiável ecom conexão/confiável.

Page 44: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 44

LLC

MAC

Nível deRede

Nível Físico

Nível deEnlace

(a)

Pacote

LLC Pacote

MAC LLC Pacote

Rede física

(b)

Figura 21. (a) Posição do LLC, (b) Formato do LLC

Page 45: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 45

IEEE 802.3 e Ethernet

v O IEEE 802.3 padroniza rede local usando CSMA/CD (1-persistente), sendo originado do ALOHA (1970), acrescido deCarrier Sense (1976), sendo chamado com freqüência de Ethernet.

v O cabeamento utilizado é o indicado na tabela abaixo.

Padrão CaboDistânciaMáxima2

Númeromáximo deEstações

Observação

10base5 Coaxialgrosso

500 100 Quase não mais usado, altaimunidade a ruído, 10 Mbps

10base2 Coaxialfino

185 30 Mais barato, alta imunidadea ruídos, 10 Mbps

10baseT Partrançado

100 1024 Mais usado, médiaimunidade a ruído, 10 a 100Mbps

10baseF Fibraótica

2000 1024 O mais caro, totalmenteimune a ruído, 10 a 622Mbps

2 EM um segmento. Pode-se usar até 4 repetidores de sinal, num total de 5 segmentos.

Page 46: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 46

v A codificação usada segue dois padrões: Manchester e ManchesterDiferencial.

1 0 0 1 1 1 0 1

transição => bit 0 sem transição => bit 1

Dados

Codificação binária

CodificaçãoManchester

CodificaçãoManchesterDiferencial

Figura 22. Codificação de dados IEEE 802.3

Page 47: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 47

v O enquadramento é mostrado na figura abaixo.

Bytes 7 1 2 a 6 2 a 6 2 0 a 1500 0 a 46 4Preâmbulo Início Ender.

DestinoEnder.Origem

Tamanhodos Dados

Dados Preenchi-mento

CRC

♦ Preâmbulo é sete vezes 10101010, na codificação Manchester,que gera uma onda quadrada de 10 MHz, visando asincronização entre receptor e emissor;

♦ Início (10101011) é marca de início de quadro;

♦ Endereço Destino, é o endereço da estação receptora. Cadaestação tem um endereço associado à sua interface de rede(placa de comunicação). No endereçamento, o bit de mais altaordem é 0 (zero) para endereços normais e 1 (um) paraendereços em grupo. Endereços de grupo permitem endereçarvárias estações ao mesmo tempo, num esquema dito demultidifusão (multicast). O endereço destino com todos os bits1 é reservado para endereçar todas as estações ao mesmotempo - difusão (broadcast);

♦ Endereço Origem, é o endereço da estação emissora;

Page 48: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 48

♦ Tamanho dos Dados, é quantidade de bytes transmitidos comoDados;

♦ Dados, são os dados a serem transportados;

♦ Preenchimento, são usados na medida do necessário para queum quadro tenha um tamanho mínimo de 64 bytes (em redesde 10 Mbps). Um quadro muito pequeno poderia sertransmitido totalmente antes de chegar ao seu destino maislongo, gerando uma colisão caso a estação localizada nodestino mais longo (cabo) resolvesse transmitir;

♦ CRC, é a verificação de erros.

Page 49: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 49

v O tratamento de colisão é feito usando-se o Algoritmo BinaryExponential Backoff.

InícioFatia-de-tempo = tempo de 1 quadro percorrer o cabeamento;

Transmissão;

Enquanto houver colisão, Início1a. Colisão)

espera 0 ou 1 Fatia-de-tempo;2a. Colisão)

espera 0, 1, 2 ou 3 Fatia-de-tempo;3a. Colisão)

espera 0, 1, ..., 7 Fatia-de-tempo;. . .Na. Colisão)

Espera 0, 1, ..., 2N - 1 Fatia-de-tempo, para N ≤≤ 10 sempre.

Transmissão;Fim

Fim

v O algoritmo é adaptativo à quantidade de colisões.

Page 50: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 50

v A eficiência do 802.3 (a 10 Mbps, com quadro mínimo de 64 bytes)é indicada na figura abaixo.

1 2 4 8 16 32 64 128 2560,10,20,30,40,50,60,70,80,91,0

0

64 bytes

128 bytes

256 bytes

512 bytes

1024 bytes

Estações tentando transmitir

Efi

ciên

cia

do

can

alQuadro

Figura 23. Eficiência do IEEE 802.3

Page 51: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 51

Redes Locais 802.3 Comutadas

v O crescimento do número de estações em rede implica nocrescimento do tráfego; quando satura, o que fazer?

v Aumentar a capacidade da rede de 10 Mbps (Ethernet) para 100Mbps (Fast Ethernet), implica em trocar todas as interfaces derede e trocar o concentrador (hub).

v Utilizar tecnologia de comutação de circuito através decomutadores (switchs) Ethernet é uma solução bastante adotadapara preservar o investimento em interfaces de comunicação,obtendo-se um ganho considerável de performance.

Page 52: REDES DE COMPUTADORES - dsc.ufcg.edu.br

REDES DE COMPUTADORES

© UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Enlace * Pág. 52

O

O

O

O

O

Hub

Figura 24. Comutador Ethernet