728x90
● QoS Token Bucket Algorithms 이란?
Cisco IOS Policer와 Shaper는 token bucket algorithm을 기반으로 합니다. 아래 항목은 알고리즘 동작에 사용하는 용어 입니다.
용어 | 약어 | 설명 |
Committed Information Rate | CIR | Policed Traffic Rate (정책에 적용받는 트래픽 비율) 이고 단위는 bps 입니다. 즉, 10Mbps를 보장받기로 했다면 CIR은 10Mbps 입니다. |
Committed Time Interval | Tc | 시간 간격동안 전달할 수 있는 Bc 이고 단위는 ms 입니다. 산출공식: Tc = (Bc[bit] / CIR[bps]) * 1000 |
Committed Burst Size |
Bc | Tc 시간 동안에 보낼 수 있는 최대 트래픽의 총량입니다. 해당 값은 전송 중인 트래픽에 포함된 가장 큰 사이즈의 패킷보다 같거나 커야 합니다. 산출공식: Bc = CIR * (Tc / 1000) |
Token | - | Single Token은 1 byte 또는 8 bit를 의미합니다. |
Token Bucket | - | Bucket은 토큰이 가득 담긴 양동이와 같습니다. 토큰은 사전에 정의된 숫자에 도달할 때 까지 계속 누적되며, 누적되는 속도는 CIR과 동일 합니다. 패킷의 크기만큼 버킷에서 토큰을 가져오며 토큰이 충분하지 않을 경우 아래 3가지 행위중 하나로 동작 합니다. - token bucket에 충분한 token이 누적 될 때 까지 패킷을 버퍼에 담아둠 (Shaping) - 패킷을 드랍 시킴 (Policing) - 패킷의 우선순위를 떨어뜨림 (Policing) |
● Single Token Bucket Algorithms
Single Token Bucket 동작 알고리즘
- 인터페이스 속도는 1G Interface를 사용하고 1500 Byte 연속적 트래픽 처리하는 상황 입니다. 해당 트래픽 클래스의 최대보장 대역폭은(CIR) 120Mbps 이고, 순간 최대로 전송할 수 있는 트래픽의 양(Bc)은 12Mbps 입니다.
Tc 산출 공식 | Tc 시간에 처리 가능한 패킷 수량 산출 공식 |
∴ Tc = Bc[bit] / CIR [bps] * 1000 ∴ Tc = 12Mbps / 120Mbps * 1000 ∴ Tc = 1/10 * 1000 = 100ms |
∴ X = Bc / Packet Size in bits ∴ X = 12,000,000 bps / 1500 byte * 8 (12,000 bit) ∴ X = 1000 packets |
1초에 처리 가능한 패킷 수량 산출 공식 | CIR 산출 공식 |
∴ Packet Per Second = Tc 시간에 처리 되는 패킷 수량 * Tcs ∴ Tcs = 1000ms (1초) / Tc = 10 Tcs ∴ PPS = 1,000 packet * 10 Interval = 10,000 pps |
∴ CIR = Packet Per Second * Packet size in bits ∴ CIR = 10,000 * 12,000 bit = 120,000,000 bit = 120Mbps |
Bc's Serialization Delay 산출 공식 | |
Delay = Bc[bits] / Interface Speed [bps] * 1000 Delay = 12 Mbps / 1000Mbps * 1000 Delay = 12,000,000 bps / 1000,000,000 * 1000 Delay = 12 ms |
Tc 시간 동안 1000개의 패킷 처리가 가능하고 1000개의 패킷을 초과할 경우 패킷 드랍 또는 마크다운 (우선순위 변경)이 발생하고 계산공식에 따라 1초 동안 처리가능한 패킷의 수량은 10,000개 처리가 가능 합니다.
Bc (1000 packet * 1500 byte 또는 12Mbps)가 Tc (100ms) 마다 전송되고, Bc 전송 이후 88ms (Tc 시간 - Serialization Delay, 100ms - 12ms) 패킷 사이의 지연이 존재합니다.
권장되는 Tc값의 범위는 8ms 부터 125ms 사이 입니다. 실시간 트래픽 전송을 위해서 Tc는 8ms ~ 10ms 사이가 되어야하며 Tc값이 125ms를 초과하게 되면 패킷사이 지연이 많이 발생하기 때문에 권장되지 않습니다.
728x90
'네트워크 > QoS' 카테고리의 다른 글
QoS Congestion Management & Avoidance (혼잡관리 와 혼잡회피 방법) (0) | 2022.05.20 |
---|---|
QoS Policing and Shaping (0) | 2022.05.04 |
QoS DiffServe 모델 동작 상세 (with DSCP, PHB) (0) | 2022.05.04 |
QoS Classification and Marking (범주화와 표시) (0) | 2022.04.28 |
QoS 3가지 수행 모델 (Best Effort, IntServ, DiffServ) (0) | 2022.04.15 |