Controle de Congestionamento em Redes: Otimizando Eficiência e Alocação de Banda

Este post técnico aborda os mecanismos de controle de congestionamento, com foco na camada de transporte.

Quando múltiplos dispositivos tentam enviar um volume excessivo de dados simultaneamente, a rede pode ficar sobrecarregada.

Esse fenômeno, conhecido como congestionamento, resulta em degradação de desempenho, com pacotes sendo atrasados ou até mesmo perdidos.

O Que é Controle de Congestionamento e Onde Ele Ocorre?

O controle de congestionamento é uma responsabilidade compartilhada entre a camada de rede e a camada de transporte.

  • Camada de Rede: É onde o congestionamento é detectado, pois os roteadores são os componentes que sofrem com o excesso de tráfego e filas de pacotes.
  • Camada de Transporte: É a origem do problema, pois são as entidades de transporte (protocolos como o TCP) que enviam os pacotes para a rede.

Portanto, a solução mais eficaz para mitigar o congestionamento é fazer com que os protocolos da camada de transporte reduzam a taxa de envio de pacotes.

A Internet depende fundamentalmente desses mecanismos para manter sua estabilidade e performance.

O Objetivo Real: Alocação Otimizada de Banda

O propósito do controle de congestionamento vai além de simplesmente evitar o colapso da rede. O objetivo principal é alcançar uma alocação de largura de banda que seja simultaneamente:

  1. Eficiente: Utiliza toda a capacidade disponível da rede.
  2. Justa: Distribui a capacidade de forma equitativa entre as entidades concorrentes.
  3. Adaptativa: Responde rapidamente a variações na demanda de tráfego.

Uma alocação que atenda a esses critérios garante alto desempenho sem sobrecarregar a infraestrutura.

A Relação Entre Carga, Vazão (Goodput) e Atraso

É crucial entender a dinâmica entre a carga oferecida à rede e o desempenho resultante.

  • Goodput (Vazão Efetiva): Refere-se à taxa de pacotes úteis que chegam com sucesso ao destino. Inicialmente, o goodput aumenta de forma linear com a carga. Contudo, à medida que a carga se aproxima da capacidade máxima do enlace, o crescimento do goodput desacelera devido ao acúmulo de pacotes em buffers e ao aumento da probabilidade de perdas.
  • Atraso (Delay): Em baixa carga, o atraso é relativamente constante e representa o tempo de propagação. À medida que a carga aumenta, o atraso cresce exponencialmente, pois os pacotes passam mais tempo em filas nos roteadores.

Se um protocolo de transporte for mal projetado e retransmitir pacotes que foram apenas atrasados (e não perdidos), a rede pode entrar em um estado de colapso de congestionamento.

Nesse cenário de colapso de congestionamento, os transmissores enviam pacotes incessantemente, mas a quantidade de dados úteis entregues diminui drasticamente.

Maximizando a Eficiência com a Métrica de Potência

O ponto de “início do congestionamento” é onde o desempenho começa a se degradar. Para operar a rede de forma eficiente, é desejável alocar banda até um ponto pouco antes do aumento acentuado do atraso, ou seja, abaixo da capacidade teórica máxima.

Para identificar esse ponto ótimo, Kleinrock (1979) propôs a métrica de Potência (Power), definida pela seguinte relação:

A Potência de uma conexão aumenta com a carga enquanto o atraso permanece baixo.

No entanto, ela atinge um pico e depois começa a cair quando o atraso aumenta de forma acentuada.

A carga que corresponde à Potência máxima representa o ponto de operação mais eficiente para a rede.

Conclusão: Operando no Ponto Ideal

Em resumo, o controle de congestionamento na camada de transporte não visa apenas prevenir o colapso da rede, mas sim encontrar uma alocação de banda que maximize a eficiência.

Ao monitorar métricas como vazão e atraso, e utilizando conceitos como a Potência, os algoritmos de controle de congestionamento buscam manter a rede operando em seu ponto de maior rendimento, garantindo uma comunicação rápida e estável para todos os usuários.

Veja mais:

O que é protocolo de roteamento ?

Como funciona a camada de rede

O que é DNS

O que é IPv6 ?

Protocolo HTTP – Como funciona?

Tutorial: Como usar o WHOIS ou RDAP

https://datatracker.ietf.org/doc/html/rfc9293

Juliana Mascarenhas

Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer