Contexto:
Estou fazendo alguns estudos autoguiados sobre a modelagem da janela TCP. O cenário para o qual estou tentando controlar é o cliente, que extrairá grandes quantidades de dados além da carga normal de trabalho. Eu realmente não posso usar tc
, já que estou na extremidade receptora na maioria dos dados, então a classificação / programação / formatação de pacotes é um ponto discutível. trickle
não funciona como eu gostaria (camada de abstração adicionada e existem vários tipos de programas que simplesmente não funcionam com ele). Também não consegui encontrar uma maneira de fazer isso usando iptables
, embora vários módulos parecessem estar perto do que eu queria alcançar.
Pergunta:
Estou vendo a página man do comando ip route add
, que tem opções para controlar o tamanho da janela TCP. As opções relevantes são:
window NUMBER
the maximal window for TCP to advertise to these destinations, measured in bytes. It limits maximal data bursts that our TCP
peers are allowed to send to us.
cwnd NUMBER (2.3.15+ only)
the clamp for congestion window. It is ignored if the lock flag is not used.
initcwnd NUMBER
the maximum initial congestion window (cwnd) size in MSS of a TCP connection.
initrwnd NUMBER (2.6.33+ only)
the initial receive window size for connections to this destination. Actual window size is this value multiplied by the MSS of
the connection. The default value is zero, meaning to use Slow Start value.
Minhas perguntas são:
cwnd
), mas não na janela de recebimento (como rwnd
)? window
(cuja descrição diz que afeta o congestionamento e recebe janelas igualmente) se eu quiser controlar a janela de recebimento? Tags networking ip routing linux qos