Como definir o tamanho máximo da janela de recepção TCP no Linux?

1

Eu quero limitar a taxa de cada conexão TCP. Posso definir o tamanho máximo da janela de recebimento de TCP no Linux?

Com o iptables + tc só pode limitar a fonte de IP. Os parâmetros net.core.rmem_max e net.core.wmem_max não funcionaram bem.

    
por xl0shk 10.05.2016 / 12:51

1 resposta

2

Você pode modificar o parâmetro /proc/sys/net/ipv4/tcp_rmem para alterar o tamanho da janela TCP, onde os três valores são janela mínima, janela padrão e janela máxima, respectivamente.

root@ghyt:~# cat /proc/sys/net/ipv4/tcp_rmem
4096    8192    16384

Por razões que eu nunca fui capaz de descobrir, os valores que você define só são muito pouco honrados, mas ainda deve permitir que você reduza a janela máxima anunciada.

Como alternativa, você pode desativar o escalonamento da janela TCP ( /proc/sys/net/ipv4/tcp_window_scaling ), o que forçará todas as conexões TCP a usar uma janela de 64 KB. A largura de banda máxima torna-se uma questão de distância:

Largura de banda (Mbit / s) = ((65535 * 8) / (latência em ms / 1000)) / 1000000

    
por 21.05.2016 / 12:38

Tags