Por que minha impressora HP C7200 parece ter um MTU de 1498?

Por que minha impressora HP C7200 parece ter um MTU de 1498?

Na minha rede sem fio, posso rastrear o caminho para um Mac usando MTU de 1500 no Ubuntu Linux 12.04.

(O Mac MTU está configurado para 1470 por algum motivo, mas os quadros de resposta não são tão grandes, então isso não importa)

Quando rastreio o caminho para minha impressora HP, ela nunca responde a nenhum quadro com 1514 bytes de comprimento: MTU(1500) + Ethernet(14) (SRC(6) + DST(6) + type(2)) = 1514

Mas se eu definir meu MTU para 1498, minha impressora responderá. Um MTU de 1499 também falha.

Nota: Definir MTU para 1500 no meu Mac também causa falha na impressão, então duvido que tenha algo a ver com o computador ou com o meu roteador.

Atualização: se eu rastrear o caminho para google.com, posso ver meu roteador (em seu link WAN) responder com pacotes ICMP informando que a fragmentação é necessária e o MTU do quadro subsequente precisa ser 1474.

tracepath altera o tamanho do quadro para corresponder a isso e continua. Isso significa que agora ele envia quadros com 1.488 bytes.

Para minha impressora, ela não envia nenhum pacote ICMP informando que não pode processar uma carga útil de 1.500 bytes. É como se fossem quadros blackhole maiores que 1512 bytes.

Atualização: Macs mais recentes usam 1500 e imprimem bem. Quando observei o que estava acontecendo, meu Mac tentaria 1500 primeiro e, se falhasse, reduziria o MTU para 1470 (da memória) - uma solução alternativa interessante da Apple.

Responder1

Na verdade MTU éinclusivodo cabeçalho de 28 bytes. Com base no que você descreveu, sua impressora parece configurada para um MTU de 1498, o que é razoável.


Se você definir o MTU do seu computador para 1.500, ele enviará pacotes de até 1.500 bytes de tamanho total (não 1.514, como você descreveu).

Outra forma de determinar o MTU do seu caminho ou de um host específico é usar o comando ping:

-f sets the Do Not Fragment bit 
-l configures the data size (remember to add 28 bytes for the header)

Então, para testar host.example.com para um MTU de 1500 você usaria

ping -f -l 1472 host.exemplo.com.

informação relacionada