Serviços de Conexão –
Controle de Erros |
||
Conceitos Gerais Os serviços de conexão ocorrem em várias camadas
do modelo OSI, de diferentes maneiras. Veremos inicialmente quais são eles, e
posteriormente apenas poderemos referí-los. São três os tipos possíveis: ·
Serviço sem conexão e sem confirmação ·
Serviço sem conexão e com confirmação ·
Serviço com conexão e com confirmação |
||
Servico sem conexão e sem confirmação Neste tipo de serviço não é feita nenhuma
transação inicial, antes do envio da informação propriamente. Esta é enviada
para o destinatário sem que este esteja esperando por ela. O destinatário da mensagem tampouco confirma que
a recebeu. Se a reação esperada não ocorrer, caberá à aplicação tomar as
providências necessárias, já que os frames perdidos não serão retransmitidos. Sua principal vantagem é a simplicidade, e é
adequada apenas para ambientes de alta confiabilidade. |
||
Serviço sem conexão e com confirmação Não há conexão lógica,
isto é, não é estabelecida uma conexão antes da transmissão. Porém o
recebimento de cada quadro é confirmado pelo destino. |
||
Serviço
orientado a conexão com confirmação Uma
conexão é estabelecida antes do envio dos dados, de modo que o destinatário reserva
recursos para a transação. O recebimento de cada pacote é confirmado. Cada
quadro é numerado para garantir a seqüência completa. Caso um deles não
chegue ao destino, a própria camada tomará providências, sendo esta ação
transparente à apliação. |
||
Controles Existem três controles, os quais as camada podem
implementar de diferentes maneiras, que aliam-se ao serviço de conexão, a
saber: ·
Controle de erro: garante a integridade da informação. ·
Controle de fluxo: garante que o volume de informação
transmitido possa ser processado pelas duas entidades. ·
Controle de seqüência: garante que os frames sejam
remontados na ordem correta. |
||
Controle de erros A Camada Física não tem nenhum mecanismo para garantir
a integridade dos dados. A primeira camada com esta função é a Camada de
Enlace, que prevê mecanismos para: Detecção de erro É um mecanismo relativamente simples que apenas
indica se houve ou não erros na transmissão, mas não os corrige. Por isso é
adequado para redes de boa confiabilidade, em que o custo da retransmissão é
baixo, por exemplo, os protocolos que trabalham com fibras óticas. Entre os mecanismos de controle de erros,
citaremos dois: |
||
|
||
Correção de erros Corrigir erros é mais difícil que detectá-los.
Por isso a correção de erros é reservada a ambientes em que as retransmissões
são custosas, como por exemplo, nas comuniações seriais discadas. Em geral, o modo de fazê-lo é enviar informações
adicionais no frame, de modo que, caso o receptor detecte que houve erro na
transmissão, ele seja capaz de reconstruir a informação sem ser necessário
que o transmissor reenvie o pacote. Como um exemplo citaremos o Método de Hamming,
que é um modelo matemático que, resumidamente, funciona assim: ·
Um quadro consiste em m bits de dados e de
r bits reduntantes ·
O tamanho total n será n=m+r ·
n é chamado de palavra de código ·
Utilizando o algoritmo de Hamming, a partir
destes dados é possível reconstruir a informação original, caso uma parte dos
dados esteja danificada Para informação mais detalhada, veja o documento Error Correcting Codes, de Jim Carlson Embora este e outros métodos permitem a
recuperação da informação, seu custo, em termos de consumo da largura de
banda, pode inviabilizá-los. Por exemplo o
Supondo uma taxa de erro de 1 bit por 1.000.000
bits o
Para possibilitar correção numa
transmissão de um mebabit, em quadros de 1000 bits, seriam necessários 10.000
bits o
Para possibilitar detecção e
retransmissão, para mesma taxa de erros, seriam necessários cerca de 2000
bits. o
Assim, num ambiente confiável, como cobre ou
fibra, um boa parcela seria consumida desnecessariamente. |