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

1

Na minha rede sem fio, posso traçar o caminho para um mac usando o MTU de 1500 no Ubuntu linux 12.04.

(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 eu tracepath para minha impressora HP, ele nunca responde a qualquer quadro que é 1514 bytes: MTU (1500) + Ethernet (14) (SRC (6) + DST (6) + tipo (2)) = 1514

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

Nota: Configurar o MTU para 1500 no meu Mac também faz com que a impressão falhe, por isso duvido que tenha alguma coisa a ver com o computador ou com o meu router.

Atualização: se eu traçar o caminho para o google.com, posso ver o roteador (em seu link WAN) responder com pacotes ICMP informando que a fragmentação é necessária e o MTU de quadro subseqüente precisa ser 1474.

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

Para minha impressora, ele não envia de volta nenhum pacote ICMP declarando que não é possível processar uma carga útil de 1500 bytes. É como se fossem molduras pretas maiores que 1512 bytes.

Atualização: os Macs mais recentes usam 1500 e imprimem bem. Quando eu olhei para o que estava acontecendo, o meu Mac tentava o 1500 primeiro e, se falhasse, ele deixava o MTU para 1470 (da memória) - uma solução interessante da Apple.

    
por philcolbourn 26.05.2012 / 17:03

1 resposta

1

Na verdade, o MTU é inclusive do 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 1500, ele enviará pacotes de até 1500 bytes em tamanho total (não 1514, como você descreveu).

Outra maneira de determinar o MTU do seu caminho ou de um determinado host é usar o comando ping:

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

Portanto, para testar host.example.com para um MTU de 1500, você usaria

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

    
por 26.05.2012 / 18:05