Serviços e Modelos de Serviço da Camada de Rede

Até aqui, estudamos a camada de transporte — como processos em hosts diferentes se comunicam através de TCP e UDP. Mas como os dados viajam entre roteadores? Como as redes roteiam pacotes? E qual é o contrato entre a camada de aplicação e a infraestrutura de rede? Essas são as questões da camada de rede, que neste capítulo exploraremos começando pelos serviços de rede que ela oferece e os modelos de serviço que definem o que pode ou não ser garantido.

O Papel da Camada de Rede

A camada de rede é responsável por entregar pacotes do host origem ao host destino, passando por múltiplos roteadores intermediários. Diferentemente da camada de transporte (que opera em dois hosts), a camada de rede é distribuída — todo roteador na rede participa do processo.

A camada de rede em um roteador realiza duas funções críticas:

FunçãoDescriçãoLocalização
Roteamento (Routing)Determinar o caminho que os pacotes devem seguir desde origem até destino usando algoritmos de roteamentoPlano de Controle (Control Plane)
Repasse (Forwarding)Mover pacotes da porta de entrada para a porta de saída correta, baseado na tabela de roteamentoPlano de Dados (Data Plane)

Analogia: Planejamento vs. Execução

Imagine planejar uma viagem pelo Brasil:

  • Roteamento = planejamento do mapa: "Para ir de São Paulo a Rio de Janeiro, passe por Campinas, Ribeirão Preto, Uberaba, Belo Horizonte e depois Rio".
  • Repasse = execução prática: no anel de São Paulo, você vira à esquerda; em Campinas, você sigue em frente; em cada cidade, consulta o mapa local para saber qual caminho seguir.

Da mesma forma:

  • Roteamento: algoritmos globais (Dijkstra, BGP) que constroem as tabelas de roteamento em cada roteador.
  • Repasse: cada roteador consulta sua tabela local (com base no endereço de destino) e envia o pacote para o "próximo passo".

Plano de Dados vs. Plano de Controle

A infraestrutura de rede é frequentemente dividida em duas camadas logicamente distintas:

AspectoPlano de DadosPlano de Controle
O que fazEncaminha pacotes indo e vindoComputa e distribui as tabelas de roteamento
Escala de tempoMicrosegundos (por pacote)Segundos a minutos (atualiza periodicamente ou em eventos)
EquipamentoPortas de rede, comutadores, ASICsCPU do roteador, software de roteamento (BGP, OSPF)
Lógicaif destination_in_table[x]: send_to[port_y]Algoritmos complexos: Dijkstra, inundação, consenso distribuído
FalhasPerde pacote individualPode perder a coerência da rede inteira

Uma analogia: em uma loja, o plano de dados são os caixas (processo cada cliente rapidamente), e o plano de controle é a gerência (quando há apenas um caixa aberto, decide abrir mais).

Arquiteturas Modernas: SDN (Software-Defined Networking)

Nas redes tradicionais, roteadores executam tanto o plano de controle (software de roteamento) quanto o plano de dados (encaminhamento de pacotes) localmente — os dois estão acoplados.

A SDN separa essas camadas:

  • Plano de Controle: centralizado em um controlador SDN (computador remoto) que calcula as rotas e as comunica aos roteadores.
  • Plano de Dados: cada roteador (agora chamado "switch") apenas segue as instruções do controlador.
AspectoRoteamento TradicionalSDN (Software-Defined)
Localização do controleDistribuído (cada roteador decide)Centralizado (um controlador para toda a rede)
ProgramabilidadeFixa (padrões como OSPF, BGP)Flexível (programar políticas customizadas)
EscalabilidadeComplexa em redes grandesSimples — o controlador tem visão global
Exemplo na práticaInternet pública (BGP)Data centers (OpenFlow, Kubernetes)

Simulador Interativo: Roteamento e Repasse (Data Plane)

Nesta visualização, cada roteador é um nó circular e os links representam as conexões entre eles. Os pacotes (quadrados coloridos) saem de um host origem e seguem até o host destino com base nas tabelas de roteamento de cada salto.

  • Clique em um roteador para abrir sua tabela de roteamento.
  • Observe que o plano de controle definiu a tabela antes, e o plano de dados apenas repassa pacote por pacote.
  • Cada fluxo usa uma cor diferente e o trajeto percorrido fica destacado.

