220 likes | 365 Views
Protocolos da Camada de Enlace de Dados. Aluna : Michelle Foltran Miranda. 3.3 Protocolos Elementares de Enlace de Dados. Máquina A -> B: Suposição: Camada de dados de A solicita dados, a de rede obedece imediatamente; Pacote com dados enviado: Camada de rede -> Camada de Enlace;
E N D
Protocolos da Camada de Enlace de Dados Aluna : Michelle Foltran Miranda
3.3 Protocolos Elementares de Enlace de Dados • Máquina A -> B: • Suposição: • Camada de dados de A solicita dados, a de rede obedece imediatamente; • Pacote com dados enviado: Camada de rede -> Camada de Enlace; • Camada de Enlace de dados: Encapsulamento (pacote+cabeçalho+trailer). • Frame é transmitido para outra camada de enlace de dados. • Procedimentos: • to_physical_layer e from_physical layer: enviar e receber um frame; • wait_for_event(&envent): indicar a espera de eventos;
3.3 Protocolos Elementares de Enlace de Dados • Chegada de um frame: checksum. • Soma incorreta: event = checksum_err; • Soma correta: • event = frame_arrival; • Pacote: passado da Camada de Enlace para a de Rede. • Frame: composto por 4 campos: • kind, seq, ack: informações de controle (cabeçalho do frame) • info: dados a serem transferidos.
3.3 Protocolos Elementares de Enlace de Dados Protocol.h: Definições usadas nos protocolos a seguir
3.3.1 Um Protocolo Simplex sem Restrições • Tráfego unidirecional; • Canal de comunicação nunca perde frames; • Protocolo “Utopia”: • 2 procedimentos principais: • A envia dados (transmissor); • B recebe dados (receptor); • Não há: seq ou ack; • Evento possível: frame_arrival;
3.3.2 Um Protocolo Stop-and-Wait Simplex • Tráfego simplex; • Canal não apresenta erros; • Receptor: • Não há buffer infinito para armazenar frames; • Principal problema: • Impedir transmissor de sobrecarregar receptor; • Solução: receptor envia feedback ao transmissor. • Transmissor: • Envia frame; • Aguarda confirmação;
3.3.3 Um Protocolo Simplex para Canal com Ruído • Frames: danificados ou perdidos; • Checksum: detecta erro; • Problema de Dados Duplicados; • Receptor distingue frame já enviado: • Transmissor: insere número de seqüência; • Frame com seqüência errada é rejeitado (cópia). • Protocolos ARQ: Transmissor espera confirmação positiva antes de passar para próximo item de informação.
3.4 Protocolos de Janela Deslizante • Tráfego Full Duplex; • Frames de dados e confirmações são misturados: • Campo kind para identificação. • Piggybacking: retardar a confirmação (ack) e enviá-la com próximo frame de dados. • Vantagem: melhor utilização da largura de banda. • Desvantagem: tempo de espera da camada de enlace (ms).
3.4 Protocolos de Janela Deslizante • 3 Protocolos de Janela Deslizante: • Divergem na eficiência, complexidade e requisitos de buffer. • Transmissor: • Janela de transmissão com frames a serem enviados; • Números de seqüência: frames enviados, mas não confirmados; • Armazenar frames não-confirmados: n buffers (tamanho n da janela). • Receptor: • Janela de recepção com frames apto a receber; • Frames que caírem fora da janela são descartados.
3.4.1 Um Protocolo de Janela Deslizante de 1 bit • Tamanho máximo de janela = 1; • Stop-and-wait: • Transmissor envia frame; • Aguarda confirmação; • Máquina A ->B: • Máquina A: • Pacote da camada de rede, • Construir e enviar frame. • Máquina B: • Camada de enlace de dados verifica se ele é uma cópia. • Se for o esperado, passará para a camada de rede • Janela do receptor: deslocada para cima.
3.4.2 Um Protocolo que Utiliza Go-back-n • Ida e volta da informação: problemas na eficiência do uso da largura de banda. • Solução pipelinning: • Transmissor: • Enviar até w frames antes de haver bloqueio. • Tamanho máximo da janela: w • Frames não-confirmados: pendência. • Problema: erros na presença de pipelinning
3.4.2 Um Protocolo que Utiliza Go-back-n • Duas Estratégias contra erros: • Go-back-n: • Descarta frames subseqüentes; • Não envia confirmação de frames descartados; • Janela do receptor: tamanho 1; • Taxa de erro alta: muita largura de banda • Retransmissão seletiva: • Camada de enlace receptora: armazena frames corretos após defeituoso; • Transmissor: retransmite apenas frame defeituoso; • Janela receptor: maior que 1; • Janela muito grande: muita memória da camada de enlace.
3.4.2 Um Protocolo que Utiliza Go-back-n • Camada de rede: sem infinitos pacotes para envio. • Quando há pacote: • Evento: network_layer_ready. • Camada de enlace de dados: • enable_network_layer e disable_network_layer.
3.4.3 Um Protocolo que Utiliza Retransmissão Seletiva • Protocolo Go-back-n: para poucos erros. • Estratégia: • Receptor: frames após outro danificado são inseridos no buffer. • Tamanho da janela do transmissor: varia de 0 – MAX_SEQ; • Tamanho da janela do receptor: fixo MAX_SEQ.
3.4.3 Um Protocolo que Utiliza Retransmissão Seletiva • Procedimento: • Frame chega: número de seqüência é verificado para confirmar se corresponde ao interior da janela. • Se ainda não tiver sido recebido, será aceito e armazenado. • Frame: mantido na camada de enlace e não deve ser passado para a camada de rede até que todos os frames de números anteriores tenham sido entregues na ordem correta.
3.4.3 Um Protocolo que Utiliza Retransmissão Seletiva • Estratégia mais eficiente para tratamento de erros: • Receptor: envia frame de confirmação negativo NAK (pedido de retransmissão). • 2 casos para NAK: • Chegada de um quadro danificado; • Chegada de um quadro diferente do esperado; • Para evitar vários NAK’s de um mesmo frame: • Receptor: controla NAK para o frame.