Eu não pude deixar a pergunta mais clara, então aqui está um cenário de exemplo:
Considerando uma máquina Linux conectada a uma rede IP por meio de uma interface física de largura de banda de 10 Mbps (ou uma interface de velocidade mais alta com um filtro de token de intervalo tc para limitar a taxa a 10 Mbps).
Em uma máquina remota (com velocidade igual ou link mais rápido) inicie um servidor UDP iperf:
iperf -s -u -i 1
Na máquina local, inicie um cliente iperf com bw = 20Mbps:
iperf -c <server ip> -u -i 1 -b 20M
Observação : o remetente nunca excede a taxa de 10 Mbps (definida na camada de enlace no hardware ou no qdisc tc).
Eu esperava ver o remetente enviando 20 Mbits de pacotes por segundo, fazendo com que a fila tx da interface se acumulasse e as perdas de pacotes começassem a acontecer. Mas este não é o caso. Por quê?
Eu tentei pesquisar na pasta net / sched para o kernel do Linux, mas não consigo encontrar a origem desse comportamento.
Aprecie sua ajuda. Também fique à vontade para sugerir alterações no título para torná-lo mais relevante.