HP C7200 프린터의 MTU가 1498 인 이유는 무엇입니까?


1

내 무선 네트워크에서 우분투 리눅스 12.04에서 MTU 1500을 사용하는 맥에 대한 추적 경로를 사용할 수 있습니다.

(Mac MTU는 어떤 이유로 1470으로 설정되지만 응답 프레임은 그리 크지 않기 때문에 중요하지 않습니다)

HP 프린터로 tracepath 할 때 MTU (1500) + Ethernet (14) (SRC (6) + DST (6) + type (2)) = 1514 길이의 프레임에 응답하지 않습니다.

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

참고 : 내 Mac에서 MTU를 1500으로 설정하면 인쇄가 실패하기 때문에 컴퓨터 나 라우터와 관련이 없습니다.

업데이트 : google.com에 대한 추적 경로 인 경우 (WAN 링크에서) 라우터가 ICMP 패킷으로 회신하여 조각화가 필요하며 후속 프레임 MTU가 1474 일 필요가 있음을 알 수 있습니다.

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)

host.example.com을 MTU 1500으로 테스트하려면 다음을 사용합니다.

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


Jeremy에게 감사드립니다. 28 바이트가 어디에서 유래되었는지는 모르지만 MTU는 프레임 크기가 아닌 페이로드 크기입니다. 1498의 MTU가 '기본'이더넷 MTU로 1500을 예상했을 때보 다 합리적이라고 제안하는 것이 당황 스럽습니다. 나는 내 질문에 더 많은 것을 배울 뭔가를 배웠다.
philcolbourn

일반적으로 이더넷 페이로드 (최대 = 1500 바이트) 및 전체 이더넷 프레임을 나타내는 "이더넷 프레임 크기"를 참조하는 데 사용되는 "MTU 크기"및 "패킷 크기": payload + 이더넷 헤더 + CRC 트레일러. IP상의 traceroute와 ping을 사용하기 때문에 28 바이트의 IP 헤더를 고려해야합니다.
Jeremy W

좋아, 네가 무슨 뜻인지 알 겠어. 나는 이미 '틀'을 사용하기 위해 나의 질문을 편집했다. 나는 28 바이트가 IP (20 바이트)와 ICMP (8 바이트)라고 생각한다. 그러나이 토론의 어떤 것도 관련성이 없습니다. 프린터는 1500 바이트 MTU를 좋아하지 않으며 이유를 볼 수 없습니다.
philcolbourn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.