Eu gostaria de saber qual é a diferença entre o buffer sndbuf e rcvbuf usado pelo OpenVPN e net.core.w / rmem_default ou net.ipv4.tcp_r / wmem.
O que o OpenVPN faz quando alguns valorizam um fornecido para esses parâmetros na configuração. Eu li que, se você usar 0, ele usa o tamanho do buffer padrão do sistema operacional, mas a partir de qual buffer toma o tamanho? ou é uma camada extra e quando você define 0 como esse layout extra desaparece?
Meu problema é que quando eu configuro sndbuf e rcvbuf para 0 e configuro net.core.w / rmem_default ou net.ipv4.tcp_r / wmem para 64k, estou esperando o mesmo throughput do que com sndbuf e rcvbuf não configurados porque o valor padrão para sndbuf e rcvbuf é 64k
Infelizmente, esse não é o caso, a taxa de transferência é menor quando usamos o buffer do sistema operacional.
Isto é talvez porque eu não configure o buffer do sistema operacional correto ou que o OpenVPN faça algo especial ao usar sndbuf e rcvbuf.
Se alguém puder explicar em detalhes, eu realmente aprecio isso
Obrigado
Alo
Após algumas pesquisas, descobri que o OpenVPN usa setsockopt para definir o valor de SO_SNDBUF e SO_RCVBUF usando o valor sndbuf e rcvbuf no arquivo de configuração. Isso afetará apenas o soquete criado pelo OpenVPN e não todos os soquetes TCP / UDP.
SO_SNDBUF e SO_RCVBUF são o equivalente da configuração:
Para o protocolo usado pelo openvpn (tcp ou udp) (pode ser _default e não _max, ainda não tenho certeza).
O ajuste manual dos tamanhos do buffer de soquete com setsockopt () desativa a sintonia automática do TCP. (pode não ser verdade)
Sobre o TCP ser afetado pelo tamanho dos buffers r / wmem_default, encontrei duas respostas dizendo o contrário:
Você não precisa ajustar rmem_default ou wmem_default (pelo menos não para ajuste de TCP). Esses são os tamanhos de buffer padrão para soquetes não-TCP (por exemplo, domínio unix e soquetes UDP).
wmem_default e wmem_max essas configurações são o tamanho padrão das janelas de envio e recebimento de todos os Net Traffic (UDP e TCP)
Qualquer pessoa com mais conhecimento é bem-vinda para me corrigir :)