|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
www.fabriciobreve.com
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nível
de Enlace Cabe ao
nível físico transportar bits do transmissor para o receptor. Durante a transmissão os bits podem sofrer
alterações indesejáveis provocadas por uma série de razões: ruído
eletromagnético, perda de sincronismo entre o transmissor e o receptor,
defeitos nos componentes que implementam os circuitos
de transmissão e recepção etc. É
função do nível de enlace detectar e, opcionalmente, corrigir os erros que por
ventura ocorram no nível físico. Para
executar essa função a cadeia de bits enviada ao nível de enlace é organizada
em conjuntos de bits denominados quadros. Na montagem dós quadros, o nível de
enlace acrescenta uma seqüência de bits adicionais denominados Frame Check Sequence (FCS), cuja função é permitir a detecção de
erros. Os bits adicionais são computados
através de um algoritmo (teste de redundância cíclica, paridade etc.) que
recebe como entrada os bits do quadro e fornece como resultado o FCS. Quando o quadro é recebido pelo destinatário
o FCS é recomputado e comparado ao FCS recebido no
quadro; se forem diferentes, o nível de enlace conclui que ocorreu um erro
durante a transmissão. Uma vez detectado
o erro, o quadro é descartado e opcionalmente é enviado um aviso ao sistema que
o transmitiu. Alternativamente
o nível de enlace pode utilizar bits de redundância que lhe permitam não só
detectar erros, mas também corrigi-los, sem a necessidade de
retransmissão. A correção de erros @m
retransmissão é particularmente útil em enlaces onde o custo de comunicação e o
retardo de transferência são elevados, como por exemplo, em enlaces de
satélites. 7.1 -
Principais Funções do Nível de Enlace A
delimitação de quadros e o controle de erros são as principais funções do nível
de enlace. Outra função normalmente realizada nesse nível é o controle do fluxo
de transmissão no enlace. Nesta seção
mostraremos as técnicas mais usadas para a realização dessas funções.
7.1.1 Delimitação de Quadros Para criar
e reconhecer os limites dos quadros são usados
basicamente quatro métodos. O
primeiro deles é a contagem de
caracteres. Nesse método um campo sol no cabeçalho informa o número de
caracteres do quadro. O
segundo método baseia-se na utilização de caracteres
delimitadores e na transparência de
caracteres. Esse método utiliza caracteres especiais para indicar o início
e o final do quadro. O problema dessa abordagem é que os caracteres
delimitadores podem aparecer entre os dados transmitidos no quadro. Para
contornar esse problema toda vez que um delimitador aparece nos dados, é
inserido dele um outro caracter especial. Quando o destinatário recebe um
delimitador precedido do caracter especial ele conclui que nesse caso o
caracter delimitador faz parte dos dados do quadro. O
terceiro método utiliza seqüências especiais de bits, denominadas flags, para delimitar os quadros e transparência de bits (bit stuffing) para evitar que ocorrências da seqüência
delimitadora nos dados sejam interpretadas incorretamente. O protocolo HDLC
utiliza essa técnica e usa o padrão (go, 0
1 1 1 1 1 1 0 como
delimitador. Sempre que o transmissor encontra cinco bits consecutivos iguais a
1 nos dados que vai transmitir, ele insere (stuffs) um bit 0 na cadeia de bits. Quando o receptor
encontra cinco bits I consecuti vos, seguidos de um bit 0, ele automaticamente
retira (destuffs)
o bit 0. O
quarto método báseía-se na violação de códigos do nível físico. Esse método só pode ser usado em redes cuja códificação
dos bits no meio físico possui alguma forma de redundância. 7.1.2 -
Controle de Erros no Enlace O nível de enlace, além de detectar erros que ocorrem no
nível físico, fornece mecanismos para corrigi-los. Para garantir transmissões confiáveis através
de retransmissão, o procedimento em geral utilizado é fazer com que o
destinatário de um quadro envie ao remetente quadros
especiais carregando avisos de reconhecimento positivo ou negativo dos quadros
recebidos. Um reconhecimento positivo
indica que o quadro chegou corretamente ao seu destino, por outro lado o
reconhecimento negativo indica que o quadro chegou com erro ao destino e deve
ser enviado novamente. Para
tratar erros que destroem completamente os quadros (de informação ou de
reconhecimento) ou modificam o campo endereço de origem, ao enviar um quadro, o
transmissor utiliza um temporizador para medir um intervalo de tempo (timeout)
suficiente para que o quadro chegue ao seu destino, seja processado, o
reconhecimento seja enviado e chegue ao transmissor. Se o reconhecimento não chegar dentro desse
intervalo de tempo o quadro é retransmitido, evitando que o transmissor fique
parado indefinidamente à espera do reconhecimento. Nessa técnica, como os quadros podem ser
transmitidos mais de uma vez, eles são numerados para permitir que o receptor
possa distinguir quadros originais de cópias. Devemos
notar que o controle de erro pode ser realizado a contento apenas com o
reconhecimento positivo e o temporizador.
O reconhecimento negativo, no entanto, acelera o processo de envio de
informação, diminuindo os retardos. O
reconhecimento pode ser um quadro de controle do nível 2,
ou pode ser transportado de carona em um campo de controle de um quadro de
informação (piggybacking). Os
três. procedimentos mais utilizados para controlar
erros são: algoritmo de bit alternado (stop-and-wait),
janela n com retransmissão integral (go-back-n) e
janela n com retransmissão seletiva (selective repeat). No algoritmo de bit alternado o transmissor só envia um novo quadro quando recebe o
reconhecimento do quadro enviado anteriormente.
Considerando que os quadros podem ser transmitidos mais de uma vez, é
necessário numerá-los para que o receptor possa,
distinguir quadros originais de retransmissões.
Como o transmissor só envia um novo quadro depois do P0 anterior ser
reconhecido, só é preciso um bit para diferenciar quadros sucessivos. O primeiro quadro é numerado com o bit 0, o segundo com o bit 1 o terceiro com o bit 0, e assim
sucessivamente. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Webdesigner:
Fabricio Breve 1997 - 2011 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||