Modelos de Serviço da Camada de Rede

O aspecto mais essencial de qualquer camada de rede é definir o que ela promete entregar. A Internet opera sob o modelo de melhor esforço (best effort), mas em ambientes corporativos ou especializados, outras garantias podem ser necessárias.

O Modelo Best-Effort (Sem Garantias)

A Internet moderna é construída sobre o modelo best-effort:

PropriedadeGarantia?
Entrega de pacotes❌ Não — pacotes podem ser perdidos
Ordem de chegada❌ Não — pacotes podem chegar fora de ordem
Timing/Latência❌ Não — sem limite máximo de atraso
Largura de banda❌ Não — sem garantia de throughput
Ausência de duplicatas❌ Não — pacotes podem ser duplicados

Essa simplicidade é a força da Internet: qualquer máquina pode se conectar sem negociar contratos. O modelo best-effort permitiu a escalabilidade e a abertura que tornaram a Internet universal.

Mas quem é responsável pelas garantias? Se a rede não garante confiabilidade, quem faz?

  • TCP (camada de transporte) garante entrega confiável e ordenada para aplicações que precisam.
  • UDP (camada de transporte) aceita o melhor esforço da rede e passa para a aplicação.

Modelos com Garantias de QoS (Qualidade de Serviço)

Nem toda comunicação é criada igual. Videoconferência, voz sobre IP (VoIP) e jogos online têm requisitos diferentes de aplicações de transferência de arquivo. Para esses casos, redes corporativas e operadores de telecom implementam Qualidade de Serviço (QoS).

Um modelo de serviço com QoS define garantias como:

GarantiaSignificadoExemplo de Uso
Throughput GarantidoA rede promete um mínimo de R bps entre dois pontosVideoconferência 4K exige ~25 Mbps
Latência LimitadaNenhum pacote levará mais de D milissegundosVoIP exige latência <150 ms
Variação de Latência Limitada (Jitter)A diferença entre o maior e menor atraso é limitadaÁudio exige jitter baixo para sincronização
Taxa de Perda LimitadaMáximo de x% dos pacotes podem ser perdidosVídeo com perda <1% é aceitável
Priorização de PacotesPacotes marcados como prioritários têm preferênciaTelefone IP tem prioridade sobre downloads

Comparação entre Modelos

ModeloGarantiasComplexidadeCustoExemplo na Prática
Best-EffortNenhumaBaixaBaixoInternet pública (web, email)
QoS Integrado (IntServ)Reserva de recursos por fluxoMuito altaAltoServiços premium em operadoras (raro)
QoS Diferenciado (DiffServ)Classes de serviço com prioridadesMédiaMédioMPLS em redes corporativas
Circuitos VirtuaisConexão dedicada (lógica ou física)AltaAltoTelefonia (antes de VoIP)

Visualização: Best-Effort vs QoS

Compare os dois modelos lado a lado. No best-effort, pacotes podem desaparecer (perda aleatória) e o atraso varia mais. No lado QoS, há fila com prioridade e limite de buffer, o que melhora a taxa de sucesso e reduz jitter.

Serviços Orientados a Conexão vs. Sem Conexão

A camada de rede pode fornecer seus serviços de duas maneiras fundamentalmente diferentes:

Serviços Sem Conexão (Datagram Networks)

Na abordagem sem conexão, cada pacote é independente:

AspectoDetalhes
SetupNenhum — o remetente simplesmente envia o pacote
RoteamentoCada pacote é roteado independentemente (pode seguir caminhos diferentes)
Tabela de EstadoRoteador não mantém informação de fluxos; cada pacote é processado isoladamente
AnalogiaSistema postal — cada carta é tratada como uma entidade independente
Protocolo exemploIPv4, IPv6 (Internet)

Vantagens:

  • ✅ Simples de implementar (sem handshake)
  • ✅ Robusto: se um roteador falha, novos pacotes encontram rotas alternativas
  • ✅ Sem overhead de gerenciamento de conexão
  • ✅ Funciona bem em redes heterogêneas (múltiplos caminhos)

