Frame Preemption(IEEE 802.1Qbu·802.3br)은 진행 중인 저우선순위 프레임의 전송을 중단하고 고우선순위 프레임을 먼저 내보낸 뒤 중단된 프레임의 전송을 재개할 수 있게 하는 메커니즘이다[1]. Time-Aware Shaper의 게이트는 이미 전송 중인 프레임을 강제로 끊을 수 없어, 스케줄된 구간 직전마다 guard band를 두어 모든 저우선순위 큐를 미리 막아야 한다 — 이 우선순위 역전 문제를 풀기 위해 IEEE 802.1과 802.3 작업반이 공동으로 이 메커니즘을 만들었다[2].
eMAC·pMAC 구조
Frame Preemption은 브리지의 이그레스 포트를 두 MAC 서비스 인터페이스로 나눈다 — 고우선순위 익스프레스 트래픽을 맡는 eMAC(express MAC)과 저우선순위 선점 가능 트래픽을 맡는 pMAC(preemptable MAC)이다. 두 MAC은 MAC Merge Sublayer가 하나의 물리 링크로 합쳐 내보내며, 물리 계층(PHY)은 이 선점 동작을 전혀 인지하지 못한다[3]. pMAC 프레임이 전송 중이더라도 eMAC으로 보낼 프레임이 생기면 pMAC 프레임을 중단하고 eMAC 프레임을 먼저 완주시킨 뒤, 중단된 pMAC 프레임의 전송을 이어서 마친다[2].
프레임 조각화
중단된 pMAC 프레임은 여러 조각(fragment)으로 나뉘어 익스프레스 프레임과 뒤섞여 링크를 오간 뒤, 다음 홉의 MAC Merge Sublayer에서 원래 프레임으로 재조립된다 — 따라서 조각화는 링크 계층에서만 일어나고, 브리지 내부는 항상 완전한 프레임만 처리한다[2]. 조각은 시작 조각(SMD-Sx)과 이어지는 조각(SMD-Cx)으로 구분되며, 마지막이 아닌 조각은 그때까지 전송된 바이트의 FCS를 0xFFFF0000과 XOR한 값을 자신의 검사값(mCRC)으로 실어 이 프레임이 선점됐음을 표시한다[3].
조각으로 잘릴 수 있는 최소 크기는 설정 가능하며, 기본값인 64바이트(60바이트 데이터에 4바이트 검사 시퀀스)를 쓰면 123바이트보다 작은 프레임은 선점될 수 없다 — 앞 60바이트를 채 못 채운 첫 조각이나 마지막 63바이트만 남는 조각이 최소 크기에 못 미치기 때문이다[1][4].
Guard Band 단축
Frame Preemption을 적용하면 TAS의 guard band는 표준 이더넷 최대 프레임(1518~1522바이트) 전송 시간에서 선점 불가능한 최소 조각의 전송 시간까지 줄어든다 — 기본 설정 기준 최대 123바이트 전송 시간이다[4]. guard band가 짧아지는 만큼 저우선순위 트래픽이 링크를 쓸 수 있는 시간이 늘어나 네트워크 이용률이 개선되고, 스케줄을 더 촘촘하게 짤 수 있다[2].
Cut-through 릴레이와의 차이
Cyclic Queuing and Forwarding는 이 최소 조각 전송 시간을 이용해 자신의 주기 시간을 줄이는 방식으로 Frame Preemption과 결합된다[2].