Sei sulla pagina 1di 42

Camada de Enlace

Introduo, Enquadramento e Controle de Erros


Professor Ms. Vinicius da Cunha
1

Introduo
hosts e roteadores so ns canais de comunicao que
conectam ns adjacentes ao longo de um caminho de comunicao so enlaces (links) enlaces com fio (cabeados) enlaces sem fio (no cabeados) LANs UDP (Unidade de Dados de Protocolo) da camada 2 o quadro (frame), o qual encapsula o pacote IP

Camada de Enlace

Exemplo

Contexto
Pacote transferido por diferentes transporte protocolos de enlace em diferentes Viagem de Goinia at Gramado enlaces:

Analogia com um sistema de

taxi: de casa at Santa Genoveva Ex.: Ethernet no primeiro enlace, avio: de Santa Genoveva at Salgado Frame Relay em enlaces intermedirios Filho (Porto Alegre) e 802.11 no ltimo enlace nibus: de Porto Alegre at Lausanne

Cada protocolo de enlace prov diferentes servios

Ex.: pode ou no prover transporte confivel de dados atravs do enlace

turista = pacote segmento de transporte = enlace de comunicao meio de transporte = protocolo da camada de enlace agente de viagens = algoritmo/protocolo de roteamento 5

Servios
Enquadramento (Delimitao do quadro):
encapsula pacote num quadro adicionando cabealho e cauda (trailer)

Acesso ao enlace: implementa acesso ao canal se meio for compartilhado, endereos fsicos (MAC) so usados nos cabealhos dos quadros para identificar origem e destino de quadros em enlaces multiponto Diferente do endereo IP! Entrega confivel entre ns adjacentes: j um conceito conhecido (camada de transporte) raramente usada em canais com baixas taxas de erro (fibra ptica, alguns tipos de pares tranados) canais sem fio: altas taxas de erros P: para que confiabilidade na 6 camada de enlace e de transporte (fim-a-fim)?

Servios (cont.)
Controle de Fluxo:
compatibilizar taxas de produo e consumo de quadros entre remetentes e receptores

Deteco de Erros:
erros so causados por atenuao do sinal e por rudo receptor detecta presena de erros
receptor sinaliza ao remetente para retransmisso, ou simplesmente descarta o quadro com erro
7

Servios (cont.)
Correo de Erros:
mecanismo que permite que o receptor localize e corrija o(s) erro(s) sem precisar da retransmisso

Half-duplex e full-duplex com half duplex um n no pode transmitir e receber pacotes ao mesmo tempo

Implementao

aplicao transporte rede enlace

CPU

memria

controlador

enlace fsica
Tx fsica

Comunicao de Adaptadores

Transmissor: encapsula o pacote em um quadro adiciona bits de verificao de erro, transferncia confivel de dados, controle de fluxo, etc.

Receptor verifica erros, transferncia confivel, controle de fluxo, etc. extrai o pacote, passa-o para o n receptor

10

Definio de Quadros

O quadro composto por vrios quadros:


Cabealho (Header) - Endereo de Destino, Endereo de Origem, Contagem Dados (Data) - Parte til do quadro, onde os dados so transportados Trailer FCS (Campo de Verificao de Erros)
11

Delimitao de Quadros
A delimitao de quadros necessria para a correta recepo dos quadros, entre seu incio e fim, tcnicas utilizadas:
Contagem de Bytes Orientado a Caractere Orientado a Bit

12

Contagem de Bytes (cont.)


Um campo do cabealho utilizado para definir o tamanho do quadro Sabendo a quantidade de caracteres (bytes) a serem transmitidos, a camada fsica sabe onde termina o quadro Esse campo normalmente utilizado quando o campo de dados possui tamanho varivel, possibilitando a delimitao de quadros
13

Contagem de Bytes (cont.)

14

Contagem de Bytes (cont.)


Desvantagem: o campo de contagem pode ser alterado A camada de enlace na recepo no saber onde comea/termina mesmo com campo FCS O mtodo de contagem de bytes no deve ser usado sozinho
15

Orientado a Caracter
Utiliza caracteres especiais para delimitar incio e fim de quadro O problema que uma sequncia igual aos caracteres especiais pode aparecer no campo de dados A soluo utilizar um outro caractere especial (DLE) antes da sequncia especial, se esta aparecer no campo de dados Overhead
16

Orientado a Caracter (cont.)

17

Orientado a Bit
Dados transmitidos como uma sequncia de bits Para que o receptor reconhea o incio/fim de um quadro (frame) utilizada uma sequncia nica de bits, chamada flag conforme figura a

seguir
18

Orientado a Bit (cont.)


EXEMPLO: Flag = 01111110 (a) 0110111111111011111011111001 (b) 0110111110111101111100111110001 (c) 01111110 0110111110111101111100111110001 01111110 (d) 0110111110111101111100111110001 (e) 0110111111111011111011111001
19

Orientado a Bit (cont.)


(a) Mensagem a ser transmitida (b) Mensagem com bits 0 inseridos (sublinhados) (c) Mensagem pronta para ser transmitida no meio fsico (com bits de enchimento e flags) (d) Mensagem recebida sem flags, bits de enchimento identificados (e) Mensagem recebida sem bits de 20 enchimento

Tipos de Servios
Servios sem Conexo e sem Confirmao
Mquina de origem envia dados independentes a mquina de destino No h confirmao de recebimento No h estabelecimento de conexo lgica No nenhuma tentativa de detectar ou recuperar quadros danificados ou perdidos Usada em redes com taxa de erros muito baixas e recuperao em uma camada acima 21 Usadas em Redes Locais e em aplicaes Real Time

Tipos de Servios (cont.)


Servio sem conexo e com Confirmao
No estabelece conexo lgica O receptor confirma o quadro recebido para o emissor O emissor retransmite quadros no confirmados aps um tempo predeterminado sem confirmao Utilizados em canais no confiveis Utilizado em conexes sem fio
22

Tipos de Servio (cont.)


Servio com Conexo e com Confirmao
Estabelece conexo lgica entre o emissor e o receptor Quadros so numerados e a entrega garantida Garante a no duplicidade Garante a entrega na ordem correta Trs fase no processo de transmisso:
Estabelecimento da Conexo Transferncia dos dados Encerramento da Conexo

23

Reconhecimentos (ACK) e Timeouts


O pacote de reconhecimento (acknowledgement = ACK) enviado em resposta a um pacote recebido sem erros Tornar um pacote ACK basicamente obtido alterando-se um campo de um pacote Os dados podem ser transportados em pacotes ACK (piggyback) Um timeout (estouro de tempo limite) uma condio na qual um pacote ACK no foi recebido dentro de um limite de tempo esperado Um timeout dispara a re-transmisso de um pacote pelo Host que est enviando dados Como ajustar o timeout?

24

Reconhecimentos (ACK) e Timeouts (cont.)


(a) Envio normal, com ACK antes do Timeout (b) Pacote perdido, ocorre Timeout e transmissor re-envia (c) ACK perdido, ocorre Timeout e transmissor re-envia (c) ACK chega aps Timeout e transmissor re-envia. Pacote enviado duas vezes (pacote repetido)
25

Deteco e Correo de Erros


Erros isolados: 1 bit em 1 quadro Erros em rajada: todo o quadro ou mais de um quadro deturpado

26

Deteco e Correo de Erros


Deteco de erro: a partir do quadro recebido conclui-se que houve erro na transmisso e solicita-se reenvio Correo de erro: o quadro contm informaes redundantes de forma a permitir a identificao de qual bit contm erro. No necessita reenvio.
27

Deteco de Erros

28

Deteco e Correo de Erros

Paridade (deteco e/ou correo) Soma de verificao (Checksum) (deteco) Verificao de Redundncia Cclica (CRC) (deteco) Cdigo de Hamming (Correo)

29

Paridade
deve-se optar inicialmente pelo tipo de paridade a ser confirmada se par, uma quantidade par de bits 1e 0 deve ser enviada. Quando impar, o bit de paridade vai completar uma quantidade impar de bits 1 e 0

30

Soma de Verificao
Um mtodo simples de soma de verificao somar d bits de dados como k bits e usar o total resultante como bits de deteco de erros. A chamada Soma de Verificao da Internet baseada nessa abordagem bytes de dados so tratados como inteiros de 16 bits e o complemento de 1 de sua soma forma a soma de verificao da Internet. O receptor calcula a soma de verificao sobre os dados recebidos e verifica se est de acordo com a soma de verificao realizada no pacote recebido. Desvantagem??