Desvantagens:

  • ❌ Pacotes podem chegar fora de ordem
  • ❌ Roteadores não sabem quantos pacotes virão (não podem reservar recursos)
  • ❌ Mais difícil implementar QoS e priorização

Serviços Orientados a Conexão (Virtual Circuits)

Na abordagem orientada a conexão, dois hosts primeiro estabelecem uma "conexão" (circuito virtual) e depois enviam dados:

FaseO que Acontece
Setup (Handshake)Antes de enviar dados, fonte envia um pacote de setup que cria uma conexão lógica através da rede
TransferênciaDados fluem pela mesma rota, em ordem, com recursos possivelmente reservados
TeardownQuando termina, a conexão é explicitamente fechada
AspectoDetalhes
Número de CircuitoCada conexão tem um identificador único (VC ID — Virtual Circuit ID)
Tabela de RoteamentoMantém estado: incoming_VC_ID → outgoing_port + outgoing_VC_ID
AnalogiaTelefone (DDI) — disca primeiro para estabelecer conexão, depois fala
Protocolo exemploATM (Asynchronous Transfer Mode), Frame Relay, MPLS

Vantagens:

  • ✅ Roteadores sabem antecipadamente quantos dados virão (podem reservar recursos)
  • ✅ QoS e priorização são naturais
  • ✅ Ordem garantida dos pacotes

Desvantagens:

  • ❌ Overhead de setup/teardown
  • ❌ Se um link falha, toda a conexão quebra (menos robusto)
  • ❌ Mais complexo de implementar (estado distribuído)

Visualização: Datagram vs Circuito Virtual

Observe como, no modo datagram, pacotes da mesma sequência podem seguir rotas diferentes e chegar fora de ordem. Já no circuito virtual, todos seguem a mesma rota lógica e chegam ordenados.

Por que a Internet usa Datagrams?

A Internet escolheu datagrams por uma razão fundamental: escalabilidade e robustez. Com bilhões de fluxos simultâneos, manter estado de conexão em todos os roteadores seria impossível. Além disso, a abordagem datagram permitiu que a Internet crescesse de forma descentralizada — novos roteadores poderiam ser adicionados sem coordenação global.

Problemas Práticos da Internet Best-Effort

Apesar das suas vantagens, o modelo best-effort da Internet causa problemas em cenários modernos:

Congestionamento e Perdas

Quando um roteador fica sobrecarregado, seus buffers enchem e pacotes são descartados. Não há mecanismo na camada de rede para avisar ao remetente — ele só descobre por timeout.

Falta de Isolamento entre Fluxos

Um fluxo UDP agressivo (por exemplo, um stream de vídeo não controlado) pode monopolizar a largura de banda de um enlace, prejudicando fluxos bem-comportados (TCP).

Impossibilidade de Garantir Latência

Sem reserva de recursos, não há como garantir que um pacote chegará em menos de T millisegundos. Variações de latência (jitter) prejudicam aplicações sensíveis ao tempo.

Firewall, NAT e Fragmentação

O crescimento da Internet revelou problemas não previstos: firewalls bloqueiam tráfego, NAT (tradução de endereços) quebra aplicações ponto-a-ponto, e a fragmentação de pacotes é ineficiente.

Endereçamento na Camada de Rede: IPv4 vs. IPv6

Para que roteadores saibam para onde enviar pacotes, a camada de rede precisa de um esquema de endereçamento hierárquico e único.

IPv4: O Padrão da Internet

O IPv4 usa endereços de 32 bits, organizados em quatro octetos separados por pontos (notação decimal com ponto):

192.168.1.1
AspectoDetalhe
Tamanho32 bits = 4,3 bilhões de endereços possíveis
Notaçãoa.b.c.d onde cada valor está entre 0 e 255
EstruturaPrimeira parte = rede; segunda parte = host dentro da rede
Máscara de Sub-redeDefine quantos bits identificam a rede vs. o host (ex.: /24 = primeiros 24 bits)
Exemplo192.168.1.0/24 = rede com hosts de 192.168.1.1 a 192.168.1.254

