내 HP C7200 프린터의 MTU가 1498로 나타나는 이유는 무엇입니까?

내 HP C7200 프린터의 MTU가 1498로 나타나는 이유는 무엇입니까?

내 무선 네트워크에서는 Ubuntu Linux 12.04에서 MTU 1500을 사용하여 Mac에 대한 경로를 추적할 수 있습니다.

(Mac MTU는 무슨 이유인지 1470으로 설정되어 있지만 응답 프레임이 그렇게 크지 않으니 상관없습니다.)

HP 프린터에 대한 경로를 추적할 때 길이가 1514바이트인 프레임에는 전혀 응답하지 않습니다. MTU(1500) + Ethernet(14) (SRC(6) + DST(6) + type(2)) = 1514

하지만 MTU를 1498로 설정하면 프린터가 응답합니다. 1499의 MTU도 실패합니다.

참고: Mac에서 MTU를 1500으로 설정하면 인쇄도 실패하므로 이것이 컴퓨터나 라우터와 관련이 있는지 의심됩니다.

업데이트: google.com에 대한 경로를 추적하면 라우터(WAN 링크에 있음)가 조각화가 필요하고 후속 프레임 MTU가 1474여야 한다는 ICMP 패킷으로 응답하는 것을 볼 수 있습니다.

Tracepath는 이에 맞게 프레임 크기를 변경하고 계속됩니다. 이는 이제 1488바이트 길이의 프레임을 전송한다는 의미입니다.

내 프린터의 경우 1500바이트 페이로드를 처리할 수 없다는 내용의 ICMP 패킷을 다시 보내지 않습니다. 마치 1512바이트보다 큰 프레임을 블랙홀링하는 것과 같습니다.

업데이트: 최신 Mac은 1500을 사용하며 인쇄가 잘 됩니다. 무슨 일이 일어나고 있는지 살펴봤을 때 내 Mac은 먼저 1500을 시도하고 실패하면 MTU를 1470(메모리에서)으로 떨어뜨렸습니다. 이는 Apple의 흥미로운 해결 방법입니다.

답변1

실제로 MTU는포함한28바이트 헤더 중 하나입니다. 설명하신 내용에 따르면 귀하의 프린터는 합리적인 MTU 1498로 구성된 것으로 보입니다.


컴퓨터의 MTU를 1500으로 설정하면 전체 크기가 최대 1500바이트(설명한 대로 1514가 아님)의 패킷을 보냅니다.

경로 또는 특정 호스트의 MTU를 확인하는 또 다른 방법은 ping 명령을 사용하는 것입니다.

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

따라서 MTU 1500에 대해 host.example.com을 테스트하려면 다음을 사용합니다.

핑 -f -l 1472 호스트.예제.com.

관련 정보