Redes de Computadores Camada de enlace Tecnicas de

  • Slides: 27
Download presentation
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

Aula de Hoje • • • Camada de enlace Técnicas de correção e detecção

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

Camada de enlace O Problema da Camada Física A camada física possui muitos problemas,

Camada de enlace O 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.

Camada de enlace Camada de Enlace de Dados A Camada de enlace é a

Camada de enlace 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 • Ela é implementada no "adaptador" (ou Placa de interface de

Camada de enlace • Ela é implementada no "adaptador" (ou Placa de interface de rede, NIC), podendo ser uma placa Ethernet, uma placa wi-fi padrão IEEE 802. 11 a, 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 Algumas das funções da camada de enlace são: • Gerar uma

Camada de enlace Algumas 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).

Camada de enlace Delimitação de Quadros Os quadros são definidos por vários métodos de

Camada de enlace Delimitaçã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);

Técnicas de detecção de erros Técnicas de correção e detecção de erros Como dito

Técnicas de detecção de erros Té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.

Técnicas de detecção de erros FCS - Frame Check Sequence - Frequência de checagem

Técnicas de detecção de erros FCS - 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.

Técnicas de detecção de erros Bit de Paridade Consiste na inserção de um bit

Técnicas de detecção de erros Bit 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.

Técnicas de detecção de erros CRC (código de Redundância Cíclica) Consiste em um quadro

Técnicas de detecção de erros CRC (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 gerado 1 x^7 + 1 X^6 + 1 x^5 + 0 x^4 + 0 x^3 + 0 x^2 + 1 x^1 + 0 x^0 polinômio final x^7 + x^6 + x^5 + x^1

Técnicas de detecção de erros Transmissor - Divide o polinômio P de ordem b-1

Técnicas de detecção de erros Transmissor - 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 R 1 (resto da divisão). O transmissor envia os bits originais(quadro) e o polinômio R 1 (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 R 2, que é comparado com o R 1 recebido. O erro é detectado quando R 2 difere de R 1. 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.

Técnicas de correção de erros Correção de Erros Basicamente, a correção de erros é

Técnicas de correção de erros Correçã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ão O 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 quadros Os 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.

Técnicas de correção de erros Algorítmos de correção de erros Algoritmo de Bit Alternado

Técnicas de correção de erros Algorítmos de correção de erros Algoritmo de Bit Alternado Transmissor 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.

Técnicas de correção de erros Algoritmo de Janela Deslizante Permite o transmissor enviar diversos

Técnicas de correção de erros Algoritmo 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.

Técnicas de correção de erros Essa retransmissão pode ser: Integral: Retransmite todos os quadros

Técnicas de correção de erros Essa 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.

Serviços da camada de Enlace Serviços Oferecidos pela camada de Enlace Serviço sem conexão

Serviços da camada de Enlace Serviços Oferecidos pela camada de Enlace Serviço sem conexão e sem confirmação Neste 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.

Serviços da camada de Enlace Serviço sem conexão com Confirmação Não utiliza conexões lógicas

Serviços da camada de Enlace Serviç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ão Realiza 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

Protocolos de Acesso Múltiplo Protocolos de acesso múltiplo São algoritmos que determinam como os

Protocolos de Acesso Múltiplo Protocolos 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.

Protocolos de Acesso Múltiplo Divisão no canal O canal é dividido em partes menores

Protocolos de Acesso Múltiplo Divisã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.

Protocolos de Acesso Múltiplo Acesso múltiplo por Divisão de Código - CDMA: Codifica os

Protocolos de Acesso Múltiplo Acesso 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.

Protocolos da camada de enlace Acesso Aleatório Quando o canal não é dividido, os

Protocolos da camada de enlace Acesso 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.

Protocolos da camada de enlace Estes algoritmos podem ser: ALOHA: Permite que os usuários

Protocolos da camada de enlace Estes 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.

Protocolos da camada de enlace O CSMA pode ser: Persistente: Escuta o canal e,

Protocolos da camada de enlace O 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.

Protocolos da camada de enlace Revezamento Neste método os hosts se alternam em revezamento,

Protocolos da camada de enlace Revezamento 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.

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

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.

Fim

Fim