이더넷 프레임은 이더넷의 MAC(Medium Access Control) 부계층이 주고받는 데이터 단위다.[1][2] 프레임은 목적지 주소, 출발지 주소, 길이/타입, 데이터와 패드, FCS(Frame Check Sequence)로 이뤄지고, 매체로 보낼 때는 그 앞에 7옥텟 프리앰블과 1옥텟 SFD(Start Frame Delimiter)가 붙는다.[1][3]

필드

필드길이내용
프리앰블7옥텟수신 측이 뒤따르는 데이터에 동기를 맞추게 한다.[1][2]
SFD1옥텟프레임이 시작됨을 알린다. 매체에서 보이는 값은 10101011이다.[1][2]
목적지 주소6옥텟프레임을 받을 스테이션의 MAC 주소[1][3]
출발지 주소6옥텟프레임을 보낸 스테이션의 MAC 주소[1][3]
길이/타입2옥텟값에 따라 데이터의 길이나 상위 프로토콜의 종류를 나타낸다.[1][3]
데이터와 패드46~1500옥텟데이터가 옥텟이고 이면 패드를 채운다.[1][3]
FCS4옥텟목적지 주소부터 패드까지를 덮는 32비트 CRC[1][3]

IEEE 802.3-2022는 송신할 때 MAC 부계층이 프레임 앞에 프리앰블과 SFD를 붙이고, 수신할 때 MAC 부계층이 SFD까지의 앞 비트를 버리도록 정한다.[4] STM32F107의 이더넷 MAC은 송신할 때 10101010 패턴을 7바이트 되풀이한 프리앰블과 SFD를 만들어 붙이고, 수신할 때 떼어 낸다.[1]

IEEE 802.3-2022는 목적지 주소부터 FCS까지를 MAC 프레임으로, MAC 프레임 앞에 프리앰블과 SFD를 붙이고 물리 계층에 맞게 부호화한 것을 패킷으로 정의해 둘을 구분한다. 이 표준은 물리 계층마다 매체 위에서 전송의 시작과 끝을 표시하는 부호를 따로 정한다. 100BASE-X에서는 SSD(Start-of-Stream Delimiter)가 코드 그룹 /J/K/이고 ESD(End-of-Stream Delimiter)가 /T/R/이며, 송신할 때 프리앰블의 첫 8비트를 SSD로 바꾸고 수신할 때 되돌린다. 100BASE-T1에서는 SSD와 ESD가 저마다 삼진 심볼 쌍 세 개로 이뤄지며, (0, 0)이 세 번 이어지면 SSD, (0, 0), (0, 0), (1, 1)이면 ESD다.[4]

Microchip AN1120에 따르면 프레임 크기에는 보통 프리앰블과 SFD를 넣지 않는다.[2] 태그 없는 프레임의 길이는 최소 64옥텟, 최대 1518옥텟이다.[1][2]

IEEE 802.3-2022는 데이터 필드의 최대 크기로 태그 없는 프레임의 1500옥텟, VLAN 태그를 단 프레임의 1504옥텟, envelope 프레임의 1982옥텟 셋을 두고, 구현이 그 가운데 하나 이상을 지원하도록 정한다. envelope 프레임은 상위 캡슐화 프로토콜이 덧붙이는 앞뒤 정보를 담기 위한 것으로, 원래 데이터의 최대는 1500옥텟 그대로이고 캡슐화 프로토콜이 482옥텟까지 더할 수 있다. 이 표준은 더한 옥텟을 다른 용도로 쓰는 것을 권하지 않는다.[4] KSZ9477S는 모든 포트에서 64바이트(VLAN 태그 제외, FCS 포함)보다 작거나 최대 크기보다 큰 프레임을 받으면 버린다. 최대 크기는 기본 1518바이트이고, 9000바이트까지의 jumbo 프레임을 받도록 설정할 수 있다.[5]

Microchip AN1120에 따르면 반이중 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)에서는 충돌이 모든 노드에 감지되기까지 망 전파 시간의 약 두 배가 걸리고, 이 시간을 충돌 창(slot time)이라 한다. 최소 프레임 크기는 이 충돌 창과 같게 정해졌다.[2]

IEEE 802.3-2022는 충돌 창 이 물리 계층의 왕복 전파 시간 와 MAC의 최대 jam 시간 에 대해 을 만족하도록 정한다. jam은 충돌을 감지한 스테이션이 충돌이 다른 송신 스테이션에도 감지될 만큼 이어지도록 보내는 비트열이다. 1000 Mbit/s 반이중에서는 최소 프레임 크기만으로 CSMA/CD가 제대로 동작하기에 모자라므로, MAC이 충돌 창보다 짧은 프레임 뒤에 확장 비트를 붙여 송신이 적어도 충돌 창 동안 이어지게 하고, 확장 비트를 보내는 동안에도 충돌을 감시한다.[4]

