Camada de Enlace Flashcards
(53 cards)
Qual a principal responsabilidade da camada de enlace?
Garantir uma comunicação confiável e eficiente entre dois computadores adjacentes (Adjacente significa que dois computadores estão fisicamente ligados por um canal de comunicação FIFO (first-in-first-out), ou seja, que preserva a ordem que os bits foram enviados)
Cite três características que tornam os protocolos da camada de enlace diferentes dos protocolos das camadas inferiores.
- Canais podem introduzir erros
- Permitem uma taxa máxima de transferência
- Possuem um tempo de propagação diferente de zero
Dê três exemplos de questões de projeto relacionadas à camada de enlace.
- Serviços oferecidos para a camada de rede
- Formas de agrupar os bits da camada física em quadros
- Tratamento de erros de transmissão
- Controle de fluxo
Quais são os três principais tipos de serviço que a camada de enlace oferece para a camada de rede?
- Sem conexão não confirmado
- Sem conexão confirmado
- Com conexão confirmado
Como funciona um serviço sem conexão não confirmado? Quando deve usar esse tipo de serviço?
- Conexão não é estabelecida a priori
- Quadros independentes são enviados da origem para o destino que não envia nenhuma confirmação de volta
- Quadros perdidos são ignorados e tratados pelas camadas superiores
Esse serviço é adequado para situações em que a taxa de erro é baixa e/ou é necessário tráfego em tempo real.
Como funciona um serviço sem conexão confirmado? Quando deve usar esse tipo de serviço?
- Conexão não é estabelecida a priori
- Quadros enviados pela origem são confirmados pelo destino
- Origem usa um mecanismo de temporização para reenviar quadros não confirmados
Serviço apropriado para canais não confiáveis como comunicação sem fio
Como funciona um serviço com conexão confirmado?
- É necessário estabelecer uma conexão antes de transferir dados
- Quadros são recebidos corretamente
- Camada de enlace pode entregar os quadros em ordem para a camada de rede
- O serviço oferecido para a camada de rede é de uma seqüência de bits corretos
Quais são as três fases envolvidas em um serviço com conexão confirmado?
- Estabelecimento da conexão
- Transferência de dados
- Término da conexão
No que consiste o problema de Framing? Qual camada é responsável por resolvê-lo?
Framing consiste em delimitar corretamente os quadros. É responsabilidade da camada de enlace.
Dê três exemplos de soluções para o problema de Framing.
- Inserir intervalos de tempo entre transmissões de quadro
- Fazer contagem de caracteres
- Inserir caracteres de início e fim de quadro com preenchimento (stuffing) de caracteres
- Inserir flags (seqüências especiais de bits) de início e fim de quadro com preenchimento de bits
- Usar violações de código da camada física
Como funciona a contagem de caracteres no contexto de Framing? Qual é seu maior problema ?
- Usa um campo no cabeçalho para especificar o número de caracteres no quadro
- Problema: erro nesse campo faz com que o receptor perca a sincronização
Como funciona a técnica de caracteres de início e fim de quadro no contexto de Framing? Onde é geralmente usado?
- Quadro é delimitado por caracteres especiais: DLE STX e DLE ETX
- Um DLE no meio de um quadro é prefixado por outro DLE (character stuffing) para distinguir do fim de quadro
- Método usado em protocolos orientados a caracteres
Como funciona a técnica de flags de início e fim de quadro no contexto de Framing?
- Quadros são delimitados por uma seqüência especial de bits (flag) que possui o padrão 01111110.
- Bits são transmitidos de forma transparente:
- TX ao encontrar cinco bits 1 consecutivos insere um bit 0
- RX ao receber cinco bits 1 seguido de um bit 0 remove o bit 0
- Processo conhecido como bit stuffing
Como funciona a técnica de violações de código da camada física no contexto de Framing?
- Método é baseado numa característica da camada inferior
- Existem códigos de transmissão que possuem uma transição no meio do período de transmissão de um bit
- O início e fim de quadro são determinados por um código de transmissão inválido
é usado no padrão IEEE 802
Qual é o principal objetivo do Controle de erro na camada de enlace?
Entregar em ordem e sem repetição os dados recebidos da camada física para a camada de rede
Dê três exemplos de mecanismos utilizados pelo Controle de erro.
- Confirmação positiva e negativa de quadros pelo destinatário
- Temporização de quadros enviados pela origem
- Número de seqüência de quadros
- Retransmissão de quadros um número finito de vezes
Qual é o principal objetivo do Controle de fluxo na camada de enlace?
Evitar que TX envie mais quadros que a capacidade de processamento de RX. Para isso, geralmente usa-se algum mecanismo de realimentação para que o TX saiba sobre o estado do RX.
Normalmente existem regras que usam um mecanismo explícito ou implícito para fazer o controle de fluxo
O que é e como funciona a confirmação na carona (Piggybacking) ?
Seja o seguinte protocolo ponto-a-ponto entre entidades A e B:
- Usa confirmação
- A transmissão de dados é full-duplex
É possível embutir numa PDU de dados enviada de B para A a confirmação de uma PDU de dados enviada de A para B já recebida (o mesmo para o caso
contrário) .Isto é conhecido como confirmação na carona ou Piggybacking
Dê duas vantagens e uma desvantagem da confirmação na carona.
Vantagens:
- Melhor utilização do canal
- Utiliza apenas alguns bits ao contrário de uma PDU de controle
- Menos PDUs a processar
- Possivelmente menos buffers no RX
Desvantagem:
- Cria-se um novo problema: Se não há uma PDU para ser enviada de B para A, quanto tempo deve-se esperar para confirmar uma PDU já enviada e recebida de A para B?
O que é e como funciona a janela deslizante ?
- Cada PDU tem um campo de número de seqüência de n bits
- O transmissor mantém um conjunto de números de seqüência que pode enviar, conhecido como janela de transmissão (sending window)
- O receptor mantém um conjunto de números de seqüência que pode receber, conhecido como janela de recepção (receiving window)
- Números dentro da janela de transmissão representam PDUs enviadas mas não confirmadas, ou não transmitidas ainda
Os tamanhos das janelas de transmissão e recepção não precisam ser os mesmos
Cite três pontos de atenção ao se construir um protocolo de janela deslizante.
- PDUs transmitidas e não confirmadas devem ser mantidas em buffers
- Deve haver um temporizador associado a PDU transmitida a mais tempo
- Números dentro da janela de recepção representam PDUs que podem ser aceitas
Como ocorre a confirmação de recebimento em um protocolo de janela deslizante?
PDUs aceitas são confirmadas na carona de uma PDU de dados (piggybacking) ou por uma PDU de controle
No contexto de protocolos da camada de enlace, que tipo de problema é resolvido utilizando-se pipelining?
Quando um fator externo (como o tempo de propagação) torna inviável enviar os quadros e esperar a confirmação de maneira individual. Pipelining permite, então, o envio de vários quadros em sequência e a retransmissão dos que forem necessários.
Qual a principal questão a ser resolvida ao se usar pipelining no contexto de protocolos da camada de enlace? Cite duas soluções para esse problema.
Imagine que um quadro com erro no meio de uma seqüência deve ser ignorado ao chegar no RX. O que o RX deve fazer com os quadros corretos restantes?
Duas soluções básicas são retransmitir a partir do quadro errado (go back n) e repetir seletivamente (selective repeat).