Upload
juliano-veris
View
571
Download
3
Embed Size (px)
Citation preview
1
Rede de ComputadoresAula 10
SI – Sistemas de Informação – FAPANJuliano Veris
2
A CAMADA DE ENLACE DE DADOS
• A camada de enlace de dados executa diversas funções específicas. Dentre elas estão as seguintes:
–1. Fornecer uma interface de serviço bem definida a camada de rede.
–2. Lidar com erros de transmissão.
–3. Regular o fluxo de dados, de tal forma que receptores lentos não sejam atropelados por transmissores rápidos.
ENLACE DE DADOS
• Para cumprir esses objetivos:– a camada de enlace de dados recebe os pacotes
da camada de rede– encapsula em quadros para transmissão. Cada
quadro contem um cabeçalho (header) de quadro, um campo de carga útil, que conterá o pacote, e um final (trailer) de quadro
– O gerenciamento de quadros constitui o núcleo das atividades da camada de enlace de dados.
ENLACE DE DADOS
Serviços Oferecidos a Camada de Rede
• A função da camada de enlace de dados é fornecer serviços à camada de rede.
• O principal deles é transferir dados da camada de rede da máquina origem para a camada de rede da máquina destino.
• Uma entidade da camada de rede envia bits para a camada de enlace de dados a fim de que sejam transmitidos a seu destinatário.
Serviços Oferecidos a Camada de Rede
• A camada de enlace de dados pode ser projetada de modo a oferecer diversos serviços, que podem variar de sistema para sistema. Três possibilidades oferecidas com frequência.. – Serviço sem conexão e sem confirmação– Serviço sem conexão com confirmação– Serviço orientado à conexão
Serviços Oferecidos a Camada de Rede
• Serviço sem conexão e sem confirmação– consiste na situação em que a máquina origem
envia quadros independentes à máquina destino– Não é necessário que a máquina destino confirme
o recebimento desses quadros. – Nenhuma conexão é estabelecida ou liberada
durante o processo. – Se um quadro for perdido não haverá qualquer
tentativa de recuperá-lo na camada de enlace de dados.
Serviços Oferecidos a Camada de Rede
• Serviço sem conexão com confirmação– Ainda não há conexões sendo usadas, mas cada
quadro enviado é confirmado– O transmissor fica sabendo se um quadro chegou
ou não.– Caso não tenha chegado o quadro poderá ser
reenviado.
Serviços Oferecidos a Camada de Rede
• Orientado à conexão– As máquinas origem e destino estabelecem uma conexão antes de os dados serem transferidos. – Os quadros enviados durante a conexão são
numerados e a camada de enlace de dados garante que todos eles sejam realmente recebidos uma única vez e na ordem correta.
– Os serviços orientados à conexão fornecem às entidades da camada de rede o equivalente a um fluxo de bits confiável.
Enquadramento
• Para oferecer serviços à camada de rede, a camada de enlace de dados deve usar o serviço fornecido pela camada física
• A camada física aceita um fluxo de bits bruto e tenta entregá-lo no destino.
• O número de bits recebidos pode ser menor, igual ou maior do que o número de bits transmitido, e eles podem ter valores diferentes dos bits originalmente transmitidos.
• A camada de enlace de dados é responsável por detectar, e se necessário, corrigir os erros.
Enquadramento
• A camada de enlace de dados é responsável por detectar, e se necessário, corrigir os erros.– Estratégia:
• Dividir o fluxo de bits em quadros e calcular o checksum em relação à cada quadro;
• Enviar o checksum em um campo FCS (Frame Check Sequence)
• Quando um quadro chega a seu destino o checksum é recalculado
• Se for diferente do contido no quadro, a camada de enlace de dados saberá que houve um erro e tomará providencias para corrigi-lo (mesmo que simplesmente descartando-o).
Enquadramento
• Para a divisão do fluxo de bits em quadros podem ser adotados os seguintes métodos:– Contagem de caracteres;– Caracteres iniciais e finais com inserção de
caracteres (character stuffing);– Flags iniciais e finais com inserção de bits (bit
stuffing);
Enquadramento
• Contagem de caracteres– Utiliza um campo do cabeçalho para especificar o
número de caracteres do quadro.– Quando vir a contagem de caracteres, a camada de
enlace de dados do destino saberá quantos caracteres deverão ser recebidos e onde se encontra o fim do quadro.
– O problema com esse algoritmo é que a contagem pode ser adulterada por um erro de transmissão fazendo com que o destino saia de sincronia e não seja capaz de localizar o início do quadro seguinte.
Enquadramento
• Contagem de caracter
Enquadramento
• Quando se utiliza caracteres iniciais e finais com inserção de caracteres problema de ressincronização após um erro é resolvido pois cada quadro começa com uma sequência de caracteres especial e termina com outra sequência;
• Essa técnica é chamada de inserção de caracteres (character stuffing).
Enquadramento
• Orientado a bit– Dados transmitidos como uma sequência de bits– Para que o receptor reconheça o início/fim de um
quadro (frame) é utilizada uma sequência única de bits, chamada flag conforme figura a seguir
Enquadramento
• Problema: Sequência de bits igual ao flagprecisar ser transmitida no meio do quadro• Solução: usar bit de enchimento (stuffing bit)• A cada 5 bits de dados sucessivos iguais a 1
usar o stuffing bit (=0)• Exemplo de aplicação: protocolo HDLC (Host
Data Link Control)
Enquadramento
• Orientado a bit– EXEMPLO:– Flag = 01111110– (a) 0110111111111011111011111001– (b) 0110111110111101111100111110001– (c) 01111110 0110111110111101111100111110001 – 01111110– (d) 0110111110111101111100111110001– (e) 0110111111111011111011111001
Enquadramento
• (a) Mensagem a ser transmitida• (b) Mensagem com bits 0 inseridos (sublinhados)• (c) Mensagem pronta para ser transmitida no meio
físico• (com bits de enchimento e flags) • (d) Mensagem recebida sem flags, bits de
enchimento• identificados• (e) Mensagem recebida sem bits de enchimento
Controle de Erros
• Um pacote que chega com erro pode ser retransmitido ou ter seu erro corrigido (enlaces mais caros, satélite).
• Para garantir a comunicação confiável, a Camada de Enlace:– Verifica erro / solicita retransmissão– Corrige erro (enlaces mais caros)
Controle de Erros
• Toda mensagem recebida sem erros é sucedida por um pacote de confirmação de recebimento (ACK), enviada pelo receptor
• Para detectar erros que tornem a mensagem não inteligível é utilizado um temporizador para verificar se houve timeout (estouro de tempo = tempo suficiente para pacote e respectivo reconhecimento chegarem)
• Um reconhecimento negativo (NAK) acelera o processo de retransmissão
Controle de Fluxo
• Objetivo: transmissão ocorre apenas quando receptor estiver pronto. Se buffer de recepção estiver cheio, transmissor deve parar envio de quadros.
• Usa quadros especiais– RNR = receive not ready– RR = receive ready
Tipos de Serviço
• A camada de enlace se comunica em duas instâncias, com a camada de enlace do outro nó e com a camada acima (camada de rede)
• A camada de enlace fornece 2 tipos de serviço para a camada de rede:– Sem reconhecimento– Com reconhecimento
Sem Reconhecimento
• O transmissor envia pacote e não recebe pacotes de reconhecimento (ACK)
• Também conhecido com envio não confiável• O controle de erros deverá ser feito pelas camadas
superiores (camada de rede)• Para redes onde taxa de erros é muito baixa ou onde
a demora na espera pela confirmação é crítica• A demora pode ser mais crítica que a perda de
pequenas parcelas da mensagem (ex.: tráfego de voz)
Com Reconhecimento
• O transmissor envia quadro e aguarda quadro de reconhecimento (ACK) ou ocorrência de timeout.
• Utilizado no envio de pequeno volume de dados de maneira confiável, quando não compensa esperar inicio e encerramento da conexão
• A perda de quadros de reconhecimento (ACK) pode implicar no recebimento de quadros repetidos. Camada de Enlace deve possuir um mecanismo para o descarte de cópias
Controle de Acesso
• Consiste num esquema definindo como e quando cada estação deverá acessar o meio físico
• É essencial quando o meio físico é compartilhado por várias estações (Ethernet)
• Existem várias técnicas que permite controlar o acesso ao meio (Token ring, Token bus, CSMA, Polling, ...)
• Algumas técnicas de Controle de Acesso são mais adequadas a uma topologia de rede específica (ex.: anel - Token Ring)
Vídeo de Introdução aos projetos de rede
Exercícios
1. Criar um projeto de uma rede completo com 100 estações, ex: informar quantos racks, quantos patch panels, patch cord, tomadas de rede
Obs: Fazer o desenho do rack com os equipamentos
29
Bibliografia• 1. SOARES, L. F. G., LEMOS,G. e COLCHER, S.: “Redes de Computadores: das LANs, MANs e WANs às Redes
ATM”, 2ª Ed., Rio de Janeiro, Ed. Campus, 1995.
• 2. TANENBAUM, A. S.: “Redes de Computadores”, Tradução da 4ª edição, Rio de Janeiro, Ed. Campus, 2003.
• 3. MORIMOTO, C. E.: “Redes Guia prático 2ª Edição”, Porto Alegre, Sul Editores, 2011.
• 4. http://www.htbraz.com.br/tutoriais/trabalhos/tfopopovici.pdf
• 5. http://www.oficinadanet.com.br/artigo/2204/historico_das_redes_de_computadores_1960_-_1972
• 6. http://www.hardware.com.br/tutoriais/historia-redes/
• 7. http://sebsauvage.net/comprendre/p2p/index.html
• 8. http://www.ztuts.com/2012/02/how-to-share-p2p-without-programs.html• 9. http://johnycarvalho.com/tele_red.htm