31

Verificao de Redundncia Cclica (CRC)


Os cdigos de CRC tambm so conhecidos como cdigos polinomiais, j que possvel ver a seqncia de bits a ser enviada como um polinmio cujos coeficientes so os valores de 0 e 1 da seqncia de bits, sendo as operaes na seqncia de bits interpretadas como aritmtica polinomial.

32

Verificao de Redundncia Cclica (CRC) (cont.)

mensagem
1 0 1 0 0 0 1 1 0 1 x9+x7+x3+x2+x0

polinmio gerador
1 1 0 1 0 1 x5+x4+x2+x0

33

Verificao de Redundncia Cclica (CRC) (cont.)


mensagem
1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0 1

0 1 1 0 1 1 0 0 0

1 0 1 0 1 0 1

0 1 1 0 0 0 1 0 0

1 1 0 1 1 0 0 0 0 0 0

0 1 1 0 1

1 0 1 0 1

0 1 1 0 0 0 1 0

resto

mensagem a ser enviada


1 0 1 0 0 0 1 1 0 1 0 1 1 1 0
34

Verificao de Redundncia Cclica (CRC) (cont.)


mensagem recebida
1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0

polinmio
1 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0 1

0 1 1 0 1 1 0 0 0

1 0 1 0 1 0 1

0 1 1 1 0 0 1 1 1

1 1 0 1 1 0 0 0 0 0 0

1 1 0 0 0

0 0 0 0 0

1 1 0 0 0 0 0 0

resto

mensagem recebida est OK

Situao 1

35

Verificao de Redundncia Cclica (CRC) (cont.)


mensagem recebida
1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0

polinmio
1 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0 1

1 1 0 0 0 1 1 0 1

0 0 0 0 0 0 0

1 1 0 0 0 0 0 0 1

0 0 1 0 0 0 0 1 0 0 1

0 0 0 0 0

0 0 0 0 0

1 0 1 0 0 0 1 0

resto

mensagem recebida est com ERRO

Situao 2

36

Cdigo de Hamming
Palavra de cdigo: mensagem contendo m bits de dados e r bits redundantes => tamanho total n = m+r Distncia de Hamming: nmero de posies de bits em que duas palavras de cdigo diferem => indica o nmero de erros que deve ocorrer (inverso de bits) para tornar uma palavra de cdigo em outra vlida
37

Cdigo de Hamming (cont.)


Em geral 2 mensagens so vlidas, porm n nem todas possveis 2 palavras de cdigo so vlidas Dado um conjunto de smbolos (palavras de cdigo) vlidos, determina-se a distncia de Hammig do conjunto como sendo a menor distncia de Hammig entre duas palavras de cdigo vlidas do conjunto 38
m

Cdigo de Hamming (cont.)


Deteco de d erros: possvel caso a distncia de Hamming do conjunto sejaigual a d+1 Correo de d erros: possvel caso a distncia de Hamming do conjunto seja igual a 2d+1
39

Cdigo de Hamming (cont.)


supondo um cdigo com n=m+r bits, cada uma das 2m mensagens vlidas tem n palavras de cdigo invlidas a uma distncia igual a 1 (inverso de 1 nico bit ou erros simples) logo, para permitir reconhecimento do erro, cada mensagem vlida deve ter associado a ela (n+1) seqencias de bits logo o limite terico (n+1)*2m <= 2n ou ainda m+r+1<= 2r (logo, dado m posso saber r)
40

Cdigo de Hamming (cont.)


bits da palavra de cdigo so numerados a partir da esquerda todos os bits que so potncias de 2 (1,2,4,...) so considerados bits de verificao (Hn) os outros bits (3,5,6,7,9,...) so preenchidos como bits de dados
41

Cdigo de Hamming (cont.)


inicializa-se um contador em zero verifica-se a paridade de cada bit de verificao se a paridade no estiver correta soma-se o valor da posio do bit de verificao ao contador no final: contador em zero = transmisso OK contador no zero = indica bit onde houve o erro
42

Potrebbero piacerti anche