이더넷 프레임의 "in-the-wire" 크기는 얼마입니까? 1518년 아니면 1542년?

이더넷 프레임의 "in-the-wire" 크기는 얼마입니까? 1518년 아니면 1542년?

에 따르면여기 테이블, MTU = 1500바이트이고 페이로드 부분이 1500 - 42바이트 또는 1458바이트라고 나와 있습니다(<- 실제로는 잘못되었습니다!). 이제 그 위에 28바이트(20 IP + 8 UDP)인 IPv4 및 UDP 헤더를 추가해야 합니다. 그러면 가능한 최대 애플리케이션 메시지는 1430바이트가 됩니다! 하지만 인터넷에서 이 번호를 찾아보니 대신 1472가 표시됩니다. 내가 여기서 이 계산을 잘못하고 있는 걸까?

내가 알고 싶은 것은 조각화 위험 없이 유선을 통해 보낼 수 있는 최대 애플리케이션 메시지입니다. 프레임 헤더가 포함되어 있기 때문에 확실히 1500이 아닙니다. 누군가 도와줄 수 있나요?


혼란스러운 점은 PAYLOAD가 실제로 1500바이트까지 클 수 있으며 이것이 MTU라는 것입니다. 그렇다면 이제 1500의 페이로드에 대한 내부 크기는 얼마입니까? 해당 테이블에서는 최대 1542바이트까지 커질 수 있습니다.

따라서 내가 보낼 수 있는 최대 앱 메시지는 1542개의 와이어 크기에서 최대 1472개(1500 - 20(ip) - 8(udp))입니다. 실제로는 단순하지만 일이 어떻게 그렇게 복잡해질 수 있는지 놀랍습니다. 그리고 표에 1542라고 적혀 있는데 어떻게 누군가가 1518이라는 숫자를 생각해냈는지 모르겠어요.

답변1

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입니다(데이터가 이동하는 특정 경로에 대해).

답변2

프레임에 넣는 데이터의 양에 따라 다릅니다. 1500바이트의 데이터를 프레임에 넣으면 총 프레임 크기는 1518바이트가 됩니다. 1472바이트의 데이터를 사용하면 총 프레임 크기가 1500이 됩니다.

http://en.wikipedia.org/wiki/Ethernet_frame

즉, 조각화 테스트에 정말로 관심이 있다면 이를 테스트하는 좋은 방법은 몇 가지 플래그를 사용하여 오래된 핑을 사용하는 것입니다.

ping 호스트 이름 -f -l 데이터 크기

-f 플래그를 사용하면 패킷이 단편화된 경우 ping이 실패하게 됩니다. 여기서 이해해야 할 핵심은 "데이터 크기"는 조각화 없이 메시지에 넣을 수 있는 데이터의 양입니다. 따라서 1500의 페이로드를 보내는 경우 1500바이트를 초과하면 조각화가 시작됩니다. 하지만 이를 1472(1500 - 18바이트 오버헤드)로 낮추면 핑이 통과하는 것을 볼 수 있습니다.

답변3

기본 Ethernet_II 프레임의 경우 프레임 크기는 1518바이트(온라인 또는 오프라인)입니다. 이는 대상 및 소스 주소 각각에 대해 6바이트, 페이로드(귀하의 경우 IP 헤더 및 UDP 헤더가 포함된 전체 IP 패킷)에 대한 46~1500바이트 사이의 유형 필드에 2바이트, FCS. 이 외에도 프레임 크기(64바이트)에 대한 제한이 있습니다. 이것이 범위가 46바이트인 이유입니다(이를 두 개의 주소와 유형 및 FCS에 추가하면 64바이트(46+6+6+2+4=64)가 됩니다).

프레임이 여러 VLAN을 지원하는 네트워크에 있고 VLAN 태그로 프레임에 태그를 지정해야 하는 경우 유형 필드 앞에 하나의 추가 필드가 추가됩니다. 이는 4바이트입니다. 이는 이제 페이로드 크기 범위가 하단에서 4바이트까지 줄어들 수 있으며 여전히 최소 64바이트를 가질 수 있음을 의미합니다. 따라서 42입니다. (따라서 vlan 태그의 경우 42+6+6+2+4 + 4 = 64)

따라서 범위가 1500-42로 기록되면 1500에서 42를 뺀 값을 의미하는 것이 아니라 1500에서 42바이트까지 유효하다는 의미입니다. 하나의 와이어에서 이 태그가 지정된 프레임은 최대 1522바이트(태그 하나만 사용되는 경우 또는 두 개의 태그가 사용되는 경우 1526바이트)까지 가능합니다. 이 중 어느 것도 숫자 1542를 설명하지 않습니다.

이 번호를 얻으려면 이더넷에서 프레임을 전송할 수 있는 방법을 고려해야 합니다. 이더넷 LAN에는 시계가 없으므로 시계를 설정하기 위해 프레임 송신기에서 일련의 1과 0을 보냅니다. 이것을 서문이라고 합니다. 모든 청취자가 서문 전체를 '듣는' 것은 아니지만 대부분은 일부만 듣게 됩니다. 프리앰블의 끝을 알리기 위해 전송된 마지막 8비트 중 하나가 반전되어 10101010 대신 10101011이 됩니다. 이 바이트를 SDF(Start of Frame Delimiter)라고 합니다. 이는 유선 캡처에 기술적으로 유용하지 않으므로 7바이트의 프리앰블과 1바이트 SDF는 일반적으로 계산되지 않지만 원래 1518이라면 이제 1526이 됩니다. 여전히 1542는 아닙니다.

프레임이 전송된 후 프레임 간 간격이라고 하는 와이어에 강제 침묵이 발생합니다. 이는 12바이트의 전송과 동일합니다. 이것도 계산되거나 캡처되지 않지만 만약 그렇다면 1538바이트가 됩니다. 이제 1538에서 1542로 가는 유일한 방법은 프레임에 태그가 지정되어 있다고 말하는 것입니다(즉, 4바이트 계획 태그가 포함되어 있음). 휴, 마침내 1542년이군요.

그것은 모두 용어에 있습니다. 표준 프레임은 전송 시 1518바이트입니다(캡처 장치에 관한 한). 태그가 지정된 프레임(단일 태그)은 회선에서 1522바이트입니다. 이는 회선에서 1538바이트 또는 1542바이트의 전송 공간을 차지합니다.

명확히하는 데 도움이되기를 바랍니다 ..

답변4

아니요, 조각화가 발생하기를 원합니다. 이것이 패킷을 조각화해야 하는 이유입니다. 그러나 df 세트는 전체 세미가 있는 양방향 고속도로와 여러 개의 소형 스마트 자동차가 있는 동일한 고속도로를 이렇게 선택합니다. 동일한 목적지 세미카는 더 많은 탑재량을 운반하지만 더 느리고 혼잡할 수 있습니다. 작은 차량은 더 적게 운반하지만 더 빠르게 이동합니다. MSS는 MTU와 동일하지 않습니다.

관련 정보