Você está na página 1de 66

Comunicação de Dados e

Redes de Computadores
Comparação entre Modelos
Arquitetura OSI Arquitetura Internet
Aplicação
Apresentação Aplicação
Sessão
Transporte Transporte
Rede Inter-rede
Enlace
Intra-rede
Físico
Modelo Híbrido

Aplicação

Transporte
Rede
Enlace
Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Dados Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação A Dados Aplicação dados

Transporte Transporte

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte T A Dados Transporte segmentos

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede R T A Dados Rede pacotes

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace E R T A Dados E Enlace quadros

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace Enlace

Físico F E R T A Dados E F Físico bits


Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace Enlace

Físico F E R T A Dados E F Físico bits


Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace E R T A Dados E Enlace quadros

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte Transporte

Rede R T A Dados Rede pacotes

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação Aplicação
Transporte T A Dados Transporte segmentos

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário

Aplicação A Dados Aplicação dados

Transporte Transporte

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Dados Usuário

Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace Enlace

Físico Físico
Transmissão de Dados em Rede
Cabeçalho Dados Pacote (PDU –
Protocol Data Unit)

Usuário Usuário
Protocolo da Camada
Aplicação Aplicação
Transporte Transporte

Rede Rede

Enlace E R T A Dados E E R T A Dados E Enlace

Físico Físico
Transmissão de Dados em Rede
Sistema Final A Sistema Final B
Aplicação Caminho Aplicação
Apresentação percorrido pelos Apresentação
Sessão dados do usuário
Sessão
comunicação fim-a-fim
Transporte Transporte
Rede Rede Rede Rede
Enlace Enlace Enlace Enlace
Físico Físico Físico Físico

Sistema Intermediário
Camada de enlace: Terminologia
Quadro - PDU enlace

Nós
Camada de Enlace -
responsabilidade de transferir
um datagrama de um nó para
o nó adjacente sobre um
enlace.

Enlaces
Serviços da camada de enlace
·Enquadramento, acesso ao enlace

·Entrega confiável entre dois equipamentos fisicamente


conectados

·Controle de Fluxo

·Detecção e/ou Correção de Erro


IEEE 802
• O projeto IEEE 802 resultou na publicação de
uma família de padrões, relacionados aos níveis
físico e de enlace (ligação) do RM-OSI para redes
locais e metropolitanas de computadores.
• Define o modo os dados são colocados e
recuperados através da mídia física
(cabeamento) pela placa adaptadora de rede
• Camada física e de enlace do modelo OSI
OSI x IEEE x TCP/IP: Padrão IEEE 802
Arquitetura OSI Arquitetura Internet
Aplicação
Apresentação Aplicação
Sessão
Transporte Transporte
Rede Arquitetura IEEE Inter-rede
Enlace LLC
MAC Intra-rede
Físico Físico
Camada de Controle de Acesso ao Meio

• Organização do acesso ao meio físico


compartilhado:
• Barra.
Logical Link • Anel.
Control (LLC) • Wireless.
Medium Access
• Técnicas:
Control (MAC)
• CSMA-CD (802.3).
Physical Layer
(PHY)
• Token Ring (802.5).
• ...
Camada de Controle de Enlace Lógico

• Independência da
Logical Link
Control (LLC)
camada MAC.
Medium Access • Controle de erros e de
Control (MAC)
Physical Layer
fluxo.
(PHY)
Nível Físico
• Transmissão de bits através de
um meio físico:
• Cabo coaxial.
Logical Link
Control (LLC) • Par trançado.
Medium Access • Fibra ótica.
Control (MAC)
• Método de codificação.
Physical Layer
(PHY) • Taxa de Transmissão.
Arquitetura IEEE 802: LAN
Host A Host B
Aplicação Aplicação
Aplicação Apresentação Apresentação
Apresentação Sessão Sessão
Sessão Transporte Transporte
Transporte
Rede Rede
Rede Comunicação fim-a-fim
LLC LLC
Enlace MAC no enlace MAC
Físico Físico Físico
Pergunta

26
Qual a diferença?
Sistema Final A Sistema Final B
Aplicação Aplicação
Apresentação Apresentação
Aplicação
Sessão Sessão
Apresentação
comunicação fim-a-fim
Sessão Transporte Transporte
Transporte Rede Rede
Rede Rede
Rede
Enlace Enlace Enlace Enlace Enlace
Físico Físico Físico Físico Físico

Sistema Intermediário
Qual a diferença?
Host A Host B
Aplicação Aplicação
Aplicação Apresentação Apresentação
Apresentação Sessão Sessão
Sessão Transporte Transporte
Transporte
Rede Rede
Rede Comunicação fim-a-fim
LLC LLC
Enlace MAC no enlace MAC
Físico Físico Físico
Enquadramento (Framing)

