27
Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Embed Size (px)

Citation preview

Page 1: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Redes de Computadores

Camada de enlaceTecnicas de correção de erros e serviços

Page 2: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Aula de Hoje

• Camada de enlace• Técnicas de correção e detecção de erros• Protocolos da camada de enlace• serviços da camada de enlace.• Protocolos de acesso múltiplo

Page 3: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Camada de enlaceO Problema da Camada Física

A camada física possui muitos problemas, pois os circuitos de comunicação produzem erros ocasionais, além das taxas de dados finitas e do retardo de propagação maior do que zero, do momento que o bit é enviado ao momento que é entregue. Estas limitações influenciam na eficiência na transmissão de dados, então os protocolos acima da camada física devem levar esses fatores em consideração.

Page 4: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Camada de Enlace de Dados

A Camada de enlace é a camada 2 do modelo OSI, sendo comprimida juntamente com a camada física no modelo TCP/IP na camada Host/Redes. Ela é responsável por receber os pacotes da camada de rede e os encapsula em quadros para transmissão. Cada quadro contém um cabeçalho, um campo de carga útil, onde fica o pacote IP) e um final de quadro.

Camada de enlace

Page 5: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

• Ela é implementada no "adaptador" (ou Placa de interface de rede, NIC), podendo ser uma placa Ethernet, uma placa wi-fi padrão IEEE 802.11a, etc.

• Esta conecta aos barramentos do sistema hospedeiro transmitindo e recebendo as requisições do usuário.

• A camada é uma combinação de hardware, software e firmware (da placa).

Camada de enlace

Page 6: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Camada de enlaceAlgumas das funções da camada de enlace são:

• Gerar uma Cadeia de bits deve ser organizada em conjuntos de bits denominados quadros (frame);

• Detectar e, opcionalmente, corrigir os erros que por ventura ocorram no nível físico. Esta detecção de erros é feita acrescentando-se uma sequência de bits adicionais (FCS - Frame Check Sequence). A correção de erros é feita a través do uso de bits de redundância, útil em enlaces onde o retardo de transferência são elevados.

A camada de enlace tem como principais funções:• Delimitar os quadros, definindo e reconhecendo os limites dos quadros;• Efetuar o controle de erros e, opcionalmente, corrigir os erros;• Controle de fluxo, compatibilizando a velocidade do transmissor e do receptor.• Controle de acesso, gerenciando o acesso ao meio de transmissão.• Fornecer serviços a Camada de Rede (conexão sem e com confirmação e serviço

orientado a conexão).

Page 7: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Camada de enlaceDelimitação de Quadros

Os quadros são definidos por vários métodos de enquadramento, como:• Contagem de caracteres - os limites são dados em relação a um intervalo de

bits pré-definidos);

• Bytes de Flags - Usa caracteres especiais (flags) que indicam o início e o fim do quadro (atualmente usa-se o mesmo flag);

Page 8: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de detecção de errosTécnicas de correção e detecção de erros

Como dito anteriormente, os meios de transmissão estão susceptíveis a erros ocasionais, uma das funções da camada de enlace é justamente a prevenção, detecção e correção de erros.

A detecção de erros é baseada na inserção de bits adicionais (bits de redundância) na informação transmitida.

Bits de redundância

O Transmissor - Calcula os bits adicionais através de um algorítmo que tem como entrada os bits originais. Então envia os bits originais e os bits adicionais.O Receptor - Recalcula os bits adicionais e os bits originais recebidos utilizando o mesmo algoritmo, comparando-os.

Se os bits forem diferentes, detectou-se a presença de erro.

Page 9: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de detecção de errosFCS - Frame Check Sequence - Frequência de checagem de quadro.

O transmissor calcula e inclui um FCS no quadro que será enviado, podendo ser um bit de paridade ou um código de redundância cíclica (Cyclic Redundancy Check CRC). Ao receber o quadro, o receptor calcula o FCS e o compara com o FCS enviado pelo transmissor. Se iguais, a transmissão foi feita com sucesso, senão, houve um erro e o quadro recebido com erro é descartado.

