1) Camada Física x Camada de Enlace (Modelo em Camadas)
Camada Física (Physical Layer)
• O que faz: Converte bits (0/1) em sinais elétricos, ópticos ou de radiofrequência no
meio (fio, fibra, ar). Define conectores, tensões, níveis, temporização, taxa de
transmissão, codificação de linha e topologia física.
• Exemplos de assuntos: Codificação Manchester/NRZ, 10BASE-T/1000BASE-X, potência,
ruído, atenuação, BER (bit error rate).
• Por quê é importante: Sem um “alfabeto” físico comum (forma de gerar e reconhecer
os sinais), não há como um dispositivo entender os bits do outro.
Camada de Enlace (Data Link Layer)
• O que faz: Empacota bits em quadros (frames), endereça nós (endereço MAC),
detecta/corrige erros (CRC, ARQ), controla acesso ao meio (CSMA/CD, CSMA/CA), e
faz controle de fluxo entre vizinhos.
• Exemplos de assuntos: Ethernet (802.3), Wi-Fi (802.11), endereços MAC, FCS/CRC,
ARQ (Stop-and-Wait, Go-Back-N, Selective Repeat).
• Por quê é importante: Fornece um “salto confiável” entre vizinhos na rede,
entregando quadros íntegros e organizando o uso do meio compartilhado.
2) Delimitação de quadros: contagem, caractere delimitador e bit stuffing
a) Contagem de caracteres (ou bytes)
• Como funciona: Um campo (ex.: “Comprimento”) indica quantos bytes compõem o
quadro. O receptor lê exatamente aquela quantidade.
• Vantagens: Simples, rápido; não precisa “escapar” conteúdo.
• Desvantagens: Se o campo comprimento for corrompido, todo o enquadramento
seguinte “sai do trilho”; exige detecção/correção robusta para o campo.
b) Caractere (ou byte) delimitador + byte stuffing
• Como funciona: Marca início/fim com bytes especiais (ex.: DLE STX / DLE ETX ou 0x7E
em PPP). Se o mesmo byte aparecer nos dados, ele é “escapado” (ex.: prefixa-se 0x7D).
• Vantagens: Resiliente: se um quadro terminar, o próximo delimitador realinha o fluxo;
intuitivo para protocolos orientados a byte.
• Desvantagens: Overhead variável (escapes); depende de “fronteiras de byte” (não
serve bem para fluxos puramente bit-a-bit).
c) Bit delimitador + bit stuffing
• Como funciona (HDLC): Usa um flag fixo de bits 01111110 para início/fim. Nos dados,
sempre que surgirem cinco 1’s consecutivos, o transmissor insere um 0; o receptor
remove esse 0 (desstuffing).
• Vantagens: Funciona em nível de bit (independe de bytes), robusto a perda de
alinhamento; um erro local tende a afetar menos quadros.
• Desvantagens: Overhead também variável; implementação um pouco mais complexa.
3) ARQ no enlace: Stop-and-Wait, Janela com retransmissão total (Go-Back-N) e seletiva
(Selective Repeat)
Stop-and-Wait (Bit alternado)
• Como funciona: Envia 1 quadro, espera ACK. Usa número de sequência de 1 bit (0/1)
para diferenciar retransmissões.
• Vantagens: Simples, baixo uso de memória.
• Desvantagens: Baixa eficiência em links com alta latência (pipeline vazio enquanto
espera ACK); throughput limitado.
Go-Back-N (Janela com retransmissão total)
• Como funciona: Envia vários quadros em pipeline até o limite da janela (W). ACKs
cumulativos. Se perder um quadro k, ao expirar o timeout de k, retransmite k e todos
os seguintes (mesmo se alguns chegaram).
• Vantagens: Bem mais eficiente que Stop-and-Wait; simples no receptor (aceita só em
ordem).
• Desvantagens: Em erro/loss, há retransmissão redundante (custa banda).
Selective Repeat (Retransmissão Seletiva)
• Como funciona: Também janela, mas o receptor aceita fora de ordem e bufferiza. O
transmissor retransmite apenas os quadros perdidos (NACKs ou timeouts por quadro).
• Vantagens: Melhor eficiência em canais com perdas esparsas; evita repetir o que já
chegou.
• Desvantagens: Implementação mais complexa; exige mais memória/buffer e controle
de sequência no receptor.
Resumo prático:
Stop-and-Wait (simples, lento) < Go-Back-N (rápido, algum desperdício em erro) < Selective
Repeat (mais rápido em perda, mais complexo).
4) CSMA/CD (Ethernet clássica, meio compartilhado)
• CSMA: Carrier Sense Multiple Access. Antes de transmitir, ouve o meio. Se estiver
livre, transmite.
• CD (Collision Detection): Enquanto transmite, o nó compara o sinal enviado com o
ouvido no meio. Desvio indica colisão.
• Passos:
1. Ouve o meio.
2. Se livre, transmite.
3. Se detectar colisão, envia um “jam signal” para garantir que todos percebam.
4. Para, e escolhe um atraso aleatório com binary exponential backoff (o
intervalo dobra a cada colisão consecutiva).
5. Tenta novamente.
• Por que funciona: O meio é compartilhado; sem coordenação, colisões são inevitáveis.
O backoff aleatório descentraliza e “espalha” as novas tentativas, tornando o acesso
estatisticamente justo e eficiente.
• Observação moderna: Em Ethernet comutado full-duplex (switch + portas dedicadas),
não há CSMA/CD — não existe colisão nesse cenário. Em Wi-Fi usa-se CSMA/CA (com
avoidance), pois não dá para ouvir enquanto transmite no rádio.
5) Janela Deslizante e Controle de Fluxo
Como funciona a Janela Deslizante
• O transmissor pode manter até W quadros “em voo” sem ACK.
• Cada quadro tem número de sequência; os ACKs (geralmente cumulativos) fazem a
janela “deslizar”: ao confirmar o mais antigo pendente, abre espaço para enviar o
próximo.
• Permite pipeline (aproveita o tempo de ida/volta – RTT).
Controle de Fluxo (por quê usar)
• Evitar sobrecarga do receptor: o receptor anuncia um tamanho de janela/Buffer
(janela anunciada); o transmissor limita a taxa para não estourar o buffer do receptor.
• Estabilidade local: impede perda por overflow e reduz retransmissões desnecessárias.
• Nota: Controle de fluxo (entre emissor-receptor vizinhos ou fim-a-fim) ≠ controle de
congestionamento (rede sobrecarregada).
6) Protocolos de acesso ao meio: Justos, Estáveis, Eficientes
• Justos (fair): Todos os nós têm oportunidade semelhante de acesso ao meio a longo
prazo; sem starvation.
Ex.: Backoff aleatório bem projetado, token que circula.
• Estáveis: O desempenho não degrada em espiral quando a carga aumenta; o sistema
converge para um comportamento previsível (ex.: limita a taxa de novas tentativas sob
colisão).
• Eficientes: Pouca sobrecarga (controle, esperas, colisões), alto uso útil do meio. Em
baixa carga: acesso rápido; em alta carga: mantém boa vazão/ocupação sem “perder
tempo” demais.
7) Acesso baseado em contenção vs. sem contenção
• Com contenção: Nós competem e podem colidir. Resolução por recuo/aleatoriedade.
Ex.: CSMA/CD (Ethernet antiga), CSMA/CA (Wi-Fi).
o Prós: Simples, flexível, ótimo em carga baixa/média.
o Contras: Em alta carga, colisões/esperas aumentam e a eficiência cai; não
determinístico.
• Sem contenção (determinístico): O acesso é agendado/ordenado, não há colisões por
desenho.
Ex.: Token passing (Token Ring), TDMA, polling.
o Prós: Determinismo, latência previsível, bom para tempo real.
o Contras: Mais overhead de coordenação; se um nó com token falha, pode
parar tudo; menos flexível em cenários dinâmicos.
8) Por que codificar a linha? (e Manchester)
Necessidade de codificação de linha
• Sincronismo de clock: O receptor precisa “saber onde está cada bit”. Transições
frequentes ajudam a “travar” o relógio.
• Conteúdo DC e espectro: Algumas codificações evitam componente DC (facilita
acoplamento e transmissão), e moldam o espectro para o meio.
• Detecção de erros básica: Alguns esquemas facilitam detecção de erros grossos.
• Compatibilidade com o meio físico: Diferentes meios exigem formas de onda
diferentes.
Manchester (usado no 10BASE-T)
• Ideia: Cada bit tem uma transição no meio do intervalo (garante clock).
o Convenção 802.3: ‘0’ = transição alta→baixa no meio do bit; ‘1’ = baixa→alta.
• Características:
o Auto-clocking: Sempre há transição → ótimo para sincronismo.
o Sem DC (balanceado): Média de nível zero.
o Custo: Taxa de símbolo dobra (eficiência 50%): para N bps de dados, “sinaliza”
perto de 2N baud.
• Por quê usar: Prioriza robustez e sincronismo, especialmente em tecnologias iniciais
de Ethernet.
9) Campos do quadro IEEE 802.3 (Ethernet)
1. Preâmbulo (7 bytes)
o Padrão 10101010 repetido.
o Finalidade: Ajudar o receptor a sincronizar o clock e “acordar” o circuito antes
do quadro real.
2. SFD – Start Frame Delimiter (1 byte)
o Padrão 10101011.
o Finalidade: Marca exatamente o início dos campos de endereço (fim do
preâmbulo).
3. Destinatário (6 bytes) – Endereço MAC de destino
o Pode ser unicast, multicast ou broadcast (FF:FF:FF:FF:FF:FF).
o Finalidade: Indica quem deve processar o quadro no domínio de enlace.
4. Remetente (6 bytes) – Endereço MAC de origem
o Finalidade: Identifica quem enviou (útil para respostas, aprendizado de
switch).
5. Comprimento/Tipo (2 bytes)
o Em 802.3 clássico, indica comprimento do campo Dados (até 1500).
o Em Ethernet II, indica Tipo (ex.: IPv4 0x0800, ARP 0x0806).
o Finalidade: Permite ao receptor saber o tamanho do payload ou entregar ao
protocolo correto da camada superior.
6. Dados (46 a 1500 bytes)
o Payload (ex.: pacote IP). Se o payload for menor que 46 bytes, adiciona-se
padding para atingir o tamanho mínimo de quadro (64 bytes com
cabeçalhos).
o Finalidade: Conteúdo útil a ser transportado.
7. FCS – Frame Check Sequence (4 bytes)
o CRC-32 calculado sobre cabeçalho+dados.
o Finalidade: Detecção de erros de transmissão. Quadros com CRC inválido são
descartados pelo receptor.
Dicas finais de estudo
• Relacione enquadramento (Q2) com os ARQs (Q3): é o enquadramento que define o
“pacote” sobre o qual o CRC/ARQ atua.
• Conecte CSMA/CD (Q4) com as características de justiça/estabilidade/eficiência (Q6).
• Lembre que controle de fluxo (Q5) protege o receptor; controle de congestionamento
protege a rede.
• Em ambientes modernos com switches e full-duplex, CSMA/CD não é usado, mas os
campos do quadro continuam válidos.
Se quiser, transformo isso em um PDF/folha de estudo com esquemas e exemplos numéricos
de janela (Go-Back-N vs Selective Repeat).