Como o TCP é full duplex, há duas janelas iniciais de congestionamento (IW), uma para envio e outra para recebimento. Eles podem ser configurados com o comando route, no entanto eu encontrei em 2.6.32 que não funcionou depois de olhar para as capturas de pacotes. Na minha área de trabalho (3.0.0), o IW é mais alto (10 pacotes) como padrão, então eu não testei isso na versão posterior, já que é isso que eu queria que o aumento fosse.
Em teoria, eles podem ser configurados com ip route
com algo como:
sudo ip route add <DEST IP> via <GATEWAY IP> proto static initcwnd 10
Para o IW de envio. Para o recebimento do IW, altere initcwnd
para initrwnd
.
Se isso estiver funcionando, acredito que o tamanho da nova janela seja refletido no pacote SYN ou SYN / ACK (dependendo da janela de envio / recebimento) do handshake TCP. . Como a janela de congestionamento é interna e diferente da janela no cabeçalho TCP, a única maneira de informá-la é testar em uma conexão de latência mais alta e ver se mais pacotes iniciais são enviados. Eu acabei de ver isso recentemente, então como um aviso estou 100% positivo sobre tudo isso.
Depois disso, o tamanho da janela deve ser escalonado com os parâmetros padrão do Linux, sem causar problemas em termos de limite de janela. Você provavelmente não vai querer mexer com isso, a menos que tenha uma captura mostrando que você está frequentemente correndo em situações nas quais você está atado à janela (o destinatário enviará uma grande quantidade de pacotes com Win 0
se esse for o caso).