이 표준은 반이중에서 충돌이 없을 때 가장 짧은 유효 전송이 충돌 창 이상이어야 하고, 버스트 안에서는 첫 프레임이 충돌 창 이상, 이어지는 프레임이 최소 프레임 크기 이상이어야 한다고 정한다. 그보다 짧은 것은 충돌로 생긴 조각으로 보아 수신 측이 버리고, 버린 것을 오류로 알리지 않는다. 전이중에서는 충돌이 생기지 않지만, MAC은 최소 프레임 크기보다 짧은 프레임을 마찬가지로 버리고 오류로 알리지 않는다. 이 표준은 리피터 관리 속성 aRunts가 충돌 없이 끝난 캐리어 이벤트 가운데 아주 짧은 이벤트보다는 길지만 옥텟 수가 64보다 적거나 유효 패킷의 최소 길이에 못 미치는 것을 세도록 정한다.[4]

이 표준은 받은 MAC 프레임이 maxFrameSizeLimit보다 크면 MAC이 수신 상태를 frameTooLong으로 하고, 계층 관리를 구현했으면 aFrameTooLongErrors로 세도록 정한다. maxFrameSizeLimit는 1518옥텟, 여기에 Q 태그 앞머리 4옥텟을 더한 값, envelope 프레임의 최대 크기 2000옥텟 가운데 하나이고, 이 표준은 새 구현에 envelope 프레임의 최대 크기를 쓰기를 권한다.[4]

길이/타입

길이/타입 필드의 값 는 이면 데이터 필드의 옥텟 수이고[1][3], (0x0600)이면 EtherType이다.[1][2] EtherType은 데이터 필드에 실린 상위 프로토콜을 가리키며, IEEE 등록 기관이 신청을 받아 배정한다.[6] 예를 들어 0x0800은 IPv4, 0x86DD는 IPv6, 0x0806은 ARP다.[7]

IEEE 802.3-2022는 길이 해석과 타입 해석이 서로 배타적이라고 정한다. 이 표준은 길이/타입 값이 1500보다 큰 프레임을 관리 속성 aOutOfRangeLengthField로 세도록 정한다. IEEE 802.3x-1997 전에는 타입 필드를 단 프레임도 이 카운터를 올렸지만, 타입 필드를 정식으로 인정한 뒤로 그런 프레임은 정상 수신 프레임으로 세므로, 이 카운터는 인 프레임에서만 오른다.[4]

IP 캡슐화

RFC 894는 이더넷 위의 IP(Internet Protocol) 데이터그램을 타입 방식으로 싣도록 정한다. 타입 필드 값은 0x0800이고, 데이터 필드에는 IP 헤더와 그 뒤의 데이터가 바로 들어간다. 데이터 필드가 최소 46옥텟에 못 미치면 0인 옥텟으로 채우며, 이 패드는 IP 패킷에 들지 않는다.[8]

RFC 1042는 IEEE 802 네트워크 위의 IP 데이터그램과 ARP 메시지를 IEEE 802.2 LLC(Logical Link Control) Type 1의 UI(Unnumbered Information) 형식에 SNAP(Sub-Network Access Protocol) 확장을 붙여 싣도록 정한다. DSAP(Destination Service Access Point)와 SSAP(Source Service Access Point)는 SNAP에 배정된 전역 값 170, 제어 필드는 3이고, SNAP의 24비트 조직 코드는 0이며, 나머지 16비트에 EtherType이 들어간다. LLC와 SNAP 헤더가 8옥텟을 차지하므로, 10BASE5의 최대 프레임 1518옥텟에서 MAC 헤더와 트레일러 18옥텟을 빼면 IP 데이터그램에 남는 것은 1492옥텟이다.[9]

RFC 1122는 10 Mbit/s 이더넷 케이블에 연결된 인터넷 호스트가 RFC 894 캡슐화로 패킷을 보내고 받을 수 있어야 하고(MUST), RFC 894 패킷 사이에 섞여 오는 RFC 1042 패킷을 받을 수 있어야 하며(SHOULD), RFC 1042 캡슐화로 보낼 수도 있다(MAY)고 정한다. 두 캡슐화로 모두 보낼 수 있는 호스트는 어느 쪽으로 보낼지 고르는 설정 스위치를 두고, 그 기본값을 RFC 894로 해야 한다. 이 RFC는 이더넷의 MTU(Maximum Transmission Unit)를 1500, IEEE 802.3의 MTU를 1492로 둔다.[10]

VLAN 태그

