01 - Unicast
video: https://youtu.be/... no frontmatter da nota.Unicast
O Unicast é o modelo de comunicação mais comum e predominante em redes IP, caracterizado pela transmissão de pacotes de um único remetente para um único receptor identificado por um endereço de destino específico. É a base sobre a qual operam praticamente todos os protocolos da suite TCP/IP voltados a interação ponto-a-ponto, como HTTP, SSH, SMTP, DNS (modo consulta) e FTP.
Diferentemente do Broadcast (1-para-todos) e do Multicast (1-para-grupo), o Unicast estabelece uma associação 1:1 entre origem e destino, exigindo que cada receptor seja alcançado por um fluxo independente de pacotes. Essa simplicidade conceitual traz grandes vantagens em termos de controle de fluxo, segurança e capacidade de resposta individual, mas impõe desafios de escala quando o número de receptores cresce.
1. Funcionamento nas Camadas L2 e L3
O Unicast opera simultaneamente em múltiplas camadas do modelo OSI. A coerência entre os endereços das camadas 2 e 3 é o que garante a entrega precisa do quadro ao host correto dentro de um segmento local.
A. Camada 2 (Enlace - Ethernet/Wi-Fi)
Na camada de enlace, o Unicast é identificado por um endereço MAC de destino único (U/L + I/G bits em zero, indicando endereço individual e globalmente único). O quadro Ethernet carrega no campo Destination MAC o endereço de 48 bits da placa de rede do receptor.
- O switch realiza lookup na CAM table (Content-Addressable Memory) e encaminha o quadro apenas pela porta onde o MAC foi aprendido.
- Se o MAC não estiver na tabela (miss), o switch aplica o comportamento de unknown unicast flooding, replicando o quadro para todas as portas da VLAN, exceto a de origem, até aprender a localização do dispositivo.
B. Camada 3 (Rede - IP)
Na camada de rede, o endereço IP de destino no cabeçalho IPv4 (ou IPv6) identifica univocamente o host receptor. O roteador executa o algoritmo de longest-prefix match na tabela de roteamento (FIB - Forwarding Information Base) para decidir o próximo salto.
- Em IPv4, qualquer endereço que não seja multicast (224.0.0.0/4) nem broadcast limitado (255.255.255.255) é tratado como unicast.
- Em IPv6, todo endereço que não seja multicast (ff00::/8) é unicast, incluindo global (2000::/3), link-local (fe80::/10) e unique local (fc00::/7).
2. Endereçamento e Resolução (ARP / NDP)
Para entregar um pacote IP unicast em uma rede local, o transmissor precisa conhecer o MAC associado ao IP de destino. Em IPv4, isso é feito pelo ARP (Address Resolution Protocol), definido na RFC 826. Em IPv6, o equivalente é o NDP - Neighbor Discovery Protocol (RFC 4861), que utiliza mensagens ICMPv6 tipo 135 (Neighbor Solicitation) e 136 (Neighbor Advertisement).
O ARP é um protocolo que, embora trafegue quadros unicast após resolvido, utiliza broadcast para descobrir o MAC inicial:
Host A (10.0.0.5) quer falar com Host B (10.0.0.10):
1. A envia ARP Request broadcast: "Quem tem 10.0.0.10?"
2. Todos os hosts da VLAN processam a requisição.
3. B responde com ARP Reply unicast: "10.0.0.10 está em AA:BB:CC:DD:EE:FF"
4. A monta o quadro e envia unicast diretamente para B.
3. Exemplos Práticos de Aplicações Unicast
A maior parte do tráfego na internet moderna é unicast. A tabela abaixo resume os protocolos mais representativos:
| Protocolo | Porta | Transporte | Cenário Típico |
|---|---|---|---|
| HTTP/HTTPS | 80 / 443 | TCP | Navegação web, APIs REST |
| SSH | 22 | TCP | Acesso remoto seguro a servidores |
| SMTP/IMAP | 25, 587 / 143, 993 | TCP | Envio e leitura de email |
| FTP/SFTP | 21 / 22 | TCP | Transferência de arquivos |
| DNS | 53 | UDP/TCP | Resolução de nomes |
| RDP | 3389 | TCP | Acesso a desktop remoto Windows |
| Telnet | 23 | TCP | Administração legada (insegura) |
Cada conexão TCP estabelecida entre um cliente e um servidor representa um fluxo unicast independente, identificado pela tupla (IP origem, porta origem, IP destino, porta destino). Dois clientes acessando o mesmo servidor web compartilham apenas a porta de destino (80/443), mas possuem portas de origem diferentes e IPs distintos.
4. Análise de Overhead e Escala
O grande problema do Unicast emerge quando a mesma informação precisa ser entregue a múltiplos receptores simultaneamente. Considere um streaming ao vivo com 1 milhão de espectadores:
- Cada espectador recebe um fluxo independente de pacotes do servidor.
- O servidor de origem precisa gerar e transmitir 1 milhão de cópias idênticas do mesmo conteúdo.
- O tráfego total no enlace de saída do servidor é proporcional a
N * bitrate, onde N é o número de receptores.
Para um stream de 5 Mbps em HD, isso representa 5 Tbps agregados na borda de saída. Por isso, plataformas como Netflix, YouTube e Twitch utilizam CDNs (Content Delivery Networks) com caches distribuídos geograficamente, transformando um problema de 1-para-muitos em milhares de problemas 1-para-1 menores, processados próximos aos usuários.
| Número de Receptores | Largura de Banda Necessária (5 Mbps/stream) |
|---|---|
| 1 | 5 Mbps |
| 1.000 | 5 Gbps |
| 100.000 | 500 Gbps |
| 1.000.000 | 5 Tbps |
5. Comparativo: Unicast vs Multicast vs Broadcast
| Critério | Unicast | Multicast | Broadcast |
|---|---|---|---|
| Modelo | 1-para-1 | 1-para-grupo | 1-para-todos |
| Endereço destino IPv4 | Host específico | 224.0.0.0/4 | 255.255.255.255 ou subnet broadcast |
| IPv6 | Endereço global/link-local | ff00::/8 | Não existe (substituído por multicast) |
| Réplicas do pacote na origem | 1 por receptor | 1 (replicado na rede) | 1 (atinge toda a LAN) |
| Escala | Linear com N receptores | Sub-linear | Limitado à LAN |
| Controle de acesso | Por receptor | Por grupo (IGMP) | Sem controle |
| Aplicação típica | Web, SSH, email | IPTV, mercado financeiro | Descoberta de serviços (legado) |
6. Aplicações Modernas
- Streaming individualizado (Netflix, Spotify, YouTube): cada usuário recebe fluxo único com adaptive bitrate (ABR) ajustado à sua conexão. A individualização permite personalização (legendas, qualidade, recomendações), algo impossível em multicast.
- Videoconferência ponto-a-ponto (Skype P2P, WebRTC): entre dois participantes, o fluxo é puramente unicast. Em conferências com múltiplos participantes, plataformas utilizam servidores SFU (Selective Forwarding Unit) que recebem fluxos unicast de cada participante e retransmitem unicast para os demais, evitando o overhead de N² conexões diretas.
- Acesso a APIs e microserviços: toda comunicação REST/gRPC entre microserviços é unicast, com balanceadores de carga distribuindo as requisições.
7. Comutação em Switches e Roteadores
Switches L2
O switch aprende dinamicamente a associação MAC-porta ao observar o campo Source MAC dos quadros recebidos. Essa tabela CAM é consultada a cada quadro para decidir a porta de saída:
SW1# show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 0050.56ab.cdef DYNAMIC Gi0/1
1 0050.56fe.1234 DYNAMIC Gi0/2
1 aaaa.bbbb.cccc DYNAMIC Gi0/24
Quadros unicast com destino conhecido são encaminhados por uma única porta (forwarding). Quadros com destino desconhecido sofrem flooding dentro da VLAN.
Roteadores L3
O roteador consulta a FIB (Forwarding Information Base), que contém prefixos e próximos saltos. A operação é essencialmente:
- Extrair o IP de destino do pacote.
- Aplicar longest-prefix match contra a FIB.
- Determinar a interface de saída e o next-hop.
- Resolver o MAC do next-hop via ARP ou cache.
- Encapsular o pacote em um novo quadro e transmitir.
8. Captura e Análise de Fluxos Unicast
Para diagnosticar e analisar fluxos unicast, utilizam-se ferramentas como tcpdump (CLI) e Wireshark (GUI):
# Capturar tráfego HTTP de um cliente específico
tcpdump -i eth0 -nn host 192.168.1.10 and port 80
# Capturar toda comunicação entre dois hosts
tcpdump -i eth0 -nn host 192.168.1.10 and host 10.0.0.5
# Capturar sessões SSH de entrada
tcpdump -i eth0 -nn 'dst port 22' -w ssh.pcap
# Visualizar handshake TCP completo
tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0'
Filtros BPF (Berkeley Packet Filter) permitem islar fluxos específicos por porta, IP, protocolo ou flags TCP, essenciais para troubleshooting em ambientes produtivos.
9. Limitações e Considerações Finais
Embora o Unicast seja o modelo dominante, ele não é a solução ótima para todos os cenários:
- Escala em live streaming: como visto, o tráfego cresce linearmente com o número de receptores, exigindo infraestrutura de CDN cara.
- Latência em conferências multiponto: sem SFU/MCU, o modelo P2P puro impõe carga exponencial em clientes.
- Ineficiência em distribuição de firmware/update: em redes corporativas grandes, atualizações por unicast podem saturar enlaces - nesses casos, multicast ou soluções de cache local são preferíveis.
Apesar dessas limitações, o Unicast permanece como o modelo de comunicação mais flexível, seguro e amplamente suportado em toda a infraestrutura de internet, sendo a base sobre a qual protocolos modernos como HTTP/3 (QUIC), gRPC e WebSockets são construídos.