좋아, 방금 Xserve, Netgear GSM7224 및 Drobo B800i 간의 점보 프레임 문제 해결을 마쳤습니다. Xserves (Mac OS X 10.6.8 Server)와 Drobo B800i는 정상적으로 예상대로 바이트 단위로 MTU를 허용하지만 (1500-9000) Netgear는 다양한 이더넷 헤더 / 바닥 글 (예고편 포함)을 원했습니다 ) 그리고 결국 Xserves & Drobo가 MTU 9000으로 구성되고 Netgear 포트가 MTU 9216으로 설정되었습니다.
Netgear를 통해 두 Xserve 사이의 MTU를 테스트하고 확인하기 위해 다음 명령을 사용했습니다 (참고 : Mac OS X 명령이며 Windows 및 Linux 명령이 다릅니다).
ping -D -s <mtu> <ip_address>
traceroute -F <ip_address> <mtu>
의 전 사용량 유의 에 man
페이지 "데이터의 개수가 전송 될 바이트를 지정한다. 기본값은 ICMP 헤더 데이터의 8 바이트와 결합 64 ICMP 데이터 바이트로 변환하는 (56)이다."로 테스트에서 나는 ping -D 1472 <ip_address>
8 바이트의 ICMP 헤더 데이터와 20 바이트의 IP 헤더로 인해 MTU 1500과 동등한 것으로 나타났습니다 ( this 및 this 참조 ). 그게 말이 되네요
이제 왜 9000 MTU에 해당하는 명령 ping -D -s 8164 <ip_address>
입니까? "sendto : Message too long"오류가 발생하기 전에 이것이 한계임을 확인했지만 9000 MTU가 올바르게 traceroute -F <ip_address> 9000
작동하고 작동 traceroute -F <ip_address> 9001
하지 않습니다. 그렇다면 왜 8164입니까? 8972 (1,500 MTU와 마찬가지로 MTU-28 바이트)를 예상했습니다.
또한 왜 넷기어를위한 9216 MTU? MAC 및 이더넷 헤더 (CRC 포함)의 경우 42 바이트, IP 헤더의 경우 20 바이트 (MTU로 먹어야 함)를 계산했습니다.
나는이 수학에 정말 녹슬었고 뭔가 빠진 것을 알고 있습니다.