Credit-Based Shaping

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.11
조회수
5
버전
v1

Credit-Based Shaping

Credit-Based Shaping(크레딧 기반 대역폭어)은 실시간 네트워크 통신, 특히 IEEE 8021Qav 표준에서 정의된 Time-Sensitive Networking(TSN) 환경에서 사용되는 대역폭 관리 기법 중 하나입니다. 이 기법은 특정 트래픽 클래스(예: 오디오/비디오 스트림)에 대해 예측 가능한 전송 지연대역폭 보장을 제공하기 위해 설계되었으며, 특히 비정기적인 트래픽이 실시간 트래픽에 미치는 영향을 최소화하는 데 목적이 있습니다.

Credit-Based Shaping은 전통적인 큐잉(Queuing) 방식과 달리, 시간 기반 스케줄링이 아닌 가상 크레딧(virtual credit) 시스템을 활용하여 대역폭을 동적으로 할당합니다.


개요

네트워크 환경에서 다양한 유형의 트래픽(예: 일반 데이터, 실시간 오디오/비디오, 제어 신호 등)이 동시에 전송될 경우, 대역폭 경쟁으로 인해 중요한 실시간 트래픽이 지연되거나 손실될 수 있습니다. 이를 해결하기 위해 개발된 TSN(Time-Sensitive Networking) 기술은 실시간성과 신뢰성을 보장하는 다양한 메커니즘을 포함하고 있으며, 그 중 하나가 Credit-Based Shaping(CBS)입니다.

CBS는 비정기적인 트래픽(asynchronous traffic)을 위한 대역폭 제어 기법으로, 오디오 비디오 트래픽(AV traffic)을 위한 클래스 A(Class A)와 클래스 B(Class B)에 적용됩니다. 이 기법은 각 트래픽 큐에 대해 크레딧(credit)을 부여하고, 이 크레딧이 양수일 때만 프레임 전송을 허용함으로써 대역폭을 제어합니다.


작동 원리

Credit-Based Shaping은 다음과 같은 핵심 개념을 기반으로 동작합니다:

1. 크레딧(Credit) 시스템

  • 각 큐는 가상 크레딧 값을 가지며, 이 값은 시간에 따라 증가하거나 감소합니다.
  • 크레딧이 양수 또는 0일 때만 프레임을 전송할 수 있습니다.
  • 크레딧이 음수가 되면 전송이 일시 중단됩니다.

2. 크레딧 변화율

크레딧은 두 가지 상태에서 변화합니다:

  • 전송 중(Sending): 크레딧이 감소 (감소율: [idleSlope](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EB%8C%80%EC%97%AD%ED%8F%AD%20%EC%A0%9C%EC%96%B4%20%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/idleSlope))
  • 대기 중(Idle): 크레딧이 증가 (증가율: [sendSlope](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EB%8C%80%EC%97%AD%ED%8F%AD%20%EC%A0%9C%EC%96%B4%20%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/sendSlope))

여기서: - idleSlope: 해당 큐가 전송 중이지 않을 때 크레딧이 증가하는 비율 (일반적으로 음수 값) - sendSlope: 해당 큐가 프레임을 전송할 때 크레딧이 감소하는 비율 (일반적으로 양수 값)

참고: idleSlopesendSlope는 ****(bit per second) 단위로 표현되며, idleSlope는 실제로는 음수 값이지만 절대값으로 취급됩니다.

3. 크레딧 한계

  • 최대 크레딧(hiCredit): 크레딧이 증가할 수 있는 최대값
  • 최소 크레딧(loCredit): 크레딧이 감소할 수 있는 최소값

이 한계값은 트래픽의 버스트(burst) 크기를 제어하며, 네트워크의 예측 가능성을 높입니다.


수학적 모델

크레딧 ( C(t) )는 시간 ( t )에 따라 다음과 같이 변화합니다:

[ C(t) = \begin{cases} C(t_0) + \text{idleSlope} \times (t - t_0) & \text{if idle, } C < \text{hiCredit} \ C(t_0) + \text{sendSlope} \times (t - t_0) & \text{if sending, } C > \text{loCredit} \end{cases} ]

여기서: - idleSlope = 네트워크에서 할당된 대역폭 (예: 75%) - sendSlope = 링크 속도 - idleSlope

예를 들어, 100Mbps 링크에서 Class A 트래픽에 75Mbps를 할당하면: - idleSlope = 75,000,000 bps - sendSlope = 100,000,000 - 75,000,000 = 25,000,000 bps


주요 파라미

파라미터 설명
idleSlope 대역폭 할당량 (bps). 크레딧이 증가하는 속도
sendSlope 전송 시 크레딧이 감소하는 속도 (bps)
hiCredit 최대 크레딧 한계 (버스트 허용 크기)
loCredit 최소 크레딧 한계 (일반적으로 0 또는 음수)

이 파라미터들은 네트워크 설계 시 트래픽의 특성(버스트 패턴, 평균 대역폭 등)에 따라 정해집니다.


장점

  • 예측 가능한 지연: 크레딧 기반 제어로 인해 최대 지연 시간을 계산 가능
  • 공정한 대역폭 공유: 여러 실시간 트래픽 간의 공정한 대역폭 분배
  • 버스트 제어: hiCredit 제한으로 인해 과도한 버스트 전송 방지
  • 하드웨어 구현 용이: 비교적 간단한 알고리즘으로 FPGA/ASIC에 구현 가능

한계 및 고려사항

  • 정확한 파라미터 설정 필요: 잘못된 idleSlopehiCredit 설정은 대역폭 낭비 또는 지연 증가를 초래
  • 정기적 트래픽에는 비효율적: 주기적인 실시간 트래픽에는 Time-Aware Shaper(TAS, IEEE 802.1Qbv)가 더 적합
  • 지연 변동성: 버스트 전송 시 최소 지연은 보장되나, 최대 지연은 여전히 존재

적용 사례

Credit-Based Shaping은 주로 다음과 같은 환경에서 사용됩니다:


관련 표준

  • IEEE 802.1Qav: Forwarding and Queuing Enhancements for Time-Sensitive Streams
  • IEEE 802.1Qbv: Time-Aware Shaper (CBS와 함께 사용됨)
  • IEEE 802.1Qcc: TSN 스트림 예약 및 구성 개선

참고 자료


Credit-Based Shaping은 실시간 네트워크에서 비정기적 트래픽의 대역폭을 효과적으로 제어하는 핵심 기술로, TSN 기반 인프라의 안정성과 예측 가능성을 높이는 데 기여하고 있습니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?