UNIP Transmissão de Dados – Camada de Enlace de Dados Transmissão de Dados Modelo de Referência...
-
Upload
lais-beppler-neves -
Category
Documents
-
view
217 -
download
0
Transcript of UNIP Transmissão de Dados – Camada de Enlace de Dados Transmissão de Dados Modelo de Referência...
UNIP Transmissão de Dados – Camada de Enlace de Dados
Transmissão de DadosTransmissão de Dados
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Camada de Enlace de DadosCamada de Enlace de Dados
UNIP Transmissão de Dados – Camada de Enlace de Dados
Camada de Aplicação
Camada de Transporte
Camada de Rede
Camada de Enlace de Dados
Camada de Física
Modelo de Referência TCP/IP
UNIP Transmissão de Dados – Camada de Enlace de Dados
Definição de Quadro
Cabeçalho: Endereço de destino, endereço de origem, contagem de hops, tamanho do quadro, etc.
Dados do usuário: Parte útil do quadro, onde os dados são transportados
Fim: Marca de fim, soma de verificação.
Cabeçalho Dados do usuário Fim (“trailer”)
UNIP Transmissão de Dados – Camada de Enlace de Dados
Funções Principais
1. Proporcionar uma interface de serviços bem definidos para a camada de Rede.
2. Determinar como os bits da camada Física são agrupados em quadros (enquadramento).
3. Lidar com os erros de transmissão.
4. Regular o fluxo de quadros para que transmissores rápidos não “afoguem” receptores lentos.
UNIP Transmissão de Dados – Camada de Enlace de Dados
2. Enquadramento
2.1. Método da contagem de caracteres.
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres.
2.3. Método dos caracteres de início e fim, com preenchimento de bits.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Utiliza um campo no cabeçalho (contador) para especificar o número de caracteres no quadro. Com esta informação, o receptor “sabe” onde está o final do quadro.
2.1. Método da contagem de caracteres
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.1. Método da contagem de caracteres
Bits a transmitir: 1o quadro: 1, 2, 3, 42o quadro: 5, 6, 7, 83o quadro: 10 e 11
Exemplo
Transmissor Receptor
51234567891011 3
Contador
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.1. Método da contagem de caracteres
Problema:
Se o contador for alterado por um erro de transmissão:
• Perde-se o sincronismo de final de quadro e início do seguinte.
• Não há como localizar o quadro danificado para solicitar uma retransmissão.
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
A) Resolve o problema de ressincronizar quadros depois de um erro.
B) Utilizando o conjunto de caracteres ASCII como padrão.
C) Cada quadro começa e termina com um padrão especial de caracteres:
C.1) Inicia com DLESTX
C.2) Termina com DLEETX
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
DLE - Data Link Escape
STX - Start of Text
ETX - End of Text
D) Se o destino perder o controle dos limites dos quadros é só procurar pelos caracteres DLESTX e DLEETX para ressincronizar.
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
ExemploBits a transmitir: A, B
Transmissor Receptor
XTEELDBAXTSELD
Marca de término
Marca de início
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
Problema:
Os caracteres DLESTX e DLEETX podem repetir-se na forma de dados, confundindo o controle de quadros.
Solução:
A camada de Enlace de Dados do transmissor insere um caracter DLE antes de cada DLE “acidental” nos dados, e a camada de Enlace de Dados do receptor retira-o.
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
ExemploBits a transmitir: A, D, L, E, S, T, X, B
Transmissor Receptor
XTEELDBXTSELDELDAXTSELD
Marca de término
Marca de início
DLE inserido
UNIP Transmissão de Dados – Camada de Enlace de Dados
2.2. Método dos caracteres de início e fim, com preenchimento de caracteres
Restrição:
Este método está fortemente ligado ao conjunto de caracteres adotado (ASCII no exemplo). Ele não é universal, não funciona com outros conjuntos de caracteres.
UNIP Transmissão de Dados – Camada de Enlace de Dados
A) Permite que os quadros tenham um número aleatório de bits.
B) Não depende do conjunto de caracteres em utilização.
C) Cada quadro começa e termina com um padrão especial de bits:
01111110
2.3. Método dos caracteres de início e fim, com preenchimento de bits
6 uns
UNIP Transmissão de Dados – Camada de Enlace de Dados
D) Sempre que a camada de Enlace de Dados do transmissor encontra 5 uns consecutivos nos dados, ela insere um bit 0 (zero) (bit de enchimento) imediatamente depois.
E) Quando a camada de Enlace de Dados do receptor encontra um 0 (zero) após 5 uns consecutivos, ela descarta-o.
2.3. Método dos caracteres de início e fim, com preenchimento de bits
UNIP Transmissão de Dados – Camada de Enlace de Dados
Exemplo
2.3. Método dos caracteres de início e fim, com preenchimento de bits
Bits a transmitir: 011011111111111111110010
16 unsTransmissor Receptor
01111110
UNIP Transmissão de Dados – Camada de Enlace de Dados
Exemplo
2.3. Método dos caracteres de início e fim, com preenchimento de bits
Bits a transmitir: 011011111111111111110010
16 unsTransmissor Receptor
01001011111011111011111011001111110
Bits de enchimento
UNIP Transmissão de Dados – Camada de Enlace de Dados
Exemplo
2.3. Método dos caracteres de início e fim, com preenchimento de bits
Bits a transmitir: 011011111111111111110010
16 unsTransmissor Receptor
0111111001001011111011111011111011001111110
Bits de enchimento
UNIP Transmissão de Dados – Camada de Enlace de Dados
3. Lidar com erros de transmissão
UNIP Transmissão de Dados – Camada de Enlace de Dados
3. Lidar com erros de transmissão
Como ter certeza de que todos os quadros enviados são recebidos corretamente?
A única solução é o receptor informar ao transmissor o que ocorre com cada quadro.
UNIP Transmissão de Dados – Camada de Enlace de Dados
3. Lidar com erros de transmissãoTr
ansm
isso
r
Rec
epto
r
Envia quadro 1
Envia confirmação positiva do quadro 1
Envia quadro 2
Envia confirmação negativa do quadro 2
Retransmite o quadro 2
Envia confirmação positiva do quadro 2
Perda do quadro
UNIP Transmissão de Dados – Camada de Enlace de Dados
3. Lidar com erros de transmissãoTr
ansm
isso
r
Rec
epto
r
Envia confirmação positiva do quadro 2
Retransmite o quadro 2
Time out do quadro 2
Envia confirmação positiva do quadro 2
Descarte do quadro 2
UNIP Transmissão de Dados – Camada de Enlace de Dados
3. Lidar com erros de transmissão
UNIP Transmissão de Dados – Camada de Enlace de Dados
Estratégias para lidar com erros
3. Lidar com erros de transmissão
• Incluir muita informação redundante em cada quadro enviado para possibilitar, ao receptor, perceber e corrigir o problema.
• Incluir redundância suficiente para permitir ao receptor perceber que houve um erro e solicitar uma retransmissão ao transmissor.
• A utilização de algoritmos de detecção / correção de erros gera menos carga (tráfego) na rede.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Conclusões
3. Lidar com erros de transmissão
• É necessária a utilização de cronômetros temporizadores (“timers”) no transmissor.
• Cada quadro enviado dispara o cronômetro.
• O tempo máximo de espera antes da retransmissão de um quadro é parametrizado.
• A camada de Enlace de Dados no receptor deve descartar quadros duplicados, se houver.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Situação:
Um transmissor rápido, ou pouco carregado, enviando quadros para um receptor lento (ou sobrecarregado com outras recepções).
4. Regular o fluxo de dados
Problema:
O receptor pode perder quadros.
Solução:
Adotar um controle de fluxo para regular a velocidade de transmissão do transmissor.
UNIP Transmissão de Dados – Camada de Enlace de Dados
4. Regular o fluxo de dadosTr
ansm
isso
r
Rec
epto
r
Envia quadro 1
Envia confirmação positiva do quadro 1
Envia quadro 2
Envia confirmação positiva do quadro 2
Envia quadro de controle de fluxo
Envia quadro 3
Veloc. A
Veloc. BEnvia confirmação positiva do quadro 3
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• Que as camadas Física, de Enlace de Dados e de Rede são processos independentes.
• Que o Host A deseja enviar dados para o Host B usando um serviço confiável baseado em conexões.
• Que o Host A já tem todos os dados a serem transmitidos e não precisa esperar que eles sejam gerados.
Pressupostos simplificadores adotados
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• Protocolo simplex (modelo)
• Protocolo simplex “stop-and-wait”
• Protocolo simplex para um canal ruidoso
O autor (Tanenbaum) propõe três protocolos que tratam progressivamente os problemas dessa camada:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• Os dados são transmitidos em apenas um sentido.
• As camadas de Rede (do transmissor e do receptor) estão sempre prontas.
• Não há danos aos quadros.
• O receptor pode absorver todos os quadros enviados.
Protocolo Simplex:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• O tempo de processamento pode ser ignorado.
• Há dois eventos: “Espera” e “Chegou quadro”.
Protocolo Simplex:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• O receptor não pode absorver todos os quadros enviados.
• Há dois eventos no transmissor: “Envia quadro” e “Espera”.
• Há três eventos no receptor: “Recebe quadro”, “Processa quadro” e “Pede quadro”.
Protocolo Simplex “stop-and-wait”:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
Protocolo Simplex “stop-and-wait”:
Tran
smis
sor
Rec
epto
r
Envia quadro 2
Envia autorização para o quadro 2
Envia quadro 1
Envia autorização para o quadro 3
Eventos:
• Envia quadro
• Espera
Eventos:
• Recebe quadro
• Processa quadro
• Pede quadro
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Enlace de Dados
• Há danos aos quadros.
• Há dois eventos no transmissor: “Pára e espera” e “Quadro a enviar”.
• Há três eventos no receptor: “Espera”, “Recebe quadro” e “Aguarda quadro”.
Protocolo Simplex para um canal ruidoso:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Tran
smis
sor
Rec
epto
r
Envia quadro 1
Envia confirmação positiva do quadro 1
Envia quadro 2
Envia confirmação negativa do quadro 2
Retransmite o quadro 2
Envia confirmação positiva do quadro 2
Perda do quadro
Protocolos de Enlace de Dados
Protocolo Simplex para um canal ruidoso:
UNIP Transmissão de Dados – Camada de Enlace de Dados
Tran
smis
sor
Rec
epto
r
Envia confirmação positiva do quadro 2
Retransmite o quadro 2
Time out do quadro 2
Envia confirmação positiva do quadro 2
Descarte do quadro 2
Protocolos de Enlace de Dados
Protocolo Simplex para um canal ruidoso:
Eventos:
• Pára e espera
• Quadro a enviar
Eventos:• Espera• Recebe quadro• Aguarda quadro
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
O protocolo de janela deslizante é um dos protocolos mais divulgados do nível de dados.
O protocolo permite acompanhar quadros enviados e as respectivas confirmações. Os dados são transmitidos por um canal não confiável do nível físico ligando ponto a ponto. Com este protocolo, o nível de dados torna-se confiável para a rede.
O protocolo de janela deslizante apresenta maior desempenho do que o protocolo simples de entrega.
Objetivo
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
No protocolo simples, após enviar um quadro, o processo fica bloqueado à espera da confirmação da entrega: se a confirmação não chegar a tempo, o quadro é reenviado.
No protocolo de janela deslizante, os processos de dados possuem uma memória tampão (``buffer'') de dimensão 2n. Cada processo mantém dois índices SentN e AckN que, respectivamente, determinam o numero do próximo quadro a enviar e o último quadro transmitido com sucesso. De início, SentN=1,AckN=0.
Quando um quadro é enviado, o transmissor dispara um temporizador. O protocolo é executado de acordo com os lados do canal:
Características
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas DeslizantesNo transmissor
• Pedido de envio de novo quadro: se a distância entre SentN e AckN for menor que a dimensão da memória tampão, o transmissor lê o pedido e:
Chama a primitiva do nível físico para enviar o quadro. Incrementa SentN. Se SentN=AckN, dispara o temporizador.
• Recepção de confirmação de entrega: o número enviado não é cumulativo (i.e., reconhece um a um). Avança AckN.
• Erro na recepção de um quadro: o transmissor volta a enviar o quadro errado, cujo numero é indicado pelo receptor.
• Fim de temporização: Chama a primitiva do nível físico para envio de todos os quadros,
desde o mais antigo não confirmado até o último enviado, Reinicia o temporizador.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas DeslizantesNo receptor
• Chegada de um quadro errado: envia pedido de reenvio do quadro.
• Chegada de um quadro correto: Se o quadro recebido for diferente do AckN (por
exemplo, porque um se perdeu ou porque houve atrasos), pára e espera. Se o quadro recebido completar uma seqüência
de entregas com sucesso desde AckN até número superior, entrega todos os dados, envia confirmação da seqüência e incrementa AckN para valor recebido.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
• A transmissão dos dados ocorre no modo “Full Duplex”.
• Os quadros de dados e de confirmações trafegam nos dois sentidos.
• A identificação se o quadro é de dados ou de confirmação fica no cabeçalho do quadro.
• Para se aumentar a performance da rede é possível retardar o envio da confirmação para acoplar um quadro de confirmação a outro de dados:
Características
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
Características
Hos
t A
Hos
t BQuadro A2 + Confirmação B1
Confirmação A2 + Quadro B2
Quadro A1
Confirmação A1 + Quadro B1
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
Quadro de confirmação acoplado ao de dados
Cabeçalho Confirmação Dados Fim (“trailer”)
Problema:Se o tempo de retardo > tempo do temporizador do transmissor, o quadro será retransmitido aumentando, desnecessariamente, o tráfego na rede.
Solução:Se tempo de retardo <= X mseg, há o acoplamento.Se tempo de retardo > X mseg, não há o acoplamento e é enviado um quadro de confirmação independente do quadro de dados.
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
• Cada quadro transmitido tem um número de seqüência.
• O transmissor tem uma lista dos quadros a enviar.
• O receptor tem uma lista dos quadros que pode receber.
• O transmissor mantém uma janela de transmissão e o receptor uma janela de recepção (não precisam ter o mesmo tamanho).
Características
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
• A janela de transmissão contém quadros enviados mas não confirmados.
• A janela de recepção contém quadros já recebidos e em processamento.
• Procedimento:
Características
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
• Procedimento: Transmitir um número finito de quadros antes de
parar e esperar pela confirmação. O transmissor possui uma janela de tamanho
variável contendo todos os quadros que pode transmitir. Cada quadro recebe uma numeração seqüencial.
Características
UNIP Transmissão de Dados – Camada de Enlace de Dados
Protocolos de Janelas Deslizantes
Uma janela deslizante de tamanho 1, com um número de seqüência de 3 bits.(a) Inicialmente.(b) Depois que o primeiro quadro é enviado.(c) Depois que o primeiro quadro é recebido.(d) Depois que a primeira confirmação é recebida.
Transmissor
Receptor
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
A comunicação ponto a ponto é utilizada, principalmente, em duas situações:
• Nas sub-redes de comunicação, compostas por roteadores e linhas privadas, de muitas organizações.
• Na comunicação usuário x provedor de acesso.
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
As funções da camada de Enlace de Dados para conexões ponto a ponto na Internet exigem protocolos específicos como, por exemplo:
SLIP – Serial Line IP
Trata da conexão de PCs à Internet.
PPP – Point to Point Protocol
É uma evolução do SLIP e tornou-se o padrão da Internet.
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
O PPP possui três recursos:
• Um método de enquadramento
• Um protocolo para ativar linhas, testá-las, transmitir e desativá-las.
• Um protocolo de comunicação com a Camada de Rede: NCP (Network Control Protocol).
PPP – Point to Point Protocol
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
Um computador pessoal doméstico que atua como um Um computador pessoal doméstico que atua como um hosthost da Internet (protocolo PPP): da Internet (protocolo PPP):
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
Formato do quadro PPP
UNIP Transmissão de Dados – Camada de Enlace de Dados
A camada de Enlace de Dados na Internet
Diagrama simplificado de fases para ativar e desativar uma linha:
NCP – Network Control Protocol
UNIP Transmissão de Dados – Camada de Enlace de Dados
Transmissão de DadosTransmissão de Dados
Modelo de Referência TCP/IPModelo de Referência TCP/IP
Camada de Enlace de DadosCamada de Enlace de Dados