Frames acima de 2000 bytes não reconhecidos pelo cliente / receptor

1

Estou trabalhando para adicionar uma funcionalidade de quadro jumbo ao meu aplicativo. Meu problema é que não recebo nenhum ACK para quadros com carga acima de 2000 bytes. Meu sistema se parece com o seguinte: o servidor envia o tempo de medição solicitado ao cliente. O lado do servidor é um processador ARM com implementação lwip da pilha tcp / ip e com suporte habilitado de quadros jumbo. O lado do cliente é um script Python no meu PC com interface de rede que possui quadros jumbo habilitados.

Com a configuração acima e carga acima do padrão 1460, o sistema funciona bem. Eu corro com payload de 2000 bytes sem problemas. O MSS no lado do cliente é 9158, WIN 64320. O lado do servidor é: MSS 2000 e WIN 8000. No entanto, uma vez que eu aumente o MSS no lado do servidor acima de 2000 bytes, a comunicação recolhe. No Wireshark, posso ver que o primeiro quadro com comprimento acima de 2000 não é reconhecido pelo cliente (lado do PC) e as retransmissões começam.

Eu serei grato por qualquer conselho de usuários experientes. Parece-me que o jumbo frame não deveria ser um problema, já que eu opero muito acima do tamanho padrão da carga útil sem problemas.

Link de tubarão na nuvem (com filtro tcp): link

Obrigado antecipadamente.

    
por lukasz139 24.08.2018 / 04:49

0 respostas