VLAN 태그를 단 프레임은 출발지 주소와 길이/타입 필드 사이에 4옥텟의 태그를 넣고, 태그의 첫 2옥텟은 0x8100이다. 태그를 단 프레임의 최대 길이는 1522옥텟이다.[1][2] 0x8100은 IEEE 802.1Q가 정한 C-TAG(Customer VLAN Tag)의 EtherType으로 등록되어 있다.[7] 태그의 필드는 VLAN에서 다룬다.

IEEE 802.1Q-2022의 Annex G(참고)는 태그를 단 IEEE 802.3 프레임의 예로 MAC 클라이언트 데이터가 42~1500옥텟인 형식을 제시한다. 이 Annex는 브리지가 IEEE 802.3 MAC으로 태그 프레임을 보낼 때의 최소 길이로 두 방식을 제시한다. 최소 프레임 크기를 64옥텟으로 그대로 두면 태그 없는 프레임에 태그를 달 때 패드가 최대 4옥텟 줄고, 태그 프레임의 최소 길이를 68옥텟으로 두면 태그를 달거나 뗄 때 패드를 고치지 않아도 된다. 이 Annex는 이 때문에 모든 장치가 68옥텟보다 짧은 태그 프레임도 제대로 다룰 수 있어야 한다는 결론을 제시한다. 또 태그를 떼어 64옥텟보다 짧아지는 프레임은 브리지가 패드를 늘려 64옥텟을 맞추고, 태그를 달아 대상 MAC의 최대 PDU(Protocol Data Unit) 크기를 넘는 프레임은 그 포트로 보내지 않고 버리는 동작을 제시한다.[11]

프레임 사이 간격

송신 측은 보낸 프레임과 다음 프레임 사이에 유휴 간격을 두며, 이 간격을 IPG(Inter-Packet Gap)나 IFG(Inter-Frame Gap)라 한다.[1][2] IEEE 802.3-2022는 모든 MAC 데이터율에서 IPG의 최소값을 96비트 시간으로 두고, 송신 측은 구현상 필요하면 이보다 긴 간격을 쓸 수 있다.[4] Microchip AN1120은 IPG로 10BASE-T에서 9.6 µs, 100BASE-TX에서 960 ns를 제시하며, 두 값은 각 방식의 96비트 시간이다.[2] STM32F107의 이더넷 MAC은 송신 프레임 사이의 최소 IFG를 96비트 시간부터 40비트 시간까지 8비트 시간 단위로 고르며, 리셋 값은 96비트 시간이다.[1]

[1]
“RM0008 Reference manual: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm-based 32-bit MCUs,” STMicroelectronics, 2021. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20260827132512/https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
[2]
“AN1120: Ethernet Theory of Operation,” Microchip Technology Inc., 2008. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/en/AppNotes/01120a.pdf
[3]
“ENC28J60 Stand-Alone Ethernet Controller with SPI Interface,” Microchip Technology Inc., 2012. Accessed: Sep. 26, 2026. [Online]. Available: https://ww1.microchip.com/downloads/en/DeviceDoc/39662e.pdf
[4]
IEEE, “IEEE 802.3-2022 IEEE Standard for Ethernet.” 2022. Accessed: Sep. 26, 2026. [Online]. Available: https://standards.ieee.org/ieee/802.3/10422/
[5]
“KSZ9477S 7-Port Gigabit Ethernet Switch with Ring Redundancy, SGMII and RGMII/MII/RMII Interfaces,” Microchip Technology, 2019. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/KSZ9477S-Data-Sheet-DS00002392C.pdf
[6]
IEEE Registration Authority, “EtherType.” 2026. Accessed: Sep. 29, 2026. [Online]. Available: https://standards.ieee.org/products-programs/regauth/ethertype/
[7]
IEEE Registration Authority, “EtherType Public Listing.” 2024. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20240112103605/https://standards-oui.ieee.org/ethertype/eth.txt
[8]
IETF, “RFC 894 A Standard for the Transmission of IP Datagrams over Ethernet Networks.” 1984. Accessed: Sep. 29, 2026. [Online]. Available: https://www.rfc-editor.org/rfc/rfc894
[9]
IETF, “RFC 1042 A Standard for the Transmission of IP Datagrams over IEEE 802 Networks.” 1988. Accessed: Oct. 06, 2026. [Online]. Available: https://www.rfc-editor.org/rfc/rfc1042
[10]
IETF, “RFC 1122 Requirements for Internet Hosts — Communication Layers.” 1989. Accessed: Sep. 26, 2026. [Online]. Available: https://www.rfc-editor.org/rfc/rfc1122
[11]
IEEE, “IEEE 802.1Q-2022 IEEE Standard for Local and Metropolitan Area Networks–Bridges and Bridged Networks.” 2022. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260521151713/https://standards.ieee.org/ieee/802.1Q/10323/