28
CRC Vários tamanhos: CRC-12, 16, 32 – CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 Divisão por: 1100000000000111 FCS de 16 bits

CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Embed Size (px)

Citation preview

Page 1: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

CRC

Vários tamanhos:– CRC-12, 16, 32– CRC-16: equivale a divisão binária pelo poliômio

X**16 + X**15 + X**2 + X + 1– Divisão por: 1100000000000111– FCS de 16 bits

Page 2: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

HDCL - High-level Data Link Control Características Básicas

– Três tipo de estação• Primary Station• Secondary Station• Combined Station

– Dois modos de configuração do enlace• unbalanced - uma estação primária e uma ou mais

estações secundárias• balanced - duas estações combinadas

Page 3: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

HDLC Três modos de transferência de dados

– Normal Response Mode (NRM)

– Asynchronous Balanced Mode (ABM)

– Asynchronous Response Mode (ARM)

Page 4: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Modos de Transferência HDLC (1) Normal Response Mode (NRM)

– configuração não baleanceada– est. primária inicia a comunicação com secundária– secundária pode transmitir dados somente em

resposta a primária– usado em linhas multi ponto– computador hospedeiro como primário– terminais como secundários

Page 5: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Modos de TransferênciaHDLC (2) Asynchronous Balanced Mode (ABM)

– configuração balanceada– ambas estações podem iniciar a transmissao sem

receber permissão– mais utilizada– não há overhead de polling

Page 6: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Modos de Transferência HDLC (3) Asynchronous Response Mode (ARM)

– configuração não balanceada– secundária pode iniciar a transmissão sem

permissão da primária– primária é responsável pela linha– raramente usada

Page 7: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Estrutura do Frame

Page 8: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Campo Flag Delimita frames nos dois lados 01111110 pode acabar um frame e começar outro receptor analisa entrada procurando os flags para

sincronização Bit stuffing é utilizado para não confundir com dados

contendo 01111110– 0 inserido depois de cada sequência de 5 uns– se receptor detecta cinco 1s, testa próximo bit– se for 0: bit é deletado– se for 1 e sétimo bit é 0: flag é reconhecido– se sexto e sétimo bits forem 1: enviador sinaliza abort

Page 9: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Bit Stuffing

Page 10: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Campo de endereço Identifica estação secundária que recebe ou manda o frame em ponto a ponto: não é necessário 8 bits, usualmente pode ser extendido para múltiplos de 7 bits

– bit mais a esquerda (LSB) de cada octeto indica se é o último (1) ou não (0)

tudo 1 (11111111) é broadcast

Page 11: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Operação Fases

– inicialização– transferência– desconexão

Page 12: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Operação Fases: inicialização

– pede inícialização do link– especifica modo (NRM, ABM, ARM)– especifica tamanho dos números de sequencia

• 3 ou 7 bits

– aceite pelo outro lado: manda unnumbered ack (UA)

– rejeição: manda disconnected mode (DM)

Page 13: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Operação Fases: transferência de dados

– em NRM– bit P/F indica um computador ou concentrador

fazendo polling em terminal– bit setado em P: computador convida terminal a

mandar dados– frames de resposta tem bit setado em P, exceto o

último que tem F– frames I : informação do usuário

Page 14: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Operação Fases: transferência de dados

– em ABM– N(S) e N(R) são números de sequência para

controle de erros e fluxo– enviador numera frames sequencialmente,

módulo 8 ou 128, dependendo se 3 ou 7 bits de sequencia

– N(R): ack para frames recebidos, indica próximo a receber

– frames I

Page 15: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Operação Fases: transferência de dados

– em ABM– frames S (supervisor)– RR: usado quando não há fluxo contrario para

carregar confirmações (piggybacking)– RNR: ack de um frame e pedido de parada– quando novamente pronta, manda RR– REJ: go back N ARQ, iniciando em R de N(R)– SREJ: selective reject

Page 16: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Campo de Controle Information

– P/F– N(S) - send seq number– N(R) - rec. seq. Number - ack

Supervisor– S - função do supervisor

Page 17: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Campo de Controle

Page 18: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Exemplos de Operação (1)

Page 19: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Exemplos de Operação (2)

Page 20: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

Campo Frame Check Sequence

FCS detecção de erros CRC de 16 bits opcionalmente de 32 bits

Page 21: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

SLIP - Serial Line IP

Protocolo Orientado a caracter Caracter delimitador

– 0xC0 Caracter Stuffing

– substitui 0xC0 por 0xDB 0xDC– caso o texto contenha um caracter 0xDB, este

também é substituído pela seqüência

Frame IP 0xC0

Page 22: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

SLIP - Serial Line IP

Não tem controle de erros endereços IP tem que ser previamente

conhecidos não tem autenticação há várias versões diferentes (não é um

padrão)

Page 23: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

PPP - Point to Point Protocol

O PPP– tem detecção de erros– suporta múltiplos protocolos– negocia endereços IP– permite a autenticação – utilizado em conexões discadas e em linhas

privativas

Page 24: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

PPP

Este protocolo provê– uma forma não ambígua de delimitação do pacote– detecção de erros– um subprotocolo de enlace para estabelecer e

testar a conexão, negociar opções e finalizar conexões. (LCP - Link Control Protocol)

– subprotocolos de rede que negociam opções do nível de rede. (NCP - Network Control Protocol)

• Um NCP diferente para cada nível de rede suportado

Page 25: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

PPP

Protocolo orientado a caracter Campo de Endereço

– valor default 11111111 para indicar que todas as estções devem aceitar o frame

Campo de Controle– valor default 00000011 que indica um frame não

numerado – transmissão sem reconhecimento

01111110 Endereço Controle Protocolo Dados Checksum 01111110

1 byte 1 byte 1 byte 1 ou 2 bytes Variável 2 ou 4 byte 1 byte

Page 26: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

PPP

Campo Protocolo– inicia por 0 para os protocolos IP, IPX, OSI CLNP– inicia por 1 para os protocolos LCP, NCP

Page 27: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

CRC

Message M : 1010001101

Padrão : 110101

M*2**5 = 101000110100000110101 111011110101 111010

110101 111110

110101 101100

110101 110010

110101 01110 <== R

Page 28: CRC n Vários tamanhos: –CRC-12, 16, 32 –CRC-16: equivale a divisão binária pelo poliômio X**16 + X**15 + X**2 + X + 1 –Divisão por: 1100000000000111 –FCS

CRC

Message M : 1010001101

Padrão : 110101

Message+FCS = 101000110101110110101 111011110101 111010

110101 111110

110101 101111

110101 110101

110101 0 <== R

FCS : 01110