Introdução6.1
Hoje você vai ver por que não basta transformar bits em quadros. Quando várias máquinas compartilham o mesmo meio físico, aparece outro problema decisivo. Não basta saber onde o quadro começa, onde termina e se ele chegou íntegro. Também é preciso decidir quem pode transmitir agora sem atrapalhar as demais estações.
Na aula anterior, a camada de enlace apareceu como a responsável por enquadramento, detecção de erros e coordenação local. Agora vamos aprofundar essa mesma camada por outro ângulo. O foco deixa de ser apenas a estrutura do quadro e passa a ser a disputa pelo meio. É exatamente nesse ponto que entra a subcamada MAC.
Em outras palavras, a aula passada respondeu perguntas como estas: como transformar um fluxo bruto de bits em quadros, como marcar começo e fim e como verificar se houve erro com mecanismos como CRC. A aula de hoje começa quando tudo isso já funciona. Mesmo com quadros bem formados e com verificação de integridade, ainda falta resolver quem ganha o direito de usar o meio em cada instante.
A subcamada MAC existe para organizar o acesso a um meio compartilhado. A Ethernet é a tecnologia mais importante para entender como isso foi resolvido na prática, e o endereço MAC é a forma de identificar interfaces dentro do enlace local.
Quando o problema deixa de ser o quadro e passa a ser a disputa6.2
Imagine um cabo compartilhado por várias máquinas. Cada uma delas pode montar seus próprios quadros corretamente, com cabeçalho, carga útil e CRC. Ainda assim, existe um problema óbvio. Se duas máquinas tentarem transmitir no mesmo instante pelo mesmo meio, os sinais se sobrepõem.
Nesse momento, o problema já não é mais “como montar o quadro”. O problema passa a ser “como dividir o meio”. Isso é especialmente importante em meios de natureza compartilhada, como barramentos clássicos, rádio e outras formas de broadcast.
Se duas estações possuem quadros válidos e corretos ao mesmo tempo, o que falta para que a comunicação funcione de verdade?
Falta uma regra de acesso. Em outras palavras, falta um mecanismo que diga quando transmitir, quando esperar e o que fazer quando duas transmissões entram em conflito. Essa é a função da subcamada MAC, sigla de Medium Access Control.
O que a subcamada MAC resolve6.2.1
A subcamada MAC é a parte da camada de enlace que trata do uso do meio compartilhado. Ela responde a perguntas como estas.
- Quando uma estação pode transmitir.
- O que fazer se o meio já estiver em uso.
- Como reagir quando duas transmissões colidem.
- Como identificar o destinatário local de um quadro.
Perceba a diferença de foco. Na aula anterior, o centro da discussão era a organização interna do quadro. Agora, o centro da discussão é a convivência entre várias estações sobre o mesmo enlace.
É comum pensar que a camada de enlace trata apenas de enquadramento e detecção de erros. Isso é incompleto. Em meios compartilhados, a parte de acesso ao meio é tão importante quanto a estrutura do quadro.
Por que a alocação estática costuma desperdiçar capacidade6.3
Uma ideia aparentemente organizada seria dividir o canal em partes fixas. Por exemplo, cada usuário recebe sua própria faixa de frequência ou seu próprio intervalo de tempo. Em telefonia clássica, essa solução faz bastante sentido quando os fluxos são contínuos. Em redes de computadores, o cenário costuma ser diferente.
O tráfego de dados é tipicamente em rajadas. Um computador pode ficar vários segundos sem transmitir nada e, de repente, enviar uma sequência de quadros em pouco tempo. Se o canal estiver dividido de modo rígido, a parte reservada para uma estação ociosa fica parada, mesmo que outra estação esteja precisando transmitir naquele momento.
Se dez usuários recebem partes fixas de um canal e apenas dois estão ativos agora, o que acontece com a capacidade reservada para os outros oito?
A resposta é simples. Ela fica desperdiçada. Por isso, o Tanenbaum mostra que alocação dinâmica é mais adequada para redes de computadores do que esquemas puramente estáticos como FDM e TDM quando o tráfego é irregular.
Aqui vale nomear essas siglas com clareza.
- FDM significa Frequency Division Multiplexing, ou Multiplexação por Divisão de Frequência.
- TDM significa Time Division Multiplexing, ou Multiplexação por Divisão de Tempo.
No FDM, o canal é dividido em faixas de frequência, e cada usuário ou comunicação ocupa uma parte fixa do espectro. Esse modelo foi tipicamente muito usado em sistemas de rádio, TV e telefonia analógica, em que diferentes transmissões coexistem em bandas separadas.
No TDM, o canal é dividido em intervalos de tempo, e cada usuário transmite no seu turno. Esse modelo foi tipicamente muito usado em telefonia digital e em enlaces síncronos, em que faz sentido reservar tempos regulares para fluxos mais previsíveis.
Em redes de computadores, o problema é que o tráfego costuma ser muito irregular. Um host pode ficar ocioso por um tempo e, logo depois, gerar uma rajada curta de dados. Nessa situação, reservar uma frequência fixa ou um intervalo fixo de tempo para cada máquina tende a desperdiçar capacidade.
A intuição do problema6.3.1
Pense em um laboratório com vinte computadores. Em certos momentos, quase ninguém transmite. Em outros, vários alunos abrem páginas, baixam arquivos, fazem login e disparam rajadas curtas de dados. Isso não combina bem com uma divisão fixa e permanente do canal.
Em redes desse tipo, faz mais sentido deixar as estações disputarem o meio quando realmente precisam usá-lo. A dificuldade, claro, é fazer isso sem transformar a rede em caos.
Protocolos de acesso múltiplo6.4
Os protocolos de acesso múltiplo surgem para resolver exatamente esse impasse. Todos partem da mesma pergunta. Como várias estações usam um único canal compartilhado sem desperdiçar largura de banda demais com colisões ou espera excessiva?
Vamos construir essa resposta em etapas, do mais simples ao mais eficiente.
ALOHA: transmitir e torcer para dar certo6.4.1
No ALOHA, a ideia é radicalmente simples. Se a estação tiver dados, ela transmite. Se houver colisão, espera um tempo aleatório e tenta de novo.
Essa simplicidade é didaticamente valiosa porque revela o problema em estado puro. Quando todos podem transmitir a qualquer instante, colisões passam a ser inevitáveis.
O ALOHA é importante historicamente, mas sua eficiência é baixa. Ele ensina a intuição do problema, não a melhor solução prática para LANs cabeadas.
Na imagem abaixo, a ideia principal é observar que os quadros são gerados independentemente pelas estações e lançados no meio assim que ficam prontos. O ponto importante não é o formato do quadro, mas o fato de que não existe coordenação prévia entre as transmissões.
Slotted ALOHA: organizar o tempo ajuda6.4.2
O slotted ALOHA melhora a ideia anterior dividindo o tempo em intervalos discretos. Agora, uma estação só pode começar a transmitir no início de um slot.
Isso não elimina colisões, mas reduz o intervalo de vulnerabilidade. Em termos intuitivos, a bagunça diminui porque as tentativas deixam de acontecer em qualquer ponto do tempo.
Na próxima imagem, observe o período de vulnerabilidade de um quadro. Ela mostra que uma colisão não depende apenas de duas estações começarem exatamente no mesmo instante. Basta que outra transmissão comece dentro de uma certa janela de tempo para comprometer o quadro sombreado.
É por isso que a Internet fica mais lenta quando tem muita gente usando ao mesmo tempo?
Em parte, sim, mas com uma diferença importante. A ideia geral está correta. Quando muitas estações ou muitos usuários tentam usar recursos compartilhados ao mesmo tempo, o desempenho tende a piorar. No contexto do ALOHA e de outros meios compartilhados, isso acontece porque aumentam as colisões e as retransmissões. Na Internet moderna, o problema costuma aparecer mais como congestionamento, disputa por largura de banda, filas em roteadores, enlaces saturados e servidores sobrecarregados.
Ou seja, a intuição é a mesma. Recursos compartilhados demais para demanda demais produzem atraso e pior aproveitamento. A diferença é que, em uma LAN Ethernet comutada atual, a lentidão normalmente não vem de colisões como nos exemplos clássicos, mas de gargalos e congestionamento em outros pontos da rede.
O gráfico seguinte ajuda a transformar a intuição em desempenho observável. Conforme o tráfego oferecido aumenta, o throughput não cresce indefinidamente. Depois de certo ponto, o excesso de tentativas produz tantas colisões que o aproveitamento real do canal piora.
CSMA: escutar antes de falar6.4.3
O próximo passo é ainda mais natural. Antes de transmitir, a estação verifica se o meio está ocupado. Essa ideia recebe o nome de CSMA, sigla de Carrier Sense Multiple Access.
Agora a regra deixa de ser “transmita quando quiser” e passa a ser “transmita quando o canal estiver livre”.
Essa mudança parece pequena, mas é enorme em termos práticos. Se a estação consegue perceber que outra já está transmitindo, ela evita colisões desnecessárias.
CSMA/CD: detectar colisão enquanto transmite6.4.4
Se duas estações escutaram o meio, concluíram quase ao mesmo tempo que ele estava livre e começaram a transmitir juntas, como a rede pode perceber que houve colisão?
Mesmo escutando antes, ainda existe uma janela em que duas estações podem concluir quase ao mesmo tempo que o canal estava livre e começar a transmitir juntas. É aí que entra o CSMA/CD, sigla de Carrier Sense Multiple Access with Collision Detection.
Nesse modelo, a estação não apenas escuta antes. Ela continua monitorando o meio durante a transmissão. Se detectar colisão, interrompe o envio, emite um sinal de interferência e tenta novamente depois de um tempo aleatório.
Esse tempo de espera cresce de forma controlada com o número de colisões consecutivas. É o famoso backoff exponencial binário.
Na figura abaixo, acompanhe a lógica do CSMA/CD como um ciclo. A estação primeiro escuta o meio. Se ele estiver livre, transmite. Enquanto transmite, continua observando o canal. Se notar uma discrepância entre o sinal esperado e o sinal presente no meio, conclui que houve colisão.
Se poucas estações colidem, o tempo médio de espera permanece baixo. Se muitas estações colidem ao mesmo tempo, o intervalo de espera cresce e reduz a chance de novas colisões em sequência.
Esta imagem é importante para justificar o tamanho mínimo do quadro Ethernet clássico. Ela mostra que a colisão pode acontecer longe do transmissor e levar um tempo de propagação para ser percebida. Se o quadro fosse curto demais, a estação poderia terminar de transmitir antes de descobrir que sua transmissão colidiu.
CSMA/CD é essencial para entender a Ethernet clássica. No entanto, isso não significa que as redes Ethernet atuais continuem operando como um barramento antigo cheio de colisões.
Ethernet: da disputa em barramento ao enlace comutado6.5
A Ethernet é a tecnologia de LAN com fio mais importante da história das redes. Ela se tornou dominante justamente porque ofereceu uma solução prática, simples e evolutiva para redes locais.
Ethernet clássica6.5.1
Na forma clássica, a Ethernet funcionava sobre um meio compartilhado. Várias estações estavam conectadas ao mesmo cabo. Nesse cenário, o problema de acesso múltiplo era real e constante. Por isso, o protocolo MAC Ethernet clássico usa CSMA/CD.
Esse contexto ajuda a entender vários detalhes de projeto, como tamanho mínimo de quadro, tempo de propagação e a necessidade de detectar colisão ainda durante a transmissão.
Na imagem abaixo, o que merece atenção é a ideia de meio comum. Todas as estações estão ligadas ao mesmo barramento físico. Isso significa que, quando uma transmite, todas compartilham aquele mesmo canal e todas estão sujeitas ao mesmo domínio de colisão.
Ethernet comutada6.5.2
Com o tempo, a topologia prática mudou. Em vez de um único barramento compartilhado, cada estação passou a se ligar a uma porta de um switch. Isso muda profundamente o comportamento da rede.
Em uma Ethernet comutada, cada enlace entre host e switch é normalmente ponto a ponto. Se esse enlace opera em full-duplex, uma ponta pode transmitir enquanto a outra também transmite, sem colisão. Nesse cenário, o CSMA/CD deixa de ser necessário.
Se cada computador está ligado a uma porta própria de switch e o enlace é full-duplex, ainda existe um meio único realmente compartilhado entre todas as estações?
A resposta prática é não. É por isso que, embora o CSMA/CD seja fundamental na teoria e na história da Ethernet, ele quase não aparece no funcionamento cotidiano das redes cabeadas modernas.
Hub e switch não fazem a mesma coisa6.5.3
Essa distinção merece destaque porque costuma gerar confusão.
| Dispositivo | Comportamento lógico | Consequência principal |
|---|---|---|
| Hub | Repete sinais para todos | Um único domínio de colisão |
| Switch | Encaminha quadros para a porta correta | Colisões isoladas ou inexistentes |
No hub, todas as estações compartilham o mesmo domínio de colisão. No switch, cada porta passa a ser um domínio independente. Em full-duplex, as colisões somem do cenário normal.
Esta figura funciona bem como comparação direta. No lado do hub, o sinal é repetido para todos e o meio continua logicamente compartilhado. No lado do switch, cada porta participa de um encaminhamento separado, o que muda completamente o comportamento da rede.
Já a imagem do switch ajuda a concretizar o equipamento real que substituiu o hub nas LANs modernas. Use-a para chamar atenção para a ideia de portas, encaminhamento seletivo e isolamento entre enlaces.
Switch não é apenas um “hub mais inteligente”. Ele altera a estrutura lógica do enlace e muda completamente o papel das colisões na rede.
O quadro Ethernet na prática6.6
Até aqui, falamos sobre o direito de transmitir. Agora precisamos olhar para o objeto concreto que trafega no enlace. Esse objeto é o quadro Ethernet.
Essa transição se conecta diretamente com a aula anterior. Lá, o quadro apareceu como a unidade em que a camada de enlace organiza os dados e acrescenta verificação de integridade. Aqui, vamos olhar para um quadro específico, o da Ethernet, e observar como ele combina endereçamento local, tipo de conteúdo e detecção de erro no mesmo formato.
Em termos simplificados, um quadro Ethernet possui os seguintes campos principais.
- Preâmbulo.
- Endereço MAC de destino.
- Endereço MAC de origem.
- Campo Tipo ou Tamanho.
- Dados.
- Preenchimento, se necessário.
- FCS, normalmente com CRC.
Por que esses campos existem6.6.1
O endereço de destino diz para qual interface local o quadro se destina. O endereço de origem identifica quem enviou. O campo Tipo ajuda a indicar o conteúdo da carga útil, como IPv4. O FCS permite verificar se o quadro chegou sem erro detectável.
O tamanho mínimo de quadro também não é um capricho. Na Ethernet clássica, ele precisava ser grande o suficiente para que a estação ainda estivesse transmitindo quando uma colisão distante pudesse ser percebida. É daí que vem o valor tradicional de 64 bytes como tamanho mínimo do quadro Ethernet.
Na figura do formato do quadro, peça atenção especial para três regiões. Primeiro, os campos de destino e origem, que trazem os endereços MAC. Depois, o campo Tipo/Tamanho, que ajuda a interpretar a carga útil. Por fim, o FCS, que retoma diretamente a discussão de detecção de erros feita na aula anterior.
0x0800, o sistema entende que a carga útil contém um pacote IPv4.
Endereçamento MAC6.7
O endereço MAC é a forma de identificar interfaces no enlace local. Em Ethernet, ele tem tradicionalmente 48 bits, normalmente representados em hexadecimal, em grupos como este:
70:85:c2:94:54:22
O que esse endereço identifica6.7.1
Ele identifica a interface de rede, não a máquina abstrata em todos os contextos possíveis. Se um equipamento possui mais de uma interface, cada uma pode ter seu próprio endereço MAC.
Unicast, multicast e broadcast6.7.2
Esses três conceitos aparecem diretamente no nível MAC.
| Tipo | Significado |
|---|---|
| Unicast | Quadro destinado a uma única interface |
| Multicast | Quadro destinado a um grupo específico |
| Broadcast | Quadro enviado para todas as estações da LAN |
O broadcast Ethernet clássico usa o endereço:
ff:ff:ff:ff:ff:ff
Isso significa que toda interface da LAN deve aceitar aquele quadro.
OUI e fabricante6.7.3
Os endereços MAC não são números aleatórios no sentido mais ingênuo. Os primeiros bits tradicionalmente carregam um identificador do fabricante, chamado OUI, sigla de Organizationally Unique Identifier.
Isso ajuda a garantir unicidade global de fabricação e explica por que placas de fabricantes diferentes costumam ter prefixos distintos.
Em software moderno, virtualização e algumas técnicas de administração, endereços MAC podem ser configurados manualmente. Mesmo assim, a lógica conceitual do MAC como identificador do enlace local continua válida.
MAC não substitui IP6.8
Essa é uma das confusões mais frequentes em Redes. O endereço MAC não elimina a necessidade de endereço IP porque os dois resolvem problemas diferentes.
Se o MAC já identifica a interface, por que a rede ainda precisa de IP?
Diferença de função6.8.1
| Conceito | Pergunta que responde | Escopo |
|---|---|---|
| MAC | Para qual interface local este quadro vai? | Enlace local |
| IP | Para qual host lógico e para qual rede este pacote deve seguir? | Inter-redes |
O MAC trabalha bem para entrega local no enlace atual. Já o IP organiza a comunicação lógica entre redes diferentes. Em uma comunicação que atravessa roteadores, o pacote IP segue com seu destino lógico, mas o quadro Ethernet muda a cada enlace.
Dizer que “o MAC é o endereço físico da máquina na Internet” está errado. O MAC atua no enlace local. A Internet depende de endereçamento lógico e roteamento, isto é, depende de IP.
Linux: olhando para MAC, IP e enlace em um sistema real6.9
Em vez de tratar isso apenas de forma abstrata, vale muito a pena olhar para um sistema Linux real. Abaixo estão comandos executados neste ambiente, com seus resultados reais, para que você possa usar os exemplos em aula.
Interfaces e endereços MAC6.9.1
Comando:
ip -br link
Resultado:
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
enp5s0 UP 70:85:c2:94:54:22 <BROADCAST,MULTICAST,UP,LOWER_UP>
wlp4s0 DOWN a0:b3:39:33:65:6c <BROADCAST,MULTICAST>
Esse resultado já mostra três ideias importantes.
enp5s0é uma interface Ethernet ativa.70:85:c2:94:54:22é um endereço MAC real.- A própria interface anuncia suporte a broadcast e multicast.
A mesma interface possui MAC e IP6.9.2
Comando:
ip addr show
Trecho relevante do resultado:
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 70:85:c2:94:54:22 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.33/24 brd 192.168.100.255 scope global dynamic noprefixroute enp5s0
Esse pequeno trecho é didaticamente excelente porque concentra dois níveis da pilha na mesma interface.
link/ethermostra o endereço MAC.inet 192.168.100.33/24mostra o endereço IP.ff:ff:ff:ff:ff:ffaparece como broadcast Ethernet.
Ou seja, a interface não escolhe entre MAC e IP. Ela participa dos dois níveis ao mesmo tempo, cada um com sua função.
Vizinhança local e relação entre IP e MAC6.9.3
Comando:
ip neigh
Resultado:
192.168.100.1 dev enp5s0 lladdr ac:8d:34:0f:a4:48 DELAY
fe80::1 dev enp5s0 lladdr ac:8d:34:0f:a4:48 router REACHABLE
Esse resultado mostra uma relação muito importante. Um vizinho da rede local, identificado por IP, está associado a um endereço MAC específico.
É exatamente esse tipo de associação que permite ao sistema saber qual endereço MAC usar quando precisa enviar um quadro Ethernet para um destino local ou para o roteador.
Velocidade e duplex do enlace Ethernet6.9.4
Comando:
ethtool enp5s0
Trecho relevante do resultado:
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
Link detected: yes
Esse trecho ajuda a fechar várias ideias teóricas.
1000Mb/sconecta o exemplo à gigabit Ethernet.Duplex: Fullajuda a explicar por que colisões não fazem mais parte do comportamento normal dessa interface.Twisted Pairconecta a aula atual com o estudo anterior da camada física e do par trançado.
Questões6.10
1. Explique, com suas palavras, por que a subcamada MAC se torna especialmente importante quando várias estações compartilham o mesmo meio.
2. Por que alocação estática de canal tende a ser ineficiente para tráfego de dados em rajadas?
3. Diferencie de forma conceitual ALOHA, slotted ALOHA, CSMA e CSMA/CD.
4. Por que o tamanho mínimo do quadro Ethernet clássico está relacionado à detecção de colisão?
5. Diferencie claramente hub e switch do ponto de vista lógico.
6. Explique por que colisões praticamente desaparecem em enlaces Ethernet comutados em full-duplex.
7. O que o endereço MAC identifica exatamente?
8. Diferencie unicast, multicast e broadcast no contexto do endereçamento MAC.
9. Explique por que endereço MAC e endereço IP não são concorrentes, mas complementares.
10. Observe o trecho abaixo e diga o que cada parte revela sobre a interface:
link/ether 70:85:c2:94:54:22 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.33/24
1. Porque, em meio compartilhado, além de montar quadros, é preciso coordenar quem transmite, quando transmite e como reagir a conflitos no uso do canal.
2. Porque partes fixas do canal ficam ociosas quando os usuários reservados não estão transmitindo, desperdiçando capacidade que poderia ser usada por outros.
3. ALOHA transmite sem escutar. Slotted ALOHA só transmite no início de slots. CSMA escuta antes de transmitir. CSMA/CD escuta antes e também detecta colisão durante a transmissão.
4. Porque, na Ethernet clássica, o quadro precisava durar tempo suficiente para que uma colisão distante ainda pudesse ser percebida enquanto a estação estivesse transmitindo.
5. O hub repete sinais para todos e mantém um único domínio de colisão. O switch encaminha quadros para a porta apropriada e separa os domínios de colisão.
6. Porque cada enlace host-switch é normalmente ponto a ponto e pode operar em full-duplex, eliminando a disputa simultânea pelo mesmo meio compartilhado.
7. A interface de rede no enlace local.
8. Unicast vai para uma interface específica. Multicast vai para um grupo. Broadcast vai para todas as estações da LAN.
9. O MAC resolve entrega local no enlace atual. O IP resolve endereçamento lógico e roteamento entre redes.
10. link/ether 70:85:c2:94:54:22 mostra o endereço MAC da interface. brd ff:ff:ff:ff:ff:ff mostra o endereço de broadcast Ethernet. inet 192.168.100.33/24 mostra o endereço IPv4 configurado na mesma interface.
Próximos passos6.11
Na próxima aula, avançaremos para Hardware de Interconexão (Switches) e VLANs.
Você verá como os switches aprendem endereços MAC, como decidem por qual porta encaminhar cada quadro e como as VLANs permitem segmentar logicamente a rede mesmo quando a infraestrutura física é compartilhada.