• Por que?
• Meio físico não é livre de erros;
• Detecção e correção de erros;
• Dividir o bit-stream em quadros (unidade de dados) de forma a gerenciar a
transmissão facilitando o controle de erros.
Enquadramento (Framing)

• Métodos:
• Contagem de caracter
• Enquadramento por caracter (utiliza character stuffing)
• Enquadramento por bit (utiliza bit stuffing)
Contagem de Caracter
• Adicionar um campo no header indicando o número de
caracteres presentes no quadro;
• Ao receber o quadro, o RX lê o campo de contagem e sabe a
partir dali determinar onde está o final do quadro;
Contagem de Caracter (cont)

• Só é usado em conjunto com outras técnicas


Contagem de Caracter

• Problema: erro de TX no campo de contagem. Perde a


sincronização, não pode nem haver retransmissão;
Enquadramento por Caracter
• Idéia básica: inserir um caracter especial no início (STX) e fim
(ETX) do quadro;

SYN SY N ST X H EA D ER D AD OS ET X CRC SYN SY N

Quadro
Enquadramento por Caracter
• Idéia básica: inserir um caracter especial no início (STX) e fim
(ETX) do quadro;

SYN SY N ST X H EA D ER D AD OS ET X CRC SYN SY N

Quadro
 problema: ETX (End of TeXt) ou STX (Start of TeXt) pode
estar presente nos DADOS, o que gera um erro de
interpretação.
Enquadramento por Caracter
• tentativa de solução: antes dos caracteres de controle
inserir um outro caracter (DLE - Data Link Escape).
Enquadramento por Caracter
• tentativa de solução: antes dos caracteres de controle
inserir um outro caracter (DLE - Data Link Escape).

• novo problema: os DADOS podem conter o caracter DLE.


Enquadramento por Caracter
• solução definitiva: percorrer todo o campo dos DADOS
antes de transmitir, ao encontrar um DLE inserir um
outro DLE antes deste (character stuffing). Assim,
quando o Receptor encontrar dois DLEs ele descarta
um e sabe que o resto é texto e não controle.

• Este método fica amarrado ao código ASCII


Enquadramento por bit

• Delimitador de quadro: flag, sequência padrão de


bits.
• Cada quadro começa e termina com o flag.
• Exemplo: 01111110 ou 0160
• Regra: a cada sequência de 5 bits ‘1’ inserir um bit ‘0’
(bit stuffing).
• O bit (charater) stuffing é completamente
transparente à camada de rede (transparência de
caracters e transparência de bits).
Enquadramento por bit (cont)

Caso o RX perca o controle, tudo que ele tem a fazer


é procurar a próxima sequência de 6 bits ‘1’ visto que
ela só poderá ocorrer nas extremidades de cada quadro.
41
Códigos de Detecção/Correção de Erros

• Existem duas estratégias básicas:


1. Incluir informação redundante suficiente para
permitir que o receptor detecte e corrija erros
(“open loop”).
2. Incluir informação redundante apenas para
permitir que o receptor detecte erros na
mensagem (“feedback”).
Códigos de Detecção/Correção de Erros

• Open loop: não há necessidade de retransmissão,


receptor é capaz de recuperar a informação
(Forward Error Correction – FEC).

• Feedback: receptor detecta erro e solicita


retransmissão ao transmissor (implementação
através dos protocolos ARQ).
Detecção x Correção
• Correção: única solução para canais simplex
• Detecção: são geralmente mais eficientes quando a
taxa de erros do canal é baixa (poucas ReTX)
• Exemplo:
• Quadros de 1000 bits (m = 1000) necessitam 10 check bits (r =
10) para a correção de erros simples.
• Detecção de erros simples apenas 1 bit (r = 1)
• Overheads: 1 megabit de dados com error rate de 10-6 por bit
• Correção  10.000 bits extra
• Detecção  1.000 bits + ReTX (1 megabit . 10-6 = 1 ReTX) =
1000 check bits + 1001 (ReTX) = 2001 bits
Métodos de Detecção

• Paridade

• Paridade Combinada

• Checksum

• CRC (Cyclic Redundancy Code).


Detecção de erros
EDC= Bits de detecção e correção de erros
(redundância)
D = Dados protegidos pela verificação de erros;
podem incluir os campos de cabeçalho
 A detecção de erros não é 100% confiável!
 Protocolos podem deixar passar alguns erros,
mas é raro
 Quanto maior o campo EDC, melhor é a
