# Traffic shaping

Traffic shaping é um termo da língua inglesa (modelagem do tráfego), utilizado para definir a prática de priorização do tráfego de dados, através do condicionamento do débito de redes, a fim de otimizar o uso da largura de banda disponível.
O termo passou a ser mais conhecido e utilizado após a popularização do uso de tecnologias "voz sobre ip" (VoIP), que permitem a conversação telefônica através da internet. O uso desta tecnologia permite que a comunicação entre localidades distintas tenham seus custos drasticamente reduzidos, substituindo o uso das conexões comuns.
No Brasil, suspeita-se que a prática passou a ser adotada pelas empresas de telefonia que adotaram, em algum trecho de sua rede, tecnologias de voz sobre o protocolo IP, apesar de condenada por algumas instituições protetoras dos direitos do consumidor. Estas empresas utilizam programas de gestão de dados que acompanham e analisam a utilização e priorizam o tráfego digital (pacotes), bloqueando, retardando ou diminuindo o tráfego de dados VoIP que contenham determinados atributos não desejados pelo gestor da rede, assim prejudicando a qualidade do uso deste tipo de serviço. A prática também é comumente adotada para outros tipos de serviços, conhecidos por demandar grande utilização da largura de banda, como os de transferência de arquivos P2P e FTP por exemplo, ou de "streaming" de portais de internet que transmitem video etc.
Os programas de traffic shaping poderão ainda fazer logs dos tipos de utilizadores, pegar informações sobre IPs acedidos, ativar gravações automáticas a partir de determinadas condutas, reduzir ou interferir na transferência de dados de cada utilizador, bloqueando redes peer-to-peer (P2P) ou FTP.

## Funcionalidade

Se um link começa a ser usado de forma que ocorra um congestionamento significativo na rede, a latência pode aumentar substancialmente. O traffic shaping pode ser usado para prevenir a ocorrência disso e manter a latência em ordem. O traffic shaping fornece os meios necessários para controlar o volume de tráfego sendo enviado na rede em um período específico (limitação de largura de banda) ou a taxa máxima na qual o tráfego está sendo enviado (limitação de taxa), ou seguir ainda critérios mais complexos como um algoritmo genérico de taxa de célula. Esse controle pode ser atingido de muitas formas e por variados motivos; no entanto, o traffic shapping sempre é atingido com o atraso de pacotes.
O traffic shapping é comumente aplicado em terminais de rede para controlar o tráfego que entra na rede, mas pode também ser aplicado na fonte do tráfego (por exemplo, num computador ou cartão de rede) ou num elemento específico da rede.

## Implementação

A implantação do traffic shaping se dá pelo atraso do tráfego medido de forma que cada pacote de dados esteja de acordo com o contrato de tráfego relevante. A mensuração pode ser implementada com, por exemplo, algoritmos do tipo leaky bucket ou token bucket (o primeiro tipicamente em ATM, e o segundo em redes IP). Os pacotes medidos são então armazenados em um buffer FIFO, um para cada classe separadamente modelada, até que eles possam ser transmitidos em conformidade com o contrato de tráfego associado. A transmissão pode ocorrer imediatamente (se o tráfego que chega já está dentro dos padrões), depois de algum tempo (ficando em espera no buffer até que sua hora programada de saída chegue) ou não ocorrer (no caso de perda de pacote).

### Transbordamento

Todas as implementações de traffic shaping possuem um buffer limitado e devem lidar com a possibilidade de esse buffer se encher por completo. Uma abordagem simples e comum é descartar o tráfego excedente que chega após o total preenchimento do buffer, o que resulta não apenas em um traffic shaping, mas também em um traffic policing. Um método mais sofisticado, contudo, é o de instalar um algoritmo de descarte como o “random early detection”.

### Classificação de tráfego

Esquemas simples de traffic shaping modelam todo o tráfego de forma uniforme. Estratégias mais sofisticadas, por outro lado, classificam o tráfego primeiro. Essa classificação ocorre, em linhas gerais, pela categorização do tráfego, segundo, por exemplo, o número de portas ou protocolos. Classes diferentes podem ser modeladas separadamente para se obter o efeito desejado.

## Processos na justiça

Um cliente da Comcast, o segundo maior provedor dos EUA, processou a empresa por esta limitar a velocidade da ligação em aplicações de partilha de arquivos peer-to-peer. No processo, que deu entrada num tribunal da Califórnia, o cliente alega que as velocidades anunciadas pela Comcast são falsas, já que o ISP limita severamente a velocidade de certas aplicações da internet como as de partilha de arquivos peer-to-peer.
As suspeitas de que a Comcast bloqueia tráfego peer-to-peer foram confirmadas por uma investigação da Associated Press, que descobriu que a fornecedora de serviço de internet utiliza um método - que envolve o envio de pacotes de dados modificados - para filtrar o tráfego dos programas que utilizam o protocolo de partilha de arquivos BitTorrent. O problema afeta outras aplicações, como o software colaborativo Lotus Notes, da IBM.
A Comcast nega que bloqueia tráfego, mas admite que atrasa a transmissão de dados para manter a qualidade do serviço, uma prática utilizada por alguns servidores que recebe o nome Traffic Shaping.
O cliente pretende ser indenizado conjuntamente com todos os outros clientes da Comcast na Califórnia e coibir o ISP, para que ele seja forçado a parar com as interferências na velocidade da ligação.$^[$.

## Traffic Shaping no Brasil

Mesmo se tratando de uma atividade ilegal, não é incomum registrar casos do uso de modelagem de tráfego no Brasil, como mostra a matéria da revista Veja.

### Lista de provedores que exercem Traffic Shaping em território nacional.

* Vivo
* Oi Velox
* Sercomtel
* Brisanet
* Claro
* Sumicity