Diferença entre net.core.rmem_max e net.ipv4.tcp_rmem


14

Qual é a diferença entre net.core.rmem_max e o terceiro valor de net.ipv4.tcp_rmem? Qual tem a maior prioridade para conexões tcp?

Abaixo dois exemplos, qual é o buffer máximo para conexões tcp?

Case 1:
sysctl -w net.core.rmem_max=7388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608'

Case 2:
sysctl -w net.core.rmem_max=8388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'

Prioridade relacionada ao tcp?
Nils

@ Nils Sim, para conexões TCP.
Bydecky May

Respostas:


5

O núcleo é o buffer máximo máximo geral, enquanto o tcp se refere apenas a esse protocolo.

Quanto à pergunta de prioridade: parece que a configuração tcp terá precedência sobre a configuração max comum, o que é um pouco confuso. A configuração max não afeta a configuração atual do tcp (apenas testada no CentOS 5).

Uma descrição mais correta teria sido: default_max - mas isso era provavelmente muito longo.


1
Sua explicação faz sentido, mas isso entra em conflito com o que man tcpdiz sobre tcp_rmemo valor máximo de: the maximum size of the receive buffer used by each TCP socket. This value does not override the global net.core.rmem_max- consulte também stackoverflow.com/questions/31546835/… . Está man tcperrado?
NH2

@ nh2 Essa não seria a primeira vez que uma página de manual está errada.
Nils

1
Como exatamente você testou?
Curinga

1
@Wildcard Defino o valor e li o outro valor após o primeiro Settings (Configurações)
Nils

3
@ Nils, simplesmente ler os valores não indica se um substitui outro - você deve tentar obter um buffer TCP que exceda o buffer net.core. [Wmem / rmem] _max para testar essa substituição.
Jordan Pilat
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.