O Protocolo Aloha

Um dos mais antigos protocolos da subcamada de acesso ao meio, nascido na década de 70, é o protocolo Aloha, que, veja só, foi criado em uma universidade havaiana. Ele não é muito confiável e por isso mesmo já quase não é mais usado hoje em dia, mas ainda assim vamos entrar em detalhes sobre ele.

De funcionamento muito simples, a primeira versão do protocolo Aloha, chamada de Aloha puro, permite que qualquer máquina da rede envie pacotes a qualquer momento e em caso de colisão avisa às máquinas transmissoras que o seus pacotes foram perdidos. Por fim, quando uma máquina recebe um aviso de colisão, ela aguarda um tempo aleatório para tentar enviar novamente. Simples assim.

Não é muito difícil perceber que este tipo de controle, ou poderíamos dizer falta de controle, gera um número enorme de colisões. Se uma máquina começar a transmitir um pacote quando um outro estiver sendo transmitido, os dois são perdidos, mesmo que só faltasse um mísero byte para terminar de transmitir o primeiro deles.

Como dito acima, ao receber um aviso de colisão as máquinas aguardam um tempo aleatório para começar a transmitir de novo. Este número deve ser aleatório, pois senão as duas máquinas esperariam o mesmo tempo e tentariam reenviar seus pacotes no mesmo momento, causando uma nova colisão, e outra, e outra, infinitamente.

Graças a tudo isso, e com base em umas contas feias que não vou mostrar a vocês como são, porque nem eu entendi como é que funcionam, obtemos um número alarmante sobre o protocolo Aloha: em média, menos de 20% dos pacotes são entregues sem problemas na transmissão.

Quando há poucas máquinas em uma rede que usa o protocolo Aloha, este número tende a aumentar, pois há menos concorrência pelo canal de transmissão, mas em redes com um número muito grande de máquinas, fica quase impossível enviar alguma coisa.

Como exemplo dessa ineficiência, veja o gráfico abaixo, que supõe que cada quadro leve quatro segundos para ser transmitido. Os quadros pintados de vermelho são os que não foram entregues por causa de colisões. Os verdes são os que puderam ser entregues corretamente.



(aproveito para lembrar que quatro segundos para transmitir um quadro é um tempo exageradamente grande se comparado à realidade, e eu uso este tempo apenas para efeitos didáticos)

***


Como forma de tentar melhorar este números, já nos anos 80 um grupo de estudiosos fez alterações no protocolo Aloha original e criaram o Slotted Aloha. Ele foi assim batizado porque utiliza o conceito de tempo fracionado (slotted).

Por acaso, a leitora do Vovó Viu a Rede já viu um metrônomo, destes usados pelos músicos para marcar o tempo das músicas? É exatamente assim que funciona o Slotted Aloha: as máquinas só podem transmitir no 'tique' do metrônomo. Além disso, o tempo não é dividido de forma aleatória: as divisões são exatamente o tempo necessário para que um pacote seja enviado corretamente.

Este avanço não impede que duas ou mais máquinas tentem transmitir pacotes no mesmo instante, mas pelo menos evita que um pacote que já começou a ser transmitido seja perdido porque outra máquina começou a transmitir alguma coisa. Com isto e com as contas cabeludas que comentei antes, a taxa de pacotes entregues com sucesso sobe um pouco, para cerca de 40%.

***


Artigo do Vovó Viu a Rede: Entenda como funciona a escolha de tempo aleatório de espera

9 comentários:

Nahuan Medeiros disse...

Boa explicação, entendi perfeitamente...
Ótimo blog...

^^

Mário Marinato disse...

Opa, Nahuan, que bom que gostou.

Grande abraço.

Júnior Goes disse...

Gostei mesmo da explicação, simples e didática, é difícil tentar entender as distribuições de Poisson e todas as contas que explicam o pq de o ALOHA pura é pior que o sloted ALOHA.

Flw.

Mário Marinato disse...

Que bom que gostou, Júnior.

Servíamos bem para servir sempre.

Guilherme disse...

Mais bem explicado impossível! Parabéns..

Mário Marinato disse...

Valeu, Guilherme.

roseane disse...

muito bom vai me ajuda muito em uma apresentação de protocolo aloha

Mário Marinato disse...

Opa, Roseane. Espero que ajude mesmo! Boa sorte aí.

WWaillant disse...

Muito simples!! obrigado