Problema: Com bilhões de dispositivos (smartphones, IoT, servidores), IPv4 terá seus endereços esgotados. De fato, já está em processo.

IPv6: O Futuro

O IPv6 usa 128 bits (16 bytes), oferecendo 2^128 endereços — mais que suficiente para qualquer dispositivo concebível:

2001:0db8:85a3:0000:0000:8a2e:0370:7334
AspectoIPv4IPv6
Tamanho32 bits128 bits
Notetos~4 bilhões~3,4 × 10^38
NotaçãoDecimal: 192.168.1.1Hexadecimal: 2001:db8::8a2e:370:7334
AutoconfiguraçãoDHCP necessárioStateless autoconfiguration (SLAAC)
SegurançaIPsec opcionalIPsec integrado (opcional ainda)
FragmentaçãoRealizada por roteadores e hostsApenas hosts (mais eficiente)

Transição IPv4 → IPv6

A migração para IPv6 é gradual. Muitas abordagens intermediárias existem:

  • Dual-stack: routers e hosts rodando tanto IPv4 quanto IPv6 simultaneamente.
  • Tunelamento: pacotes IPv6 encapsulados dentro de envelopes IPv4.
  • Tradução (NAT64): conversão de endereços como NAT, mas entre protocolos.

Algoritmos de Roteamento

Como os roteadores decidem para qual porta enviar cada pacote? Essa é a tarefa dos algoritmos de roteamento, que constroem e mantêm as tabelas de roteamento.

Classificação dos Algoritmos

TipoDescriçãoExemplo
Roteamento CentralizadoUm servidor central computa todas as rotas e as distribuiOSPF em redes corporativas
Roteamento DistribuídoCada roteador executa um algoritmo e troca informações com vizinhosBGP na Internet
Roteamento EstáticoAdministrador configura rotas manualmenteRedes pequenas e controladas
Roteamento DinâmicoAlgoritmo adapta-se automaticamente a falhas e mudançasOSPF, BGP, RIP

Algoritmo de Dijkstra (Caminhos Mais Curtos)

O algoritmo de Dijkstra encontra o caminho de menor custo de um nó fonte até todos os demais nós em um grafo:

Ideia: mantém um conjunto S de nós já processados e a distância mínima de cada nó. A cada iteração, adiciona o nó mais próximo a S.

Visualização: Dijkstra Passo-a-Passo

Use os controles de Play/Pause, Passo e Reiniciar para acompanhar o algoritmo. Os nós mudam de cor durante a execução:

  • cinza: ainda não processado
  • amarelo: nó ativo na iteração atual
  • verde: nó já fixado com menor distância

A tabela à direita mostra as distâncias e predecessores atualizados a cada iteração.

Protocolo BGP (Border Gateway Protocol)

O BGP é o protocolo de roteamento usado para roteamento entre domínios autônomos (a "cola" que une a Internet):

AspectoDetalhe
EscopoRoteamento entre Sistemas Autônomos (AS) — redes operadas por diferentes organizações
TipoProtocolo distribuído baseado em vetores de distância (path vector)
Informação trocadaPrefixo de rede (ex.: 192.0.2.0/24) e lista de ASes percorridos
DecisãoCada AS escolhe as rotas baseado em políticas (lucro, confiança, performance)
Internet moderna~65.000 ASes trocam rotas globalmente usando BGP

Resumo: Do Best-Effort à Arquitetura Moderna

A camada de rede conecta hosts em uma infraestrutura global através de:

  1. Roteamento (plano de controle): determina caminhos
  2. Repasse (plano de dados): encaminha pacotes
  3. Endereçamento: IPv4 (escasso) e IPv6 (futuro)
  4. Serviços: best-effort (simples, escalável) vs. QoS (complexo, garantido)

O sucesso da Internet deve-se à simplicidade do modelo best-effort e datagram, que permitiu escalabilidade e inovação. Mas para aplicações modernas (videoconferência, IoT, cidades inteligentes), avanços como SDN, QoS baseado em aplicação e redes definidas por software estão evoluindo a camada de rede para suportar um futuro mais demandante.