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:
–
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.
Redes de Computadores
(parte 01)
Mestrado em Telecomunicações
CAMADA DE ENLACE
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.
Redes de Computadores
Mestrado em Telecomunicações
CAMADA DE ENLACE
•
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).
Redes de Computadores
Mestrado em Telecomunicações
CAMADA DE ENLACE
•
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 .
Redes de Computadores
Mestrado em Telecomunicações
ENLACE PONTO A PONTO
Exemplo:
HOST 01
HOST 02
(01)
(1) Mensagem ENQ
Mensagem ACK (2) ou
Mensagem NACK (2)
Questionamento enquiry para saber se o Host 2
está preparado para receber os dados.
Estabelecimento da
Conexão
(02)
Reconhecimento
positivo
acknowledgement
para indicar que o Host 2 está preparado.
ERP – Procedimento de Recuperação de Erro
ERP
(03)
(3) FRAME
Host 1 envia alguns dados (Frames) e realiza
uma pausa para esperar resultados.
Mensagem ACK (4) ou
Transferência de Dados
(04)
Mensagem NACK (4)
Reconhecimento
positivo
acknowledgement
para indicar recebimento bem sucedido.
ERP – Procedimento de Recuperação de Erro
ERP
(5) Mensagem EOT
Desconexão
(05)
Mensagem de fim de transmissão.
Redes de Computadores
Mestrado em Telecomunicações
ENLACE PONTO A PONTO
Roteador
Processo da
camada de
enlace de dados
2
Quadros
Processo de
roteamento
3
Protocolo de
enlace de
dados
2
Pacotes
2
2
3
Responsável pela confiabilidade
da linha de comunicação
Linha de Transmissão
para um roteador
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.
Redes de Computadores
Mestrado em Telecomunicações
ENQUADRAMENTO
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.
Contagem de Caracteres
5
1
2
3
4
5
Quadro 1
5 caracteres
5
Erro de
Transmissão
1
2
3
Quadro 1
6
7
8
9
8
0
1
Quadro 2
5 caracteres
4
7
6
7
8
2
3
4
5
6
4
5
6
Quadro 3
8 caracteres
9
8
Quadro 2
(Incorreto)
0
1
2
3
Contagem de
caracteres (Agora)
• 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.
Redes de Computadores
Mestrado em Telecomunicações
ENQUADRAMENTO
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).
Dados enviados pela camada de rede
DLE
STX
A
DLE
B
DLE
ETX
Dados depois que a camada de enlace de dados inclui caracteres (stuffing)
DLE
STX
A
DLE
DLE
B
DLE
ETX
DLE inserido (stuffing)
Dados passados para camada de rede do receptor
DLE
STX
A
DLE
B
DLE
ETX
• 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.
Redes de Computadores
Mestrado em Telecomunicações
ENQUADRAMENTO
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.
Dados Originais
011011111111111111110010
Transmissor da camada de enlace de dados insere um bit 0 a cada 5 bits 1 enviados.
011011111011111011111010010
bits inserido
Receptor remove (destuffing) o bit 0 e armazena na memória.
011011111111111111110010
• A inserção de bits, assim como, a inserção de caracteres, é completamente transparente para a camada de rede;
Redes de Computadores
Mestrado em Telecomunicações
ENQUADRAMENTO
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.
Fluxo de bits
1
0
0
0
0
1
0
1
1
1
1
Cod. binária
Cod. Manchester
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).
Redes de Computadores
Mestrado em Telecomunicações
CONTROLE 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).
Redes de Computadores
Mestrado em Telecomunicações
CONTROLE 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ã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).
Redes de Computadores
Mestrado em Telecomunicações
CONTROLE 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
Redes de Computadores
Mestrado em Telecomunicações
DETECÇÃ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 + 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
Redes de Computadores
Mestrado em Telecomunicações
CORREÇÃ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: dH = d + 1;
Capacidade de detecção do código: Cd = dHmín - 1
–
Para corrigir d erros: dH = 2.d + 1.
Capacidade de correção do código: Cc = (dHmín – 1) / 2
Exemplo: 0000000000, 0000011111, 1111100000 e 1111111111.
dHmín = 5
Cd = dHmín – 1 = 4
Redes de Computadores
(10 bits)
Cc = (dHmín – 1) / 2 = 2
Mestrado em Telecomunicações
CORREÇÃ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
H
ASCII
1001000
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
Redes de Computadores
palavra-código
7 btis
00110010000
11 btis
Mestrado em Telecomunicações
CORREÇÃ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 palavracó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.
Redes de Computadores
Mestrado em Telecomunicações
DETECÇÃ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 par
Bit de paridade = 1, se o total de bit "1” for ímpar
Ex: Caractere
1000010
1000011
+
Paridade
0
1
BYTE DE TRANSMISSÃO
o número total de Bits 1 é par
o número total de Bits 1 é ímpar
Técnica de Paridade Ímpar
Bit de paridade = 1, se o total de bit "1” for par
Bit de paridade = 0, se o total de bit "1” for ímpar
Ex: Caractere
1000010
1000011
+
Paridade
1
0
BYTE DE TRANSMISSÃO
o número total de Bits 1 é par
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.
Redes de Computadores
Mestrado em Telecomunicações
DETECÇÃ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 Xk-1 + Xk-2 + Xk-3 + ... + X0 ;
Ex: 110001 possui 6 bits .: X5 + X4 + X0
–
Aritmética polinomial em módulo 2 (soma e subtração = XOR);
–
Transmissor e Receptor devem concordar em relação ao
polinômio gerador G(x) ;
–
Tanto o bit de mais alta ordem quanto o de mais baixa ordem
de G(x), devem ser = 1.
Redes de Computadores
Mestrado em Telecomunicações
DETECÇÃ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 G(x).
1.
Definir r como o grau de G(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 xr M(x);
2.
Dividir (módulo 2 ) G(x) por xr M(x);
3.
Subtraia (módulo 2) o resto da divisão e acrescente no
polinômio original, formando T(x) polinômio a ser transmitido.
Exemplo:
Quadro M(x): 1101011011
(10 bits)
Gerador: 10011 .: G(x) = X4 + X + 1
Mensagem xr M(x): 11010110110000
Quadro transmitido T(x) : 11010110111110 resto
Redes de Computadores
Mestrado em Telecomunicações
DETECÇÃO DE ERROS
•
CRC - Algoritmo para calcular o checksum:continuação
a.
No receptor T(x) é dividido por G(x). Caso haja erro T(x)
passa a ser T(x) + E(x);
•
b.
O resultado da divisão será E(x) / G(x);
c.
Para que os erros possam se detectados E(x) / G(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)
Redes de Computadores
Download

Comunicação de Dados 3.1 e 3.2