Credit-Based Shaper(CBS)는 SRP로 예약된 Ethernet AVB 스트림을 브리지가 실제로 내보낼 때 쓰는 트래픽 셰이핑 알고리즘으로, IEEE 802.1Qav가 규정한다 — 이 표준의 공식 명칭은 FQTSS(Forwarding and Queuing Enhancements for Time-Sensitive Streams)다[1].
FQTSS의 요건
FQTSS는 모든 포트가 최소 2개의 트래픽 클래스를 지원하도록 요구한다 — 그중 최소 하나는 프레임의 우선순위 그대로 내보내는 SP(Strict Priority) 알고리즘을 지원해야 하고, SRP로 예약되는 SR(Stream Reservation) Class 트래픽을 맡는 클래스는 CBS 알고리즘을 지원해야 한다. 두 전송 선택 알고리즘은 식별자로 구분되며 SP는 0, CBS는 1이다[1].
SR Class A·B
SR 트래픽은 두 등급으로 나뉘며, Class A가 Class B보다 높은 우선순위를 갖는다 — 두 클래스의 지연 목표는 7홉을 가정해 정해진다[1].
| SR Class | 지연 목표(7홉) | 전송 주기 |
|---|---|---|
| Class A | 2 ms | 125 μs(초당 8000 패킷) |
| Class B | 50 ms | 250 μs |
크레딧 메커니즘
CBS는 트래픽 클래스마다 크레딧(credit) 카운터를 두고, 이 값으로 전송 자격을 판정한다 — 크레딧이 0 이상일 때만 해당 클래스의 프레임을 전송할 수 있다. 프레임을 전송하는 동안에는 크레딧이 sendSlope 비율로 줄고, 전송할 프레임이 큐에 있지만 아직 전송하지 못하는 동안에는 idleSlope 비율로 늘어난다. 전송할 프레임이 없으면 크레딧은 0으로 고정된다. 두 기울기는 포트의 전송 속도(port transmit rate)와 예약된 대역폭으로 정해지며 다음 관계를 만족한다[1].
이 크레딧 누적·소진 구조는 예약된 스트림이 순간적으로 대역폭을 몰아 쓰지 못하게 막아, 같은 링크를 공유하는 다른 트래픽에도 전송 기회를 규칙적으로 돌려준다[1]. 이렇게 셰이핑된 스트림이 애초에 어떻게 예약되는지는 SRP에서 다룬다.