Acesso ao meio

ALOHA, variantes de CSMA, colisões, backoff e acesso sem fios.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

A e B têm dados para enviar no mesmo meio. Se começarem juntos, as transmissões podem impedir a receção uma da outra; o protocolo de acesso decide quando transmitir e como tentar de novo. Escutar reduz colisões, mas não as elimina, pois B pode ouvir silêncio antes de o sinal de A chegar.

Partição, contenção e turnos

Os protocolos diferem na forma de atribuir o meio:

ClasseComo se obtém acessoQuando uma estação fica sem dados
Partição, como TDM/FDMReserva de tempo ou frequênciaA parcela reservada pode ficar sem uso
Acesso aleatório, como ALOHA/CSMAAs estações disputam o meio segundo regras de envio e repetiçãoOutras podem aproveitar o meio livre
Turnos, como polling/tokenUma autorização escolhe quem transmiteA autorização pode passar à seguinte

No polling, um coordenador pergunta ou autoriza cada estação por vez. Há mensagens de controlo e tempo até voltar a cada estação; falhar o coordenador pode impedir o acesso.

Num protocolo com token, a autorização circula entre estações. Só quem a possui transmite, segundo o limite definido pelo protocolo. Uma estação sem dados passa-a adiante. É preciso gerir perda ou duplicação do token; sem limites ao tempo durante o qual alguém o retém, não há garantia de espera curta para os outros.

Partilhar por turnos reduz a disputa entre estações, mas consome tempo de controlo mesmo quando há pouco tráfego. Não atribuas os máximos de ALOHA às outras classes: cada uma usa um mecanismo e um modelo diferentes.

ALOHA puro e com ranhuras

No ALOHA puro, transmite assim que há dados. Uma trama de duração TT colide com outra que comece até TT antes do seu início ou até TT depois, pois a primeira ainda ocupa o canal e a segunda começa antes de a trama atual terminar; o intervalo vulnerável soma 2T2T. No ALOHA com ranhuras, só começa na fronteira de ranhura TT; a vulnerabilidade cai para uma ranhura.

O modelo seguinte usa tramas iguais, tentativas agregadas Poisson e colisões destrutivas sem captura, e com ranhuras as chegadas respeitam a sincronização. GG conta tentativas por tempo de trama, incluindo retransmissões:

Spuro=Ge−2G,Sranhuras=Ge−G.S_{puro}=Ge^{-2G},\qquad S_{ranhuras}=Ge^{-G}.

Derivar em GG dá máximos em G=1/2G=1/2 e G=1G=1. Os máximos são 1/(2e)≈0,1841/(2e)\approx0{,}184 e 1/e≈0,3681/e\approx0{,}368. Estes números dependem do modelo, por isso não valem para todo o acesso aleatório nem para Wi-Fi.

S: entregas por tempo de trama.

Com ranhuras: traço contínuo. Puro: tracejado.

Tentativas e entregas em ALOHAO débito puro atinge 0,184 em G=0,5; com ranhuras atinge 0,368 em G=1. Ambas as curvas descem depois do máximo, apesar de aumentarem as tentativas.00,10,20,30,400,5123G: tentativas portempo de trama
Aumentar G de 0,5 para 1 já reduz as entregas no ALOHA puro. As ranhuras deslocam o máximo, mas não eliminam a descida sob muitas tentativas.

As tentativas Poisson são uma hipótese ou aproximação, não uma consequência automática de repetir após colisões. O máximo da curva também não prova estabilidade: um número crescente de tramas pendentes pode aumentar as tentativas e reduzir o sucesso.

Exemplo. Para G=0,5G=0{,}5, ALOHA puro entrega 0,5e−1≈0,1840{,}5e^{-1}\approx0{,}184 tramas por tempo de trama. Com ranhuras, entrega 0,5e−0,5≈0,3030{,}5e^{-0{,}5}\approx0{,}303. Aumentar muito as tentativas faz diminuir o sucesso, porque aumenta as colisões.

CSMA e persistência

Carrier Sense Multiple Access escuta antes de enviar, mas ainda pode colidir, pois A começa e B, antes de chegar o sinal, também vê silêncio. Quanto menor a propagação face à trama, mais útil é a escuta.

  • 1-persistente: se livre, transmite; se ocupado, continua a escutar e transmite assim que liberta. Várias estações à espera podem arrancar juntas.
  • Não persistente: se ocupado, espera um tempo aleatório antes de escutar novamente. Reduz arranques simultâneos, mas pode deixar o canal livre durante a espera.
  • p-persistente: num canal com ranhuras e livre, transmite com probabilidade pp; com 1−p1-p, adia uma ranhura e repete a decisão.

Não transportes as fórmulas de ALOHA diretamente para CSMA. O comportamento depende também da propagação e da regra de persistência. A prática de partilha do canal compara os dois modelos de ALOHA conta a conta; em CSMA, a pergunta equivalente é quanto da trama ainda está em voo quando outra estação decide escutar.

Abrir no YouTube

CSMA/CD e tamanho mínimo

Na Ethernet partilhada half-duplex, o emissor deteta a colisão, envia o sinal de colisão e interrompe, tentando depois de novo com espera aleatória.

Para detetar a colisão mais distante enquanto ainda transmite, o tempo de transmissão mínimo deve ser pelo menos a propagação de ida e volta:

Lmin/R≥2tp.L_{min}/R\ge2t_p.

A 10 Mbit/s com tp=20t_p=20 microsegundos, o modelo exige pelo menos 400 bits, ou 50 bytes. A Ethernet define outros parâmetros e um mínimo de trama de 64 bytes, do endereço de destino ao FCS, sem contar preâmbulo. Aplica os valores do enunciado, em vez de misturar um cálculo ideal com parâmetros de outra variante.

