Desativar o Large Send Offload pode corrigir isso. Eu vi 15k e até 30k pacotes, independentemente do MTU.
Eu tenho um servidor do qual estou transferindo dados. Estávamos tendo alguns problemas relacionados ao fato de o servidor estar enviando quadros grandes, apesar do fato de ifconfig
estar reportando que a MTU é 1500. Como isso é possível? A caixa está rodando o CentOS 5, isso está acontecendo no ipv4.
Como posso dizer ao servidor para parar de enviar pacotes com tamanhos maiores que 1500?
O servidor fragmentará os pacotes de modo que eles fiquem em blocos de 1500 bytes. Pode ser que em algum outro lugar dentro da rede algo tenha uma MTU menor que 1500, o que poderia ser a causa do problema. Você é capaz de pingar a outra extremidade com um tamanho de 1500?
ping -s 1500 <ip>
Você também deve poder enviar pacotes de tamanhos maiores. Se você, o terminal remoto ou qualquer coisa entre eles está filtrando pacotes ICMP, então é provável que esteja bloqueando pacotes de descoberta de MTU . br> Você precisará permitir os pacotes de Fragmentação ICMP Necessários (Tipo 3, Código 4) através do firewall
Se você estiver capturando pacotes no servidor, poderá ver o TCP enviando segmentos maiores que o MTU. Os pacotes no fio, no entanto, serão apenas o tamanho da MTU. Você pode verificar isso capturando em um dispositivo de rede (switch) etc. Alternativamente, a captura de pacotes na máquina remota (cliente) revelará que cada pacote é < = MTU.
Esse comportamento se deve ao fato de que com o TSO / GSO ativado, o segmento TCP é dividido em pacotes de tamanho MTU pelo hardware da NIC. Como o tcpdump captura na camada de software, ele vê segmentos maiores do que o MTU sendo enviado para a placa NIC para posterior transferência.
Se você desativar o tso / gso para a NIC, verá todos os pacotes de saída com o tamanho < = MTU (mais provavelmente o tamanho do pMTU).