Cyclic Queuing and Forwarding(CQF)는 IEEE 802.1Qch가 규정하는 메커니즘으로[1], Peristaltic Shaper라고도 부른다[2].
Credit-Based Shaper(CBS)를 쓰는 FQTSS는 병리적인(pathological) 토폴로지에서 지연이 늘어날 수 있고, 최악 지연이 홉 수뿐 아니라 토폴로지 자체에도 좌우돼 스위치의 버퍼 요구량까지 토폴로지에 종속된다는 한계가 있다 — CQF는 각 브리지의 인큐·디큐 동작을 주기적으로 동기화해, 토폴로지와 무관하게 무손실·지연 상한을 보장하는 방식으로 이 한계를 해결한다[2].
짝수·홀수 주기 이중 버퍼링
CQF를 쓰는 브리지는 스트림마다 큐 두 개를 번갈아 쓴다 — 짝수 주기에는 한 큐가 프레임을 받아 채우고 다른 큐는 직전 주기에 채워둔 프레임을 내보내며, 홀수 주기에는 두 큐의 역할이 뒤바뀐다. 모든 브리지가 gPTP로 같은 시각 기준을 공유하기 때문에 이 전환이 네트워크 전체에서 맞물려 돌아간다[1][2].
홉당 지연 상한
한 주기에 도착한 프레임은 다음 브리지에서 늦어도 다음 주기 안에 나가도록 스케줄되므로, 한 홉을 지나는 데 걸리는 최악 지연은 주기 시간의 두 배를 넘지 않는다. 즉 네트워크 통과 지연은 오직 주기 시간과 홉 수만으로 완전히 결정되며, 토폴로지 파라미터나 다른 TSN 외 트래픽과는 무관하다[2].
Frame Preemption과의 결합
CQF는 Frame Preemption과 결합해 주기 시간 자체를 프레임 전체 전송 시간이 아니라 선점 불가능한 최소 조각의 전송 시간까지 줄일 수 있다. 다만 이렇게 짧아진 주기를 정확히 지키려면 모든 프레임이 정해진 주기 안에 도착·전송되도록 보장해야 하는데, IEEE 802.1Qci 수신단 정책(ingress policing)과 Time-Aware Shaper를 함께 적용하면 모든 프레임이 결정론적 지연 안에서 할당된 주기 내에 전송되도록 보장할 수 있다[2].