Page 10: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de detecção de errosBit de Paridade

Consiste na inserção de um bit que informa se a quantidade de bits 1 é par ou impar (0 para par e 1 para impar) chamado de bit de paridade ao final de cada caractere de um quadro.Ex:11100001 - 4 bits 1, 4 é par, então ficará 111000010;11110010 - 5 bits 1, 5 é impar, então ficará 111100101;

O problema é que se acontecer erro em mais de um bit o sistema fica falho.

Page 11: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de detecção de errosCRC (código de Redundância Cíclica)

Consiste em um quadro de b bits representado por um polinômio P em X de ordem b-1.Ex: Quadro com 8 bits, polinômio de ordem 7.

11100010

polinômio gerado1x^7 + 1X^6 + 1x^5 + 0x^4 + 0x^3 + 0x^2 + 1x^1 + 0x^0

polinômio finalx^7 + x^6 + x^5 + x^1

Page 12: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de detecção de errosTransmissor - Divide o polinômio P de ordem b-1 por um outro polinômio G (gerador) de ordem n. O resultado é um terceiro polinômio R1 (resto da divisão). O transmissor envia os bits originais(quadro) e o polinômio R1 (FCS - Frame Check Sequence);

Receptor – Gera o polinômio a partir dos bits da mensagem recebida e divide pelo mesmo polinômio gerador utilizado pelo transmissor, o que resulta em um polinômio resto R2, que é comparado com o R1 recebido. O erro é detectado quando R2 difere de R1.

Os polinômios geradores padronizados são:CRC-12: X^12 + X^11 + X^3 + X^2 + X + 1 - FCS de 12 bits;CRC-16: X^16 + X^15 + X^2 + 1 - FCS 16 bits, usado na Europa.CRC-CCITT: X^16 + X^12 + X^5 + 1 - FCS 16 bits, usado nos EUA.CRC-32: X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 + X^8 + X^7 + X^5 + X^4 + X^2 + X + 1 - FCS de 32 bits - Escolhido pelo IEEE 802 para ser utilizado em redes locais padrão ethernet.

Page 13: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de correção de errosCorreção de Erros

Basicamente, a correção de erros é efetuada com a retransmissão dos quadros defeituosos. Tem como Objetivo garantir transmissões confiáveis. Possui mensagens de reconhecimento e quadros que podem ser:

Positivo: Indica que o quadro chegou corretamente.Negativo: Indica que o quadro chegou com erro e deve ser reenviado.

Temporizadores de retransmissãoO transmissor utiliza um intervalo de tempo para que o reconhecimento do quadro chegue de volta ao transmissor, evitando que este fique parado indefinidamente.

Numeração dos quadrosOs quadros podem ser transmitidos mais de uma vez, esta numeração distingue os quadros originais das cópias retransmitidas.

O reconhecimento enviado ao transmissor pode ser um quadro de controle ou ir de carona em um campo de controle de um quadro de dados enviado pelo receptor.

Page 14: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de correção de errosAlgorítmos de correção de erros

Algoritmo de Bit AlternadoTransmissor só envia um novo quadro após receber

reconhecimento positivo do quadro anterior. O quadro é retransmitido após um limite de tempo. Como o transmissor só envia um novo quadro depois do reconhecimento do ultimo, basta 1 bit para diferencia quadros sucessivos: 1º bit 0, 2º bit 1, 3º bit 0, 4º bit 1, etc.

Esta é uma solução simples, porém ineficiente, pois esta espera por reconhecimento mantém o canal de comunicação ocupado e sem uso.

Page 15: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de correção de errosAlgoritmo de Janela Deslizante

Permite o transmissor enviar diversos quadros sem receber o reconhecimento dos quadros anteriores, uma janela de transmissão é um número máximo de quadros, devidamente numerados, que podem ser enviados sem receber reconhecimento. Caso haja o estouro de um limite de tempo há um erro na transmissão. Através deste algoritmo o receptor envia um reconhecimento cumulativo do quadro N que indica que os quadros anteriores foram corretamente recebidos. Aumenta a eficiência de utilização dos canais de transmissão.

