Camada de Enlace
Introdução
Funções
Sub-camada
de enlace lógico (LLC)
Sub-camada
de controle de acesso ao meio (MAC)
Bridges
Os tópicos a serem examinados
podem ser encontrados nos seguintes capítulos de livros:
Computer
Networks, Tanenbaum, cap. 3 e 4
Redes de
Computadores, Soares et alii, caps. 7, 8 e 9
Outros bons livros de redes de
computadores, nos capítulos sobre camada de enlace do
protocolo OSI
1. Introdução
Dando continuidade ao estudo dos
protocolos de comunicação, passamos para a segunda das
camadas do protocolo OSI, que é, também, uma das mais
importantes para um bom desempenho da rede.
Nesse capítulo será dado
um enfoque especial em dois dos serviços prestados pela camada
de enlace, que são o controle de acesso ao meio e o controle
de enlace lógico entre as estações que estiverem
se comunicando. Esses serviços, dentro dos protocolos IEEE
802-xx, estão definidos em duas subcamadas, que são a LLC
(Logic Link Control) e a MAC (Medium Access
Control), arranjadas de modo que a subcamada MAC fica abaixo
da LLC, sendo responsável pelas diferentes formas de acesso ao
meio para as diferentes topologias existentes.
2. Funções
A função primária
da camada de enlace é fazer a conexão lógica entre as máquinas
que estiverem trocando informações. Essa tarefa implica
em alguns serviços que podem ser oferecidos às camadas
superiores que não têm, na realidade, relação
direta com o enlace das máquinas. O principal deles é a
verificação, e possível correção, de erros nos pacotes sendo transmitidos.
As principais funções são:
Definição
de como mensagens são trocadas
Definição
de quadros (framing) a serem transmitidos
Definição
de como são tratados os erros
Definição de
sincronismo entre pacotes na transmissão
Examinaremos aqui primeiro os detalhes do tratamento de erros e da definição de quadros (itens 2 a 4), para então concluir com um estudo do controle de acesso ao suporte físico (item 5).
3. Enlace lógico
3.1. Detecção de erros
A transmissão de um sinal ao
longo da rede sofre interferências por vários
motivos. Independentemente do motivo, essas interferências
podem fazer com que valores transmitidos cheguem trocados em seu
destino. É preciso, portanto, uma técnica que determine
se a mensagem recebida possui ou não erros para que o
receptor da mesma possa tratá-la convenientemente. As formas
de se fazer isso são:
Bits de
paridade e paridade transversal
Códigos de Redundância
Cíclica (CRC)
Em paralelo à detecção
de erros existem formas de recuperar erros que não sejam de
grandes proporções, tal como é feito usando-se o Código de Hamming.
3.2. Sincronismo de mensagens
Um problema comum em qualquer processo
de comunicação é identificar quem e quando cada
processo "fala". Esse problema é agravado na
comunicação entre duas máquinas, pois podem
ocorrer erros na transmissão dos bits que compõe os
dados. Esses erros implicam na necessidade da máquina que
transmite ter conhecimento sobre o sucesso ou não da
transmissão para que possa dar continuidade ao processo de
comunicação. Isso pode ser feito através de
vários protocolos distintos de controle de fluxo, entre os
quais temos:
Stop-and-wait
Sliding
window (janela deslizante)
4. Controle de acesso ao meio
Até agora examinamos a
transmissão de mensagens de forma não concorrente, isso
é, uma máquina usa o suporte físico sem ter que
disputá-lo com outras máquinas. Isso, no entanto, é
completamente irreal (e ineficiente ou muito caro, dependendo da
topologia usada). A prática é fazer com que o
suporte físico seja usado de modo concorrente, com técnicas
para controle de seu acesso dependendo da topologia usada na rede.
Examinaremos aqui apenas protocolos para redes em barramento, anel e sem-fio,
deixando as demais topologias entendidas como casos particulares
dessas, que podem ser resolvidos pelas mesmas técnicas ou
por técnicas de roteamento.
Redes em
barramento
Aloha
Família
CSMA
Token
bus
Redes em
anel
Token
Slotted
Redes sem-fio
MACAW
5. Bridges
Para concluir esse capítulo é
preciso que se fale em dispositivos que permitem a interconexão
de redes. Aqui, em particular, falaremos de um dispositivo chamado
bridge, que nada mais é do que um conversor de
protocolos que permite que os endereços de máquinas
tratados possam ser de redes vizinhas, bastando que esses endereços
sejam conhecidos pela bridge (e não por todas as
máquinas da rede. O uso de bridges permite também
a conversão de protocolos, permitindo que uma máquina
localizada em uma rede em anel "converse" com outra
localizada numa rede em barramento.
Um cuidado especial com o uso de bridges
é evitar a formação de laços na conexão
entre sub-redes. Na realidade é impossível evitar a
formação física de tais laços, uma vez
que não temos como controlar quais redes estarão
conectadas a quais outras redes. O que se faz é evitar a
formação lógica desses laços, com a aplicação de algoritmos de árvores geradoras
(spanning tree).
|