Wikipedia의 다이어그램은 끔찍합니다. 바라건대 내가 작성하려고하는 것이 더 명확합니다.
802.3 이더넷 의 최대 페이로드 는 1500 바이트입니다.
이것은 와이어를 통해 전송하려는 데이터 및 MTU가 참조하는 데이터입니다.
[payload]
<-1500 바이트
페이로드는 이더넷 프레임 (소스 / 대상 MAC, VLAN 태그, 길이 및 CRC 체크섬을 추가 함 )에 캡슐화됩니다 . 총 22 바이트의 추가 "항목"
[SRC+DST+VLAN+LENGTH+[payload]+CRC]
<-1522 바이트
프레임은 와이어를 통해 전송됩니다. 이더넷 카드가 기본적으로 일어나서 다른 사람이 와이어 (CSMA / CD)를 사용하지 않도록 크게 소리를 지르기 전에- 프리앰블 및 프레임 시작 구분 기호입니다. (SFD)-추가 8 바이트이므로 이제
[Preamble+SFD+[Ethernet Frame]]
<-1530 바이트
마지막으로 이더넷 트랜시버가 프레임 전송을 완료하면 다음 프레임을 전송하기 전에 802.3에서 12 바이트의 무음 ( "인터 프레임 갭")을 전송해야합니다.
[Preamble+SFD+[Ethernet Frame]+Silence]
<-1542 바이트가 유선으로 전송되었습니다.
프리앰블, SFD 및 인터 프레임 갭은 프레임의 일부로 계산되지 않습니다. 이더넷 프로토콜 자체에 대한 지원 구조입니다.
MTU는 페이로드에 적용됩니다. 패킷에 넣을 수있는 가장 큰 데이터 단위입니다. 따라서 MTU가 1500 바이트 인 이더넷 패킷은 실제로는 1522 바이트 프레임이고 와이어에서 1542 바이트입니다 (vLAN 태그가 있다고 가정).
귀하의 질문에 대한 답변- 조각화없이 802.3 이더넷을 통해 보낼 수있는 가장 큰 패킷은 무엇입니까? - 인 페이로드 데이터의 1500 바이트 .
그러나 이더넷 계층이 제한 요인이 아닐 수 있습니다. 그 과정에서 MTU가 1500 바이트의 페이로드 데이터보다 작게 제한되는지 확인하려면 다음 중 하나를 사용하십시오.
- Windows :
ping hostname -f -l sizeofdata
(John K가 언급 한 기술)
- BSD :
ping -D -s sizeofdata hostname
- 리눅스 :
ping -M do -s sizeofdata hostname
sizeofdata
그 작품 의 가장 큰 가치 는 MTU입니다 (데이터가 취하는 특정 경로에서).