capacidade de detecção e correção de erros
Detecção de erros
Detecção de Erros
• Paridade
• acrescentar um bit de paridade ao caracter.
• paridade par e ímpar (nr de 1’s).
• 0100 111 0 : eficiência de 7/8 ou 87,5%.
• É calculada pelo hardware de conversão para
serial
Detecção de Erros
• Paridade Combinada
• Combinação da paridade
longitudinal (LRC - Longitudinal
Redundancy Checking) e
paridade vertical (VRC - Vertical
Redundancy Checking)
• Consiste em acrescentar um
bloco (BCC - Block Character
Check) que represente uma
operação lógica nos bits da
mensagem.
Detecção de Erros
• Paridade Combinada
• Exemplo: paridade par
• Transmite REDE + BCC ou REDE + BCC + VRC
R E D E BCC
b6 1 1 1 1 0
b5 0 0 0 0 0
b4 1 0 1 0 0
b3 0 0 0 1 1 <= LRC
b2 1 1 0 0 0
b1 0 1 1 1 1
b0 1 0 0 0 1
VRC 0 1 1 1 1
Detecção de Erros
• Paridade Combinada
• Recepção com um erro simples, detecta e corrige
R E D E BCC
b6 1 0 1 1 1
b5 0 0 0 0 0
b4 1 0 1 0 0
b3 0 0 0 1 1 <= LRC
b2 1 1 0 0 0
b1 0 1 1 1 1
b0 1 0 0 0 1
VRC 0 0 1 1 1
Detecção de Erros
• Paridade Combinada
• Recepção com um erro duplo, detecta mas não corrige
R E D E BCC
b6 0 0 1 1 0
b5 0 0 0 0 0
b4 0 0 1 0 1
b3 0 0 0 1 1 <= LRC
b2 1 1 0 0 0
b1 0 1 1 1 1
b0 1 0 0 0 1
VRC 0 1 1 1 1
Detecção de Erros
• Paridade Combinada
• Recepção com um erro quadrado, mas não detectado.
R E D E BCC
b6 1 1 1 1 1
b5 0 0 0 0 0
b4 1 0 1 0 0
b3 0 0 0 1 1 <= LRC
b2 1 1 0 0 0
b1 1 0 1 1 1
b0 0 1 0 0 1
VRC 0 1 1 1 1
Detecção de Erros
Checksum da Internet
Objetivo: detectar “erros” (ex.: bits trocados)
num segmento transmitido (nota: usado apenas na
camada de transporte)
Detecção de Erros
Checksum da Internet
Transmissor:
 Trata o conteúdo de segmentos como seqüências
de números inteiros de 16 bits
 Checksum: adição (soma em complemento de
um) do conteúdo do segmento
 Transmissor coloca o valor do checksum no
campo checksum do UDP
Detecção de Erros
Checksum da Internet
Receptor:
 Computa o checksum do segmento recebido
 Verifica se o checksum calculado é igual ao valor
do campo checksum:
 NÃO — erro detectado
 SIM — não detectou erro.
Checksum da Internet
Códigos de Detecção de Erros

• Cyclic Redundancy Check (CRC):


• Cadeias de bits representadas por polinômios de coeficientes 0 e 1 apenas
• Ex: 110001 (6 bits)  x5 + x4 + x0 (polinômio de grau 5)
• Aritmética módulo 2: soma e subtração = XOR
Códigos de detecção - CRC
• Origem e destino usam um polinômio
gerador:
• 10011 equivale a um polinômio do grau 4:
x4 + x + 1.
Códigos de detecção - CRC
• Cálculo no transmissor:
• Seja a mensagem 1101011011.
• Concatenar o número de zeros do grau do gerador:
• 11010110110000. (deslocamento de 4 bits)
• Dividir 11010110110000 pelo gerador 10011:
• O resto será 1110.
• Subtrair (módulo 2) o resto da mensagem (com zeros a
esquerda):
• Transmitir 11010110111110.
Códigos de detecção - CRC
• Cálculo no receptor:
• Dividir o que foi recebido pelo gerador.
• Se o resto não for zero, há erros.
Códigos de detecção - CRC
• O emissor deseja enviar os bits de dados 111100101.

O gerador são os bits 101101.

• Como calcular o CRC antes de enviar os dados???


Emissor
Receptor

111100101
CRC?
CRC (Cyclic Redundancy Check)
Códigos de detecção - CRC
• Após calcular o CRC cujos bits são 01010, o emissor envia
os bits de dados mais os bits de CRC.
• O receptor utiliza os bits enviados e divide
pelo gerador para verifica se os bits estão corretos.
Emissor
Receptor

11110010101010
CRC
• Exemplos de polinômios padronizados
• CRC-12: x12 + x11 + x3 + x2+ x + 1
• CRC-16: x16 + x15 + x2 + 1
• CRC-CCITT: x16 + x12 + x5 + 1
• HDLC: X16 + x12 + x5 + 1
• Poder do método (CRC-16 ou CRC-CCITT):
• Todos os erros simples
• Todos os erros duplos
• Todos os erros com um número ímpar de bits
• Bursts de até 16 bits
• Bursts de 17 bits (99.997%)
• Bursts de 18 ou mais bits (99.998%)
ATIVIDADE
• Explique porque em canais half ou full duplex é melhor utilizar
detecção de erros a correção?

66

Você também pode gostar