Page 16: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Técnicas de correção de errosEssa retransmissão pode ser:Integral: Retransmite todos os quadros da janela ,caso algum apresente erro, a partir do quadro que apresentou um erro. O problema é que vários quadros enviados corretamente deverão ser retransmitidos.

Seletiva: Apenas os quadros os quais não houve resposta serão retransmitidos, o problema é que há uma complexidade maior para manter os quadros na ordem sendo retransmitidos fora de ordem.

Page 17: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Serviços da camada de EnlaceServiços Oferecidos pela camada de Enlace

Serviço sem conexão e sem confirmaçãoNeste serviço a máquina envia quadros independentes ao

destino, sem que o destino confirme o recebimento dos quadros. Nenhuma conexão lógica é estabelecida e não haverá tentativa de recuperação do quadro caso este tenha sido perdido (correção de erros).

Este serviço é apropriado onde a taxa de erros é muito baixa e a recuperação fica a cargo das camadas superiores. Também é utilizado para tráfego em tempo real. É bastante utilizado nas LANs.

Page 18: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Serviços da camada de EnlaceServiço sem conexão com Confirmação

Não utiliza conexões lógicas e os quadros deverão ser individualmente confirmados. É utilizado quando um pequeno volume de dados deve ser transmitido de forma confiável. Este serviço economiza o tempo de estabelecimento e encerramento de uma conexão.Este serviço é útil em canais não-confiáveis, como sistemas sem fio. Utiliza o Algoritmo de Bit Alternado para correção e detecção de erros.

Serviço orientado a conexãoRealiza o estabelecimento de conexão antes dos dados serem

transferidos. Cada quadro enviado pela conexão é numerado, garantido a entrega sem erros, sem replicação e em sequência. Fornece aos processos da camada de rede o equivalente a um fluxo de bits confiável. Utiliza o Algoritmo de janela deslizante para transmissão dos quadros

Page 19: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos de Acesso MúltiploProtocolos de acesso múltiplo

São algoritmos que determinam como os nós na rede compartilham os canais e como são distribuídas as mensagens por difusão (broadcast), ou seja, define quando um host ou equipamento pode utilizar o meio para efetuar a transmissão.

Estes algoritmos definem as regras para que haja a comunicação, determinando quando e quais hosts podem ser acessados em um enlace com múltiplos acessos ao meio (Topologia barramento). Neste ambiente existe o problema da colisão, no qual o canal ou meio é utilizado ao mesmo tempo para a transmissão de dois sinais distintos, o que ocorrerá na perda de ambos os sinais. Os protocolos de acessos múltiplos tem como finalidade minimizar este tipo de problema, coordenando o acesso ao meio para que as colisões não ocorram com tanta frequência. Estes são divididos em três classes:

• Divisão do canal;• Acesso aleatório;• Revezamento.

Page 20: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos de Acesso MúltiploDivisão no canal

O canal é dividido em partes menores (partes de tempo, banda passante ou codificação do sinal), onde um canal é dedicado a um host para uso exclusivo deste. O problema é que há a perda de velocidade pois o canal ficaria ocupado.Este protocolo pode utilizar:

Multiplexação por Divisão de Tempo - TDM: Compartilham o tempo de transmissão, dedicando uma quantidade N de partes de tempo, onde N é o número de computadores. Cada intervalo de tempo é utilizado por um host para a transmissão dos dados como um canal de comunicação por compartilhamento de tempo.

Page 21: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos de Acesso MúltiploAcesso múltiplo por Divisão de Código - CDMA: Codifica os dados com um código diferente associado a cada canal e usa as propriedades físicas do meio para executar a multiplexação. Como cada mensagem está codificada diferentemente, apenas os hosts destinos entenderão a mensagem origem.

Uma breve analogia com a fala humana

• TDM - Cada uma pessoa fala na sua vez, esperando o outro acabar de falar.• FDM - Grupos separados usam meios de comunicação diferentes (fala, texto,

libras, etc.) de forma que uma conversa não interfira na outra.• CDMA - Todo mundo fala junto, porém cada um utiliza um idioma distinto,

onde apenas aqueles que entendem o idioma poderão receber a mensagem.

Page 22: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos da camada de enlaceAcesso Aleatório

Quando o canal não é dividido, os hosts recuperam-se das colisões através de algoritmos que implementam a detecção de colisões, uma das vantagens de se utilizar este processo é o ganho de velocidade.

Page 23: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos da camada de enlaceEstes algoritmos podem ser:

ALOHA: Permite que os usuários transmitam sempre que precisarem. Naturalmente, haverá colisões, para contornar isto, o transmissor escuta o feedback (ACK) de uma mensagem na saída do canal para saber se o quadro foi destruído ou não. Caso haja colisão, o transmissor reenvia o quadro perdido.

CSMA (Carrier Sense Multiple Access): Utiliza o princípio de operação de escuta do canal (detecção da onda portadora) antes de transmitir os quadros no meio. Caso haja uma transmissão sendo executada, o host irá esperar um tempo e escutar denovo para verificar se o canal está livre ou não. Estando livre, a transmissão é realizada. Uma característica importante é que se um transmissor enviar um quadro ao mesmo tempo que outro transmissor, o CSMA irá parar a transmissão até que algum protocolo determine quem deve transmitir primeiro.

Page 24: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos da camada de enlaceO CSMA pode ser:Persistente: Escuta o canal e, assim que estiver livre, transmite a informação. Caso ocorra colisão, o host espera um período de tempo aleatório e volta a escutar o meio para tentar efetuar novamente a transmissão.Não Persistente: Não escuta o canal, só tenta efetuar a transmissão. Caso haja colisão, o host irá esperar um período de tempo aleatório para tentar novamente.

Carrier Sense Multiple Access with Collision Detection - CSMA/CD: Adotado pelo padrão Ethernet IEEE 802.3. É amplamente utilizado nas subcamadas MAC de LANs. Efetua a detecção de colisões gerenciando as disputas pelo acesso ao meio. Quando um transmissor emite um quadro por um meio, ele continua escutando a rede para ser certificar que nenhum outro nó irá utilizar o meio ("ouvir enquanto fala"). Caso ocorra uma colisão, todas a transmissão é interrompida e retornada em um intervalo de tempo aleatório, com o intuito de evitar colisões sucessivas.

Page 25: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Protocolos da camada de enlaceRevezamento

Neste método os hosts se alternam em revezamento, onde o meio é utilizado por um período de tempo diferente para cada transmissor relativo ao tamanho do quadro a ser transmitido.

Pode ser do tipo:Pooling: Consiste em uma central que inspeciona os nós de maneira circular por a necessidade de transmissão, pois possui um nó central (mestre), que elimina as colisões e os intervalos vazios, e permite trabalhar com uma quantidade máxima de quadros. Possui um atraso na escolha, pois perde-se tempo para analisar quem vai utilizar o meio para transmitir.

Slots: Neste método um slot passa por cada nó, verificando o meio. Utilizada na topologia anel, é simplesmente a divisão do espaço em pequenos segmentos(slots) onde se insere um bit de referência para saber se o meio está ocupado ou não (bit 1 para ocupado, bit 0 para desocupado). Caso exista um nó com um slot marcando ocupado, outro transmissor não utilizará o meio.

Page 26: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Bibliografia• TANENBAUM, Andrew S. Redes de Computadores. 4ª Ed. Rio de

Janeiro: Campus, 2003.

• Soares, Luiz Fernando; COLCHER, Sérgio e SOUZA, Guido Lemos. Redes de Computadores: Das LANs, MANs e WANs às redes ATM. Campus, 5ª Ed.

• COMER, Douglas. Interligação de redes com TCP/IP, Vol 1. 5ª Ed. Rio de Janeiro: Elsevier 2006.

Page 27: Redes de Computadores Camada de enlace Tecnicas de correção de erros e serviços

Fim