No binary exponential backoff, após a colisão de número kk, sorteia-se um inteiro num intervalo de tamanho aproximadamente 2k2^k, até ao limite do protocolo, e espera-se esse número de slot times. No algoritmo Ethernet clássico, o expoente é limitado a 10 e a transmissão é abandonada depois de 16 tentativas; a escolha aleatória reduz a probabilidade de repetir a mesma colisão, sem garantir ausência dela.

Ethernet comutada full-duplex não usa CSMA/CD: cada ligação ponto a ponto pode transportar simultaneamente nos dois sentidos, sem um meio de colisão partilhado. «Cabo usa CD» é uma regra errada para a Ethernet atual.

CSMA/CA, ACK e estações escondidas

No Wi-Fi, uma estação normalmente não deteta colisão no recetor enquanto transmite. O problema é físico, não falta de atenção: a colisão acontece no recetor, e o próprio sinal a sair sobrepõe-se a qualquer sinal a chegar. Sem ACK, houve falha, mas tanto pode ser erro de canal como ACK perdido.

No mecanismo básico de contenção, espera-se o intervalo apropriado de canal livre e conta-se um backoff em ranhuras. O contador congela quando o meio fica ocupado e retoma após o intervalo exigido. Quem tem o contador a zero transmite. O ACK segue após um intervalo mais curto, SIFS, dando prioridade à confirmação sobre novos concorrentes.

Exemplo. A sorteia 2 e B sorteia 5. Ao fim de duas ranhuras, A transmite e B congela em 3; B espera pela trama, ACK e novo intervalo de canal livre antes de retomar as três ranhuras. Se ambos chegarem a zero juntos, podem colidir.

Duas estações são escondidas quando ambas alcançam o ponto de acesso mas não se ouvem entre si, por isso escutar não resolve esta situação. RTS/CTS pode reservar o meio com mensagens curtas; o NAV avisa durante quanto tempo a troca ocupa o canal. Acrescenta sobrecarga e não elimina todas as colisões. Uma estação exposta pode adiar uma transmissão que seria compatível com outra, porque observa tráfego que não interfere com o seu recetor.

Para comparar protocolos, escreve o que cada um sabe: canal livre local, colisão detetada, ACK recebido ou reserva anunciada, pois uma observação local não prova que o recetor esteja livre.

Exercícios

Comparar cargas e o intervalo vulnerável

No modelo ALOHA com tentativas agregadas Poisson, tramas iguais e colisões destrutivas sem captura, compara o débito normalizado para G=0,5 e G=1 nos casos puro e com ranhuras. Justifica o expoente em cada fórmula pela duração do intervalo vulnerável. Encontra a carga que maximiza cada curva e explica por que aumentar as tentativas além dela pode reduzir as entregas.

Pista
Calcula a probabilidade de nenhuma tentativa no intervalo vulnerável.
Solução

Em ALOHA puro, uma trama colide com inícios num intervalo de duração 2T, pelo que a probabilidade de nenhuma tentativa concorrente é e−2Ge^{-2G} e S=Ge−2GS=Ge^{-2G}. Com ranhuras sincronizadas, o intervalo é T e S=Ge−GS=Ge^{-G}.

GPuroCom ranhuras
0,50,183940,30327
10,135340,36788

As derivadas são e−2G(1−2G)e^{-2G}(1-2G) e e−G(1−G)e^{-G}(1-G). Os máximos ocorrem em G=0,5 e G=1, com débitos 1/(2e)1/(2e) e 1/e1/e. No puro, duplicar G de 0,5 para 1 já reduz o sucesso. G inclui retransmissões, não só novas tramas; muitas tentativas podem aumentar colisões sem aumentar dados entregues. O máximo da curva não prova estabilidade das filas.

Confere a tua resposta:

  • Relaciono os expoentes com 2T e T.
  • Calculo e comparo as quatro entregas.
  • Derivo para localizar os máximos.
  • Distingo tentativas de entregas e de estabilidade.
Voltar à explicação
Dimensão mínima para deteção

CSMA/CD ideal, R=20 Mbit/s e propagação máxima num sentido 10 μs. Qual o comprimento mínimo em bits?

Pista

O emissor tem de continuar a transmitir durante a ida e volta.

Solução

L≥20 ×10^6 ×20 ×10^−6=400 bits. É o modelo do problema, sem acrescentar regras de outra Ethernet.

Erros frequentes

Usar 10 μs em vez de 20 μs.

Voltar à explicação
Congelar e retomar o backoff

Duas estações contam simultaneamente backoff num canal livre: A começa em 3 e B em 7. Ao chegar a zero, A transmite; o ACK chega corretamente. Indica o contador de B durante a trama e o ACK, depois de duas ranhuras livres após o intervalo obrigatório, e o que aconteceria se outra estação começasse a transmitir nesse momento. Não há colisões neste traço.

Pista
Conta apenas ranhuras em que o protocolo permite diminuir o contador.
Solução

As primeiras três ranhuras deixam A em zero e B em 4. B congela em 4 durante a trama e o ACK. Depois do intervalo obrigatório, duas ranhuras livres deixam B em 2. Se outra estação ocupar o canal, B volta a congelar em 2 e retoma só após a nova troca e o intervalo de canal livre exigido. Não sorteia outro valor apenas porque alguém ocupou o canal.

Confere a tua resposta:

  • Mantenho B em 4 durante a ocupação.
  • Desconto apenas ranhuras livres.
  • Congelo outra vez em 2, sem reiniciar.
Voltar à explicação

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.