VoIP 대역폭 계산기 쉽게 이해하기 — 개념과 원리
인터넷 전화(VoIP) 한 통화에는 코덱의 표시 비트율보다 더 많은 대역폭이 필요합니다. 작은 음성 패킷마다 IP·UDP·RTP 헤더와 링크 계층 프레임이 붙기 때문입니다. 이 계산기는 대표적인 코덱의 오버헤드를 더해 통화 1건의 단방향 대역폭과, 동시 통화 수에 대한 양방향 합계 대역폭을 구합니다. 전화 시스템이나 콜센터의 인터넷 회선, WAN 회선, QoS 대기열 용량을 정할 때 쓰입니다.
계산 방법
- 초당 패킷 수: 패킷 하나에 20 ms 분량의 음성을 담으면 1 ÷ 0.020 = 초당 50개입니다.
- 패킷당 페이로드: 코덱 비트율 × 0.020초 ÷ 8입니다. G.711·G.722(64 kbps)는 160바이트, G.729(8 kbps)는 20바이트, 24 kbps Opus는 60바이트입니다.
- 회선 위 패킷 크기 = 페이로드 + 40바이트(IPv4 20 + UDP 8 + RTP 12) + 2계층 오버헤드
- 통화당 단방향(kbps) = 패킷 크기 × 8 × 50 ÷ 1,000
- 합계(Mbps) = 통화당 값 × 통화 수 × 2(양방향) ÷ 1,000
기본 2계층 오버헤드 38바이트는 회선 위 이더넷 전체로, 헤더 14, FCS 4, 프리앰블 8, 프레임 간 간격 12입니다.
원리
음성은 지연을 줄이려고 아주 작은 패킷으로 나눠 보내므로 헤더가 패킷에서 차지하는 비중이 큽니다. G.711에서는 IP/UDP/RTP 40바이트가 160바이트 페이로드에 25%를 더하고, G.729에서는 헤더가 페이로드의 두 배입니다. 통화는 양쪽이 동시에 계속 음성을 보내는 전이중 방식이므로 양방향 모두 용량이 필요합니다.
예제 풀이
- 입력: G.711 20 ms, 동시 통화 10건, 2계층 오버헤드 38바이트
- 패킷 크기: 160 + 40 + 38 = 238바이트
- 통화당 단방향: 238 × 8 × 50 = 95,200 bit/s = 95.2 kbps
- 합계: 95.2 × 10 × 2 = 1,904 kbps = 1.904 Mbps
- 같은 조건에서 G.729라면 (20 + 40 + 38) × 8 × 50 = 39.2 kbps입니다.
| 2계층 오버헤드 (바이트) | 통화당 단방향 (kbps) |
|---|---|
| 9.5 | 83.8 |
| 19 | 87.6 |
| 28.5 | 91.4 |
| 38 | 95.2 |
| 47.5 | 99 |
| 57 | 102.8 |
| 76 | 110.4 |
결과 해석
합계는 두 방향을 더한 값입니다. 대칭 회선이라면 방향마다 그 절반(여기서는 952 kbps)에 신호 트래픽과 다른 트래픽을 위한 여유를 더해 확보하면 됩니다. 여러 제조사 표에서 G.711을 87.2 kbps로 적는 것은 프리앰블과 프레임 간 간격을 빼고 헤더·FCS 18바이트만 셌기 때문입니다. 평균이 아니라 최대 동시 통화 수를 기준으로 설계하십시오.
흔한 실수
- 코덱 비트율 64 kbps만 잡고 헤더를 빼먹는 경우
- VPN, VLAN 태그, PPPoE가 패킷마다 바이트를 더 붙인다는 점을 잊는 경우
- 합계를 업로드 속도와 바로 비교하는 경우(방향별로 나눠야 합니다)
자주 묻는 질문
VoIP 통화 1건은 대역폭을 얼마나 쓰나요?
링크 오버헤드에 따라 G.711은 방향당 약 80~100 kbps, G.729는 약 30~40 kbps입니다.
패킷 간격을 늘리면 대역폭이 줄어드나요?
네, 30 ms로 늘리면 패킷 수와 헤더 오버헤드가 줄지만 지연은 늘어납니다.
대역폭만 충분하면 통화 품질이 좋은가요?
아닙니다. 지연, 지터, 손실도 똑같이 중요해서 음성 트래픽은 보통 QoS로 우선 처리합니다.
출처: IETF RFC 3550, RTP: A Transport Protocol for Real-Time Applications · ITU-T G.711, Pulse code modulation (PCM) of voice frequencies · ITU-T G.729, Coding of speech at 8 kbit